プログラミングを教えててよく分かるのは、ちゃんと論理的な思考が出来ているかどうかを計る道具として非常に有用だということ
口先だけで乗り切ってきた人はプログラミングを教えてもちゃんと理解してくれない
知識化するときに表面上だけを理解することに慣れきってしまっていて
だからプログラミングを教えて新しい物を作らせようとすると全然作れない
例えば
def hoge(a, b): c = a + b return c def gaga(a, b): print("Hello ", a, b)
っていうソースがあったとして、gagaっていうメソッドをhogeの演算結果が表示されるように変更してみよう、っていうことをさせると
def gaga(a, b): print("Hello ", a, b, c)
って答える。
もちろんスコープとか名前空間とか、そもそもそれが生まれてきた経緯とかメソッドの意味とかはちゃんと教えてるんだけど
それでも理解してくれない
この問題に関して正解を教えると、この問題は解けるようになるが、しばらくすると似たようなミスを連発する
一方で論理的な思考が出来る子は全然分野違いから来てる子でもそんな間違いはしない
頭の中を整理して理解しているからなのか、とんでもない間違いはほぼない
入試とか面接だと両者の区別は付かないし、下手したら普段の業務でも顕在化しなかったりするんだけど
しばらく一緒に仕事をしたりすると
「あ、なんかそもそもを分かってない」
っていう子はプログラミングができない
プログラミングができるぐらいで「俺は頭がいい」とか勘違したり、自慢してるやついる? プログラミングなんて本当は簡単なのに、素人相手にマウンティングしてるだけ? 情報学科の...
折角だから聞いておきたいんだけど def gaga(a, b): print("Hello ", hoge(a, b)) こう答えたら何点取れるの
その言語、初心者にローカル変数をイメージさせるのに向いてない気がする。 int hoge(int a , int b){ int c = a + b; return c:} (defun hoge(a b) (let ((c (+ a b))) c)) わかりやすい。