プログラミング基礎・用語集・体験
【サイト内の関連ページ】
- プログラミングのページ
(1) 導入読み物
- プログラミング
スライド資料: [PDF], [パワーポイント], [HTML]
動画: [MP4]
- さまざまなプログラミング言語
スライド資料: [PDF], [パワーポイント], [HTML]
動画: [MP4]
- Pythonの基本:オブジェクト、メソッド、変数
スライド資料: [PDF], [パワーポイント], [HTML]
動画: [MP4]
- Python 言語によるとても簡単なアドベンチャーゲーム
【要約】Python標準機能のみで作るテキストアドベンチャー。変数、if、whileからglobal文まで、基礎を単一ファイルで学べます。WindowsやColabでの環境構築手順も網羅しています。
- Python による簡単なドライブゲーム
【要約】Pythonとpygameによる擬似3Dドライブゲーム。手続き的に無限生成される道路を通じ、描画ループや状態管理、波形データ生成など実践的なゲームプログラミング要素を習得できます。
- Rust が未来を変える! プログラミングの新常識とは?
【要約】安全性と速度を両立するRust言語の入門。コンパイル時にメモリの誤りを防ぐ「所有権」「借用」の仕組みを解説し、LinuxやDiscordでの大規模な採用事例とともに紹介しています。
- Scratch プログラミング,Scratch のキャラクタ
Scratch はビジュアルにプログラミングを学習するもの.日本語表示可能.
Scratch のページ: https://scratch.mit.edu/
スライド資料: [PDF], [パワーポイント], [HTML] (同じ内容, クリックしてダウンロード)
動画:
[MP4]
演習
[クリックにより中身が表示されます]
以下の演習では,説明部分で学んだプログラミングの概念を各自が実践する.演習① Scratchの開始・ブロック操作
説明パートの1-4「プログラムとは」「イベント駆動」「順次実行」「ブロック操作の基本」に対応する演習である.Scratchを起動し,イベントブロックと動きブロックを組み合わせて,キャラクタを動かす最小限のプログラムを作成する.「旗が押されたとき」というイベントに「10歩動かす」という動作を接続する操作を通じて,イベント駆動と順次実行の基本を体験する.
前提スキル:Webブラウザの操作,URLの理解.ドラッグ操作(左ボタンを押しながら移動し,左ボタンを離す).
操作手順
- Webブラウザを起動する.
- Webブラウザで https://scratch.mit.edu/ を開く.
- 「作ってみよう」をクリックする.
- 「イベント」をクリックし,「旗が押されたとき」をドラッグする.
- 「動き」をクリックし,「10歩動かす」をドラッグし,「旗が押されたとき」と合体する.
- 旗ボタンをクリックする(キャラクタが少し右に動く).旗ボタンを数回クリックしてみよう.
観察と考察
- 旗ボタンを1回クリックしたとき,キャラクタはどの方向にどれくらい動いたかを観察する.
- 旗ボタンを繰り返しクリックすると,キャラクタの位置はどう変化するかを観察する.
- 「旗が押されたとき」ブロックは,旗ボタンのクリックとプログラムの実行開始を結びつける役割を持つ.もしこのブロックがなく「10歩動かす」だけが置かれている状態で旗ボタンをクリックしても,プログラムは実行されない.このことから,イベントブロックが「いつ実行するか」を決める起点であることが分かる.
- 「10歩動かす」の数値「10」をクリックして「50」に変更し,旗ボタンをクリックして移動量がどう変わったかを観察する.ブロック内の数値がキャラクタの動作量を制御していることが分かる.確認後,数値を「10」に戻す.
演習② キャラクタ・スプライト
説明パートの1-5「キャラクタの基本」「スプライト(キャラクタ画像)」に対応する演習である.新しいスプライトを追加し,追加したキャラクタに対して個別にブロックを組み立てる.キャラクタごとに独立したプログラムを持つというスプライトの基本的な仕組みを確認する.
操作手順
- スプライト一覧(画面右下)の猫のアイコンにカーソルを合わせ,「スプライトを選ぶ」をクリックする.
- 好きなキャラクタを選ぶ.
- 新しいキャラクタを選んでから,演習①と同様に「旗が押されたとき」と「10歩動かす」のブロックを組み立てる.
- 旗ボタンをクリックするとキャラクタが動く.何度かクリックしてみよう.
観察と考察
- 旗ボタンをクリックしたとき,演習①のキャラクタと演習②で追加したキャラクタの両方が動くかどうかを観察する.
- ステージ下のスプライト一覧で,キャラクタをクリックして切り替えると,それぞれのキャラクタのためにブロックの組み合わせが表示されることを確認する.この動作から,プログラムはキャラクタごとに独立していることが分かる.
演習③ キャラクタの制御
説明パートの1-6「①繰り返し」「②もし・・・たら,・・・する(条件分岐)」「③強制停止」に対応する演習である.「ずっと」ブロックによる繰り返し,「もし端に着いたら,跳ね返る」ブロックによる条件分岐,赤ボタンによる強制停止を組み合わせて,キャラクタが自動的に動き続けるプログラムを作成する.さらに「右に15度回す」ブロックを追加し,動きの初期方向を変更する効果を確認する.
操作手順
- 演習②で追加したキャラクタが選ばれていることを確認する.
- 「制御」を選び「ずっと」をドラッグして,「10歩動かす」を囲むように合体する(「10歩動かす」が「ずっと」の中に入る形になる).
- 「動き」を選び「もし端に着いたら,跳ね返る」をドラッグして,「ずっと」の中の「10歩動かす」の下に合体する.
- 旗ボタンをクリックするとキャラクタが動く.赤ボタンをクリックすると止まる.
- 赤ボタンをクリックして止めてから,「動き」の「右に15度回す」を「旗が押されたとき」と「ずっと」の間に加える.
- 旗ボタンをクリックするとキャラクタが動く.赤ボタンをクリックすると止まる.動き始めの瞬間に15度傾く.
観察と考察
- 「ずっと」ブロックを使う前(演習①)と使った後で,旗ボタンをクリックしたときの動作の違いを観察する.演習①では1回クリックするとキャラクタは1回だけ動いて止まるが,「ずっと」を加えると動き続ける.この違いから繰り返しの効果を確認する.
- キャラクタが画面の端に到達したとき,跳ね返って反対方向に動き続けることを観察する.「もし端に着いたら,跳ね返る」ブロックが,端に到達したかどうかを判定し,到達した場合に方向を反転させている.
- 赤ボタンをクリックしたときに動きが止まることを確認する.「ずっと」で永久に繰り返すプログラムは,赤ボタン(強制停止)で外部から停止できることが分かる.
- 「右に15度回す」ブロックの配置場所(「旗が押されたとき」と「ずっと」の間)に着目する.このブロックは旗ボタンを押した直後に1回だけ実行され,「ずっと」の中の処理が始まる前にキャラクタの向きを変える.ブロックの並び順が実行順序を決めるという原則を確認する.
演習④(余裕のある人向け)
説明パートの1-4「ブロックの形状と合体ルール」,1-5「キャラクタの操作」,1-6すべてに対応する活動である.演習①~③で学んだブロック操作,スプライト管理,繰り返し,条件分岐を組み合わせ,各自の工夫により自由にプログラムを作成する.ブロックの形状による合体ルールを手がかりに,未使用のブロックにも挑戦する.
操作手順
- 各自で工夫する.
- いろいろな動きを試す.
- 複数のキャラクタを同時に動かす.
- たくさんの種類のブロックを試す.同じ形のブロックは合体できる(六角形ブロックは六角形の穴にはめ込む).
観察と考察
- 複数のキャラクタにそれぞれ「旗が押されたとき」から始まるプログラムを作り,旗ボタンをクリックしたときに全キャラクタが同時に動き始めるかどうかを確認する.
- ブロックパレットにあるブロックの形状を観察する.上下に凸凹があるブロック,口の形に開いたブロック,六角形のブロックなど,形状の違いによって合体できる場所が決まることを確認する.
- 自分が作ったプログラムについて,どのブロックがどの動作を担当しているかを説明できるか振り返る.
- Scratch の変数
スライド資料: [PDF], [パワーポイント], [HTML]
動画:
[MP4]
- ノーコードでのアプリ制作 - AIツールを組み合わせたWebアプリケーション開発
【要約】プログラミング未経験者を対象に、チャットAIやGoogle AI Studio等を用いてコードを書かずにWebアプリを設計・制作し、公開するまでの手順を解説しています。
(2) 各言語の用語集
- Pythonプログラミング用語集
【要約】Pythonに特化したプログラミング用語集です。基本概念からデータ型、メモリ管理、記号やキーワードまで、豊富なコード例と共に網羅的に解説されています。
- Rustの技術解説と用語集
- C/C++プログラミング用語集
- Javaプログラミング用語集
- R システムの機能一覧
【要約】Rの主な特徴:Rでは,長さの異なるベクトル同士でも演算できる(短い方を繰り返し使用)。ただし長い方の長さが短い方の整数倍でないと,実行時エラーになる。
- Octave の使い方まとめ:インストール,数値計算,統計,ファイル入出力
【要約】Octaveは「MATLABに互換」といわれる数値計算向けプログラミング言語で、行列演算や統計計算、テキストファイル入出力(CSV等)を扱える。
【要約】Rustの技術解説と用語集です。所有権や借用などの特有機能から、並行性やエラー処理まで、体系的かつコード例付きで解説しています。
【要約】C/C++の変数やポインタ等の基礎から標準ライブラリ、演算子までを五十音順に整理したリファレンス。学習時の参照や実務での確認用資料として、具体的なコード例と共に有用な情報がまとまっています。
【要約】Java特有のオブジェクト指向概念(クラス、継承など)や基本構文について解説する用語集。初学者のプログラミング学習や、実際の開発時におけるリファレンスとして活用できる資料です。
(3) オンライン実行・体験環境
- PythonTutor のURL:https://pythontutor.com
- JavaTutor のURL:https://pythontutor.com/java.html
- OnlineGDB の URL: https://www.onlinegdb.com/
- https://visualgo.net/ja で公開されている VisuAlgo
- Scratch のページ: https://scratch.mit.edu/
【要約】Python、Java、C等に対応し、ブラウザ上でコードの実行過程をステップごとに視覚化できる学習ツールです。変数やデータ構造の変化をアニメーションで確認でき、コードの理解を深めるのに役立ちます。
【要約】Python TutorのJava専用ページです。Javaコードをステップ実行し、変数や配列、オブジェクトの状態を視覚的にデバッグできます。AI Tutorによるコード解説機能も利用可能です。
【要約】C、C++、Java、Pythonなど多数の言語に対応したオンラインコンパイラ兼デバッガです。ブラウザ上で直接コードの記述からコンパイル、実行、ブレークポイントを設定したデバッグまで行えます。
【要約】ソートや木構造、グラフなどのデータ構造とアルゴリズムの動作をアニメーションで視覚化して学習できるサイトです。自分で入力データを与えて動作を確認したり、練習問題で知識を試すことも可能です。
【要約】ブロックを組み合わせて直感的にプログラミングができるプラットフォームです。初学者から視覚的にアルゴリズムを学び、ブラウザ上でオリジナルの作品を作成し、世界中のユーザーと共有できます。