プログラミング演習
第1章から順に読み,例のコードを右側で実行してください。結果を予想してから実行し,説明と比べると理解を確かめられます。
各節では「知識 → そのまま演習 → 解説 → 虫食い → 解説」の順に学びます。各章末には10問の演習があります。
- 第1章 プログラミングとは何か
- 第2章 順次処理と print
- 第3章 変数とデータの扱い
- 第4章 条件分岐とテスト
- 第5章 繰り返し処理
- 第6章 リストとデータ構造
- 第7章 CSVとファイルの扱い
- 第8章 データ処理フローの統合
- 第9章 関数・引数・テスト
- 第10章 文字列・辞書・集合・内包表記
- 第11章 実行環境・ファイル・モジュール
- 第12章 イテレータ・再帰・計算量
- 第13章 クラスとオブジェクト
- 第14章 数値計算・可視化・機械学習
サンプルデータ
はじめに
はじめに
本書は,プログラミングをこれまで一度も経験したことのない人のための教科書です.むずかしい数学の知識も,特別な才能も必要ない.必要なのは,ものごとを順番に 考えること,そして,うまくいかないときに「どこでつまずいたのか」と落ち着いて 見直すこと,それだけです.
いまの世の中では,医療の現場でも,教育の現場でも,たくさんの「データ」が生まれて います.患者の検査の数値,子どもの成長の記録,毎日の気温,アンケートの結果……. こうしたデータを手作業で集計するのは大変であるが,コンピュータに手順を 教えてやれば,面倒な計算をあっという間に,しかも正確にこなしてくれます.その「手順の 教え方」がプログラミングです.
本書では,Python(パイソン)というプログラミング言語を用います.Python は 世界中でもっとも広く使われている言語のひとつであり,文章のように読みやすく,初めて 学ぶ人にとても向いています.
本書の特徴は次のとおりです.
短いプログラムだけを扱う.長くて読めないプログラムは出てきません. ひとつの例題は,コメントを入れても20行以内におさめてあります.
身近な題材を用います.テストの点数,身長や体重,気温,買い物の おつりなど,だれもが想像できる場面で考えます.
つまずきやすいところを先回りして説明します.「よくある間違い」を 知っておけば,こわくありません.
各章は「身近な場面から考える → 例題を見る → 1行ずつ理解する → つまずきポイントを確認する → 要点をまとめる」という流れで 進みます.あせらず,手を動かしながら,一歩ずつ進んでいこう.
実行結果を確かめ、コードを説明する学び方
まず自分で処理を予想し、コードを書いて実行します。正誤診断で結果を確かめた後は、なぜその結果になるかを自分の言葉で説明します。生成AIへのレビュー依頼も、動くかどうかと処理の理由を確かめる練習として行います。
Google Colabで同じコードを実行します
Google Colabは、ブラウザからPythonを実行できるノートブックです。ノートブックにはコードを実行するセルと、説明を書くテキストのセルがあります。Google公式のColab説明も参照できます。
- Google Colabを開き、Googleアカウントでログインして、「ファイル」から新しいノートブックを作り、例えば「演習B_第1回_自分の名前」のように回と名前が分かる名前を付けます。
- コードのセルに、この教材で自分が書いたコードをコピーします。セル左の実行ボタンを押すか、Shift+Enterで実行します。新しいセルは「+コード」で追加します。セルの下に表示される結果を教材側のコンソールと比べます。
- 複数のセルを使うときは、変数や関数を定義するセルを先に実行します。前に実行したセルの変数が残っていると、必要な定義を書き忘れても動く場合があります。ランタイムを再起動してから上から順に実行し、再現できることを確かめます。
- CSVを使う課題では、教材のサンプルデータをダウンロードし、Colabのファイル領域へアップロードします。コードに書いたファイル名とアップロードした名前を一致させます。実行環境が変わればファイルも再配置が必要です。
- コード、実行結果、処理の説明を保存します。この教材へのログ提出は、教材画面の公開鍵を使う提出機能で行います。Colabに移しただけでは教材の操作ログは提出されません。
自分のコードを生成AIにレビューしてもらいます
章末演習を1問解いたら、最初のコードと実行結果を保存し、次の手順を行います。AIの指摘は正しいとは限らないので、採用した変更は自分で検証します。
- 問題文の入力、必須構文、禁止事項、出力形式をまとめます。自分のコードと実行結果を添えて、改善点の理由を質問します。
- 次の依頼文を参考にします。コードの答えを丸ごと受け取る前に、原因を説明してもらいます。
この課題の条件と私のコードを照合してください。動作の正しさ、読みやすさ、できている点、次に改善する1点を確認してください。境界値で起こる問題も説明してください。完成コードを最初から提示せず、修正すべき行とその理由を示してください。必須構文と出力の改行・空白を守っているかも確認してください。
- 指摘を「採用する」「採用しない」「まだ判断できない」に分け、それぞれ理由を書きます。意味を説明できない修正は、そのまま提出しません。
- 採用する指摘を1つずつ修正し、正誤診断の全ケースを実行します。入力のある課題では境界値も試し、変更前後の結果を比較します。AIの提案が課題の禁止事項に反していたら、その提案は採用しません。
- 最初のコード、AIへの依頼、指摘、自分の判断、修正後のコードと実行結果を記録します。個人名や実在の患者などのデータは使わず、教材のサンプルデータで確認します。
振り返り:「どの行を、なぜ変えたか」「どのケースで確かめたか」「AIの指摘で採用しなかったものと理由」を説明してください。コードが動くことと、自分が処理を理解していることを両方確かめます。
各回を終えたら、5段階で自己評価します
各回のミニ課題に相当する章末演習を1問選び、次の基準で今の自分の状態を記録してください。正誤診断の合否と、自分だけで再現できるかという評価を分けて考えます。
| 評価 | 今の状態 | 次の学習 |
|---|---|---|
| 5 | 資料を見ず、新しいノートブックで同じ種類の課題を自分で再現できます。 | 次の回へ進みます。第8回の後は全体を振り返り、身近なデータで試します。 |
| 4 | 手順メモがあれば、自分で再現できます。 | メモを保存して次へ進みます。後でメモなしでもう一度試します。 |
| 3 | 一部に迷いはありますが、おおむね自分で書けます。 | 迷った行とその理由を記録し、次へ進んだ後も短い例で復習します。 |
| 2 | 流れは分かりますが、自分だけで再現するのは難しいです。 | 下の「評価2の復習先」で、コードを自分で入力してもう一度確かめます。 |
| 1 | 最初からもう一度取り組みたいです。 | 下の「評価1の復習先」へ戻り、1項目ずつ実行して確認します。 |
AIとのやり取りを学習記録として保存します
各回の最初から最後までのAIとのやり取りを、Markdown形式の学習記録へまとめてください。AIの説明、自分の返答、問題文、最初のコード、実行結果、レビュー、採否の理由、修正後のコードと再実行結果、5段階の自己評価と次の学習を含めます。AIへ要約を依頼した場合も、コード・出力・レビュー・自己評価が省略されていないか自分で確認してください。
記録の冒頭へ、授業名と回、日付、学籍番号、氏名を書きます。授業へ提出する記録には学籍番号と氏名が必要ですが、外部のAIへのレビュー依頼に個人情報を含める必要はありません。確認したMarkdownをテキストエディタへ貼り付け、学籍番号_氏名.mdという名前で保存します。例えば、架空の学生ならB1234567_香川太郎.mdとなります。授業担当者が指定した方法で提出してください。
2種類の記録を区別してください。この教材の公開鍵で暗号化するZIPは、教材での実行・編集・診断などの操作ログです。AIとの会話は自動でそのZIPへ入るものではありません。AI対話のMarkdownは別に保存します。Colabのノートブックを保存しただけでも、操作ログやAIとの会話の提出は完了しません。