体験希望がありました~IFのわな~
8月21日の水曜日のクラブ活動は、メンバーの8割の出席でした。そして、一名の体験希望がありました。
メニュー
- 18時00分~18時30分 タイピング練習
- 18時40分~19時50分 ゲームプログラミング(それぞれの進捗で)
- 19時50分~20時00分 あとかたづけ
タイピング練習
タイピング練習は通常の練習に加えて、矢印キーの練習をしました。
今回の体験希望者は、自宅でパソコンの使用経験があるということでした。タイピングも、マウスの操作も特に問題ないレベルです。
ただし、タッチタイピングについて教わったことがないということ。こういう方には、タッチタイピングの仕組みを伝えると、驚くほどの上達をします。
体験メニュー+アルファ
体験メニューは、いつもの通り下のメニューを実体験検してもらいます。
- タッチタイピング練習
- 矢印キーまたはマウスの練習
- Scratchで多角形を描くプログラム体験
- Pythonで多角形を描くプログラム体験
まったくパソコンを触ったことがない人だと、このメニューをこなすと時間いっぱいになります。しかしながら、今回は多少なりとも経験があるということで、さらに追加で難しい図形をPythonで書いてみました。
さらに、パラメーターを変えてみて、どのように図形が変わるか、色々試してみました。
試すときは、どのような図形が画面に表示されるかを想像しながら試すのが大切です。「やった、なった」ではプログラムは上達しません。これを自然と実践しているところが素晴らしいと思います。
IFのワナ
他のメンバーはIF文を学びながら、かんたんな実践プログラムを作っていました。
以前にも書いたように、IF文はプログラムにとって大変重要な要素です。
ところが、複雑な条件分岐をIF文で書くと、プログラム全体が大変読みにくくなります。
私自身の経験で、かつて職場でとんでもないIF文多用のクソコードを書いた覚えがあります。今ならうまく書けるのにな~と思いつつ、出向先のことなのでもはや叶いません。おそらくわたしがいなくなって、すぐに陳腐化しているはず。
さて、IF文を使わず条件分岐を実装するのはテクニックがいります。これはそのうち紹介します。
for文をどう考えるか?
もうひとつプログラムの重要な要素である、繰り返しについて気づきがありました。どうしても繰り返し構文が苦手なメンバーがいて、一緒に考えていました。このメンバーは、Excelは問題なく使いこなします。ところが、プログラムの繰り返し構文だけが苦手なのです。
話していて気づいたのは、Excelは時間の概念がないこと、プログラムは時間の概念が必要で、時間の流れによってコードが実行されていくことです。どうやら時間的に刻々と値や状態が変わっていくことが難しいようです。
このあたりを意識しながら、一緒に上達を目指します。