新着Pick
7Picks
Pick に失敗しました

人気 Picker
この記事の例を例えると、main関数に手続きをベタ書きしているような気分になります。

プログラミングを教育を設計するのは結構大変なのですが、少なくとも下記は教えたい。
・すべてが「計算」で動いているという概念。WordやExcelも中のプログラムは計算しているだけですと言って納得できるか。
・計算機には常に誤差がつきまとうこと。「パソコンが計算しているのだから精度は常に100%」ではない。
・同じ問題を解くのにもアルゴリズム(計算手法)によって雲泥の差が出ること。すなわちアルゴリズムの設計が大事であること。
・クラスや関数など、必要な機能をなるべく汎用性を保ちながら細分化していく手法。
・自分が実現したいと思っていることをif, for/whileなどのフローで正しく表現できるようにすること
・他人が開発した「ライブラリ」を使いこなすこと。

(その他、too muchだとは思いますが)
・デバッグ
・プロファイリング
・バージョン管理
・チームによるコーディング
・他者への公開・管理
これは本来目指すべきプログラミング教育ではありません。
学校現場の気持ちやスキルに寄り過ぎると、本来の目的を見失った実践が起こってしまう、その典型例です。
善意からこういう発信をしているからこそ、問題の根が深いのです。
プログラミングとは創ること。
創る喜びを得る技がプログラミングです。
楽しんで欲しいなぁ。