この国では、初心者がぱいそんに手を出すと磔にされ火あぶりにされる
はい、おはようございます。僕です。今日もゴミみたいな人生を送っていきましょう。僕はブログを書くことはアウトプットでもなければ、思考整理でもない、継続の証明でもなければ努力の証でもない、ただ "今日まで生きてしまった記録" ぐらいにしか思ってません。そう、無です。常々『はやくインターネットをやめて首吊って死ねばいいのに』なんて思考がぐるぐるとめぐっています。でも実際問題それは正しいことだと思うのです。僕みたいな人間は生きていちゃいけないと思うのです。この世界は上級国民様のために存在していて、僕みたいな下層民は上級国民様の目の届かないところでひっそりと野垂れ死ぬのがこの世の理なのです。つらいね。
さて、そんな話はさておきましてつい先日プログラミングは「数学的知識」よりも「言語能力」と「問題解決能力」が重要とかいう文章を見かけたのです。第一印象は一部の人達の琴線に触れそうな内容だなって感じでした。ですので、どんな内容か気になったので元ネタを読んでいこうと思います。
コレ
www.nature.com
アブストしか意味わかんねww。
検証方法が何やっているのかさっぱりだった。出てきている用語心理学用語っぽいんだよね。その辺の前提知識持ち合わせてないから全然わからんぽよ。ただ、「はてブで議論されているような高尚なことやって得られた結果ではないのでは」っていうのが僕の個人的におもうところ。まあ知らんけど。でもね、個人的にこの実験、アプローチは面白くて「プログラミングの学習過程は成人期の第二言語取得の学習過程に同じである」という仮定のもと実験やってるんですよね。面白くないですか?もしそうなら、プログラミング できるんなら第二外国語の勉強も同じようにできんじゃねみたいにいけるわけです。一回の勉強で第二外国語とプログラミング 言語が覚えられちゃう、お得(?)。
あ……、面白くないですね。
終了
ということでアブストしかわかんなかったんでよくある「いかがでしたか?よくわかりませんでした?」系投稿より酷いので実験に使ったとされるCodecademyのPython講座をやってみたいと思います。
www.codecademy.com
なお僕は例のごとく金欠なんでフリープランしかやりません。んでフリープランだとPython2系しかできなかったんでそれを…
やりました。Python3系が有料なのわかってますね……。
あ、Python2系なんですけど2020年1月にすでにサポート終了してますのでご注意ください。
Sunsetting Python 2 | Python.org
ネットにつながないで機械学習や組込で遊ぶ分には2系もワンチャンあるみたいな情報も見かけますが僕は知りません。つまりですね。今これをやるメリットがあるのかと聞かれると困る。
やってみた
カリキュラムはこんな感じです。
んで、内容はこんな感じです。問題を解くごとに先に進めるアンロック方式で進めていくタイプっぽいですね。
左の画面が解説やヒント、指示書になります。真ん中が実際に指示書のコードを書く画面。左がコンソール画面、主に実行結果の表示に使います。
んでなこの指示書の方なんですけどね。
コレの場合ですと
・Point3Dクラスをつくれ
・その中に__init__メソッドをつくれ。コンストラクタはx, y, z
をつかえ。とself
。
・メンバ変数はself.x, self.y, self.z
をつかえ。
・__repr__メソッドをつくれ。中身(返り値)は"(%d, %d, %d)" % (self.x, self.y, self.z)
。
・クラス外でx = 1,y = 2,z = 3
としてインスタンスを呼び出せ。変数にはmy_point
をつかえ。
・print
で結果を確認せよ
みたいなこと書いてあるんですよね。ほぼ何やるか書いてあるものから実装するので思考力というより国語問題って感じがして……。もし上の実験の内容がこのようなことに基づいた結果というのならなんだかなあって思うのでした。ただ、途中にある関数問題のレッスンとかは自作の関数を作って○○する結果を返す関数をつくれって問題もあるのでどうなんだろうね。まあその辺はちゃんと論文を読めって話なわけですなわけです。
実際のところどんなことやったんでしょうね。いかがでしたか?よくわかりませんでした。オチはひどい。
おわり