プログラム上達の早道は写経
2023年9月22日(金)は、ほぼフルメンバーの参加でした。
- 18時00分~18時25分 タイピング練習
- 18時25分~18時55分 各自の課題
- 18時55分~19時00分 5分休憩
- 19時00分~19時50分 各自の課題
- 19時50分~20時00分 あとかたづけ
メンバーがそろっていたので、座学をしようかとも考えました。しかしながら、新メンバーが最初の導入部分を終わっていないので見送りです。もう少しプログラムに慣れてもらってから、少しずつ座学をします。
タイピング練習
今回のタイピングの練習は、英語入力です。使う教材は、下のサイトのWebアプリです。
https://manabi.benesse.ne.jp/gakushu/typing/
メンバーのタイピングの正タイプ率が90%弱~97%で、最近特に上昇が顕著です。実用的には、正タイプ率が95%くらいあるとタイピングが苦になりません。いくら入力速度が速くても、間違いが多いとそのたびに消さないとならないからです。
この調子だと、年内に全員100字90%オーバー狙えるかも。
各自の課題
各自の課題は、ものづくりチームとゲームづくりチームに分かれて取り組みます。
新メンバーは引き続き、導入メニューとしてRaspberryPi Pico(ラズPico)で入門プログラムに取り組みます。
LEDの明るさを変えるプログラム
今回は、導入メニューの最初に取り組んだLチカを改良します。LEDの明るさを無段階に変えるプログラムを作ります。このプログラムが完成すると、ホタルのようにじわっと光ったり消えたりするようにLEDを点滅できます。
これには、PWMという技術を使います。PWMとは、Pulse Width Modulationのことで、ラズPicoを使ったプログラムではこれから色んな場所で出てきます。たとえば、モーター制御もPWMを使います。
ちなみに、取り組んだLチカプログラムの一部は下記のとおりです。これは、ラズベリーパイ財団公式のコードです。
import time
from machine import Pin, PWM
pwm = PWM(Pin(25))
pwm.freq(1000)
for i in range(10):
print(i)
duty = int(255 / 10 * i)
pwm.duty_u16(duty * duty)
time.sleep(1)
ゲームづくりは写経
今回はじめて紹介するのは、ゲーム作りチームの取り組みです。
ものづくりチームと違って、ゲーム作りチームは見た目が地味です。下の写真は、メンバーが100行くらいコードで動くゲームを作っているところです。腕を組んで、なにか考えているよう。
タイトルのとおり、プログラムの上達の一番の近道は写経をすることです。写経とは、お手本のプログラムをとにかく写すこと。あたかもお経を書き写すように思えることから、俗に「写経」といいます。
プログラム中身の理解はとりあえず置いて、どのようにプログラムを書くのかに注力します。ひたすら写経を続けていると、コードの意味もわかってきます。ちなみに私の場合はVBですが、学生時代に写経で覚えました。
写真右にある紙にゲームのコードが書いてあって、一字ずつ入力していきます。意味も分からず写経をするのはかなりつらいけれど、プログラムが動いたときの感動は忘れられません。がんばれ!