福野泰介の一日一創 - create every day

大事なのはアルゴリズム、プログラミングの学び方、IchigoJam BASIC リファレンス

2015/04/15
#IchigoJam #KidsIT #senior 

子供の頃の愛読書は、MSX BASICやZ80アセンブラのリファレンス(仕様書)。IchigoJam BASIC 0.9.9 とバージョン1直前、一度整理してみました。2点のこだわり、A4一枚で印刷できる量と学びやすい順番。ただし、プログラミングというスキルは、プログラミング言語だけを学んでいては身につきません。


IchigoJam BASIC リファレンス 0.9.9 / PDF版

大きく初級コマンドと上級コマンドに分け、理解しやすそうな順に並べています。自分で自分の好きなプログラムを改造したり、自分で1から創ってして、1KBの容量を使い切る経験(Out of memory)をするくらいまでが初級卒業の目安。自分で工夫し解決できる上級にステップアップしましょう。

1. LEDとボタンでコンピューターを支配すべし(初級)
1-1. LED 目の前のLEDをコマンドによって付けたり消したりコントロール
1-2. WAIT ワンコと一緒、「待て!」と命令
1-3. LED 1:WAIT 60:LED 0 1秒付けて消す
1-4. コンピューターに記憶させる行番号
1-5. RUN (ファンクションキーF5) で実行
1-6. LIST (ファンクションキーF4) 記憶したものを呼び出す
1-7. GOTO でひっさつくりかえし!
1-8. END を入れるとそこで終了
1-9. IF BTN() END ボタンを押したら終了に

2. 画面をコントロールする(初級)
2-1. NEW まっさらからやりなおし
2-2. PRINT 画面に表示するコマンド
2-3. LOCATE 好きな場所に表示させよう
2-4. CLS 画面をきれいに
2-5. RND ランダムな場所に表示させよう
2-6. SAVE プログラムを保存しよう
2-7. LOAD 読みだしてみよう

3. サウンドをコントロールする(初級)
3-1. BEEP 音を鳴らしてみよう
3-2. PLAY 音楽を奏でよう、止めよう
3-3. TEMPO テンポを変えてみよう

4. 便利な計算プログラム(初級)
4-1. 計算させてみよう(+-*/)
4-2. あまりを求める % 4-3. 括弧でくるむと先に計算
4-4. LET 変数を使おう
4-5. INPUT キーボードから変数に記憶させる

5. ゲームづくりに使えるコマンド(初級)
5-1. TICK 時間を使う
5-2. CLT 時間カウンターをリセット
5-3. INKEY キーボード入力を使う
5-4. CHR$/ASC 押されたキーを調べる
5-5. SCROLL 画面を上下左右にスクロール
5-6. 画面上のパターンを取得する

6. プログラミングテクニックを磨こう(初級)
6-1. いろいろなIF文
6-2. AND/OR/NOT 高度なIF文
6-3. REM メモを書いておこう
6-4. FOR/NEXT 回数を指定してくりかえし

7. プログラム、1KBの限界に挑む(上級)
7-1. CLV まとめて初期化
7-2. ABS 絶対値とは?
7-3. 配列
7-4. GOSUB/RETURN で、プログラムを短く!
7-5. FREE/VER 空きメモリとバージョン番号
7-6. RENUM 行番号の付け直し支援
7-7. LRUN/FILE ファイル間連携
7-8. SLEEP 一旦休止
7-9. VIDEO 画面表示を止めてプログラムに全力投球

8. ロボットの頭をプログラミングする(上級)
8-1. PEEK/POKE キャラパターン、メモリを直接いじる
8-2. CLP キャラクターパターンを元に戻す
8-3. ANA 温度センサーや可変抵抗をつないでアナログ入力実験
8-4. OUT 出力実験
8-5. IN デジタル入力実験
8-6. 16進数と2進数
8-7. ビット演算

9. 高度な使い方(上級)
9-1. BPS シリアル転送速度を変える
9-2. I2C デバイスと接続しよう(デバイス仕様書の読み方)
9-3. USR マシン語呼び出しコード(Arm Cortex-M0 ハンドアセンブル入門)

上記、英語と同様、一気に単語(=コマンド)だけ覚えてもプログラマーとは呼べません。覚えたコマンドでいろいろ創って、自分のモノにする時間を適宜挟むことが大切です。課題に対し、どう解決するか悩んで編み出す手順のことをアルゴリズムと呼び、それをプログラミング言語で表現したものをプログラム、それが出来る人をプログラマーと呼びます。使うプログラミング言語が変わっても、アルゴリズムを生み出す力は共通です。

プログラマーとは、問題解決の手順を知っているだけでなく、実践できる人間を言います。
「コンピューターは思考の自転車である by スティーブ・ジョブス」
Computers are like a bicycle for our minds. Steve Jobs

プログラミング言語の学習用につくられた「BASIC」
コンピューター社会を生きる、大人の方にもオススメです。

参考リンク
- Long Tail World: ジョブズ「コンピュータは自転車」(動画):Steve Jobs - Computers are like a Bicycle for Our Minds
- こどもパソコンIchigoJam

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image