前回はAWSを使用したプログラミングや全過程で一つのシステム(プログラム)を完成させる学習方法のデメリットについてお話しました。
今回は、ではどのような学習方法が効果的なのかを解説しましょう。
設計図のない建築物はありません。
今のほとんどのプログラミングスクールはフローチャート(流れ図)を教えないし、作らせません。流れ図とはプログラムの設計図で、実務でも金融関係や民間企業用の大規模なシステムの場合は、ほとんどが要件定義書(文書による設計図)と流れ図を作った後にプログラムを打って(コーディング作業)完成させます。
これは実に当たり前のことで、設計図を書かないで作る建築物はありせんよね。
設計図が書けないという事は建築物を構想し作れないとうこと。
ですから、流れ図を習わずに、さらに書かずにプログラミングをする教育は大工仕事を習うのと同じです。
札プロのプログラミング学習では次のような内容を必ず学びます。
- 流れ図の書き方
- 各種の流れ図の仕組み(アルゴリズム)を理解する
- 流れ図を書いてプログラミング実習課題のプログラムを作る
現在は関数やクラスといった部品プログラムを多数作って完成させる『オブジェクト指向プログラミング』の時代なので、設計図は流れ図だけでは事足りず、UML図も使用しますが、もちろんそちらも指導しています。
実は流れ図を学習しないとプログラムを作れるようにならないのです。
「このようなプログラムを作りなさい」
と言っても、全体の姿・構造を思い浮かべられないのです。
プログラムとは「最初に何をさせ、次に何をさせ、さらにこれをさせて、最後にこれをさせて終わる」という、コンピュータにさせる仕事を順番に並べた計画書、指示書ですが、それを思い浮かべられないのです。
つまりシステムを作れないわけです。
文法事項を習う度に、実習課題をこなすべき
次に、ある文法事項、変数、IF文(分岐命令)、繰り返し構造(While文・for文)といった文法事項を習う度に、それを使用した実習課題を易しいものから難しいものまで、何個も作らなくてはいけません。これらは、絶対に前回の実習課題の継続や追加であってはいけません。
そうすることによって、色んな種類のプログラムを自由に作れるようになる訳です。
言ってみれば作曲と同じで、色んなタイプの曲を作る練習をすべきです。
全課程で一つの交響曲を作のでは話にならないのはこういう理由からです。