情報基礎A-2(2020年度)
このページは、情報基礎A 「アカデミックスキル:コンピュテーショナルシンキングおよびデータリテラシ」について 学ぶことを目的として開設しています。内容は随時更新されますのでご注意ください。
配布資料や毎回の課題などについては、Google Classroomの「情報基礎A」を参照してください。 Classroomにログインしたら、「ストリーム」だけでなく、「授業」の内容も確認すること。
授業中、よくわからない点などがあったら、 大福帳 やClassroomに書き込んでください。 不適切な書き込みをした者に対しては厳重に対処しますので、くれぐれもご注意ください。
情報基礎A(アカデミックスキルII・III) 期末レポート課題
(この授業はすべて終了)
このコースに関係する教材や資料
- Python入門(2020年度版)(ウェブ教材)
- 「情報基礎」オンライン授業情報
- 亀場でプログラミング(補助教材)
- 『情報基礎』講義参考資料(東北大関係者限定)
- 参考書:『コンピュテーショナル・シンキング』磯辺他(共立出版,2016) 税別1500円
- Linuxコマンドの使い方(PDF)
- 情報教育システムの使い方
すでに終了分の授業
DAY 0 / June 17, 2020
目標=自己チェック項目
- Google Colabを使ってPythonのコードの入力と実行、PCとのファイルのやり取りなどの基本的な操作ができるか。
参照する教材
- 講義動画1
- ステップ1(その1):ソフトの基本操作
- 自宅にICL演習室に近い環境を整える(オプション:自分のPCでLinuxを試す場合)
- ステップ1(その1):ソフトの基本操作(オプション:自分のPCにソフトをインストールする場合)
- 「亀場」を使うための準備(オプション:グラフィックスに興味のある学生向け)
この授業の成果物
- 西暦の日付から曜日を算出するPythonコードを実行し、動作を確認する。
- データファイルを使った例題(ハクチョウの画像)を実行し、動作を確認する。
- 各自のパソコンやGoogle Driveに、今後の演習用のファイルを保存するためのフォルダを作成する。
- 大福帳.jsにサインアップし、この授業に登録する。動作確認を兼ねて、ひとことメッセージを記入してみる(6月18日夜まで)。
DAY 1 / June 24, 2020
目標=自己チェック項目
- コンピュテーショナル・シンキングとはどのような考え方なのか、説明できるか。
- 問題解決の手順(アルゴリズム)とPythonコードの対応関係を把握できたか。
参照する教材
この授業の成果物
- 確認課題:カードの「山」の移動の解説中のサンプルプログラム( hanoi.py)を動作させ、 カード(授業の説明ではコイン)を実際に動かして結果が正しいか確認する。
- 大福帳に、今回の授業のまとめと質問・コメントを記入する(6月25日夜まで)。
復習課題と翌週の準備
- 「クラス投票」の方法を考案し、Classroomで提出(締め切り:6月30日)。
- 例題1(ex1.py)と例題2(ex2.py)を写経し、動作を確認する(予習用説明動画)。
DAY 2 / July 1, 2020
目標=自己チェック項目
- Pythonのソースプログラムを記述する際の基本的な作法や、プログラムの定型を、述べられるか
- 画面出力、キーボードからの数値入力、基本的な演算と変数の操作を伴ったアルゴリズムを、Pythonでコーディングできるか
- 平方根などの数学関数を、プログラムの中でどのように記述すればよいか
参照する教材
この授業の成果物
- 画面に「花文字のP」を表示するプログラムを作成し動作を確認する
- 【確認テスト】 変数と式の計算・代入操作の確認テスト(Classroom)を行う
- 「べき乗の計算」プログラムを作成し動作を確認する
- 大福帳に、今回の授業のまとめと質問・コメントを記入する(7月2日夜まで:今回からClassroom上の「課題」に大福帳は加えていませんが、忘れず記入すること)。
復習課題と次週の準備
- 復習課題: ヘロンの公式を使って三角形の面積を求めるコードを完成させる(ファイル名
herons-formula.py
Classroomで提出(ファイルとして添付)) - 例題3(ex3.py)を写経し、動作を確認する
- ウェブ教材を確認の上、例題3の予習用解説動画(YouTube)を視聴する。
DAY 3 / July 8, 2020
目標=自己チェック項目
- 分岐のあるアルゴリズムをif文の二つの定型パターンに当てはめて考えることができるか
- 分岐の条件を、式や変数を使ってどのように表現すればよいか
- if文を組み合わせて、より複雑な分岐構造を表現できるか
- 込み入った条件式(AかつB、AまたはB、〜でない、等)を記述できるか
参照する教材
この授業の成果物
- 2次方程式の「重根(余力があれば虚数解)に対応できるプログラム」を作成する
- 「選択処理」の確認テスト(Classroom)を行う
- 復習課題の準備として、「数値の並べ替え」のコードを作成してみる
- 大福帳に、今回の授業のまとめと質問・コメントを記入する(木曜夜まで)
復習課題と次週の準備
- 復習課題:「三角形の分類」プログラムを作成し、ファイル名
classify-triangle.py
でClassroomを使って提出する(火曜17時まで) - 例題4a(ex4a.py)を写経し、動作を確認する。加えて、予習動画を視聴する。
DAY 4 / July 15, 2020
目標=自己チェック項目
- 繰り返しのあるアルゴリズムをfor文の基本パターンと対応づけられるか
- 色々なバリエーションの「総和」をプログラム化できるか
参照する教材
- 講義動画1
- 講義動画2
- ステップ4:繰り返しのある処理
- ステップ5:多重ループ処理(次回の予習)
この授業での成果物
- 「奇数の和」と「階乗」の計算プログラムを、それぞれ作成する
- Classroomで、「反復処理の確認テスト」を行う
- 確認課題: 「ゼータ関数」のプログラムを作成し動作を確認する
復習課題と次週の準備
- 復習課題: 「べき乗の計算」プログラムを完成させ、火曜までにClassroomで提出する(ファイル名:
power-n.py
) - 例題4b(ex4b.py)、および 例題5(ex5.py)を写経し、その動作を確認する。予習動画 (例題4b, 例題5) を視聴しておく。
DAY 5 / July 22, 2020
目標=自己チェック項目
- 条件が満たされるまで反復する処理の流れを理解し、記述できるか
- 二重になったループ処理の流れをイメージし、変数の変化と関連づけられるか
参照する教材
この授業での成果物
- 反復処理についての確認テスト(Classroom)を行う。
- 確認課題: 「ローンの返済」のプログラムを作成し、動作を確認する。
復習課題と次週の準備
- 復習課題: 「逆向きの三角形」のプログラムを作成し、7/28 17時までにClassroomで提出する(ファイル名:
upside-down.py
)。
技量に応じて、別バージョンを最大2つ提出してもよい(その場合は、ファイル名をupside-down-1.py
,upside-down-2.py
とすること)。 - 例題8a(ex8a.py)、 および 例題8b(ex8b.py)を写経し、その動作を確認する。予習動画を視聴する。
DAY 6 / July 29, 2020
目標=自己チェック項目
- 配列変数の宣言、代入や操作を的確に記述し、プログラムの中で利用できるか
- 配列を使った基本的なデータ操作、特に、データの入れ替えや検索のアルゴリズムを理解し、プログラムで表現できるか
参照する教材
この授業での成果物
- Classroomで、「配列の確認テスト」を行う
- 「リストの内容の反転」のPythonコードを作成し、動作を確認する。
復習課題と次週の準備
- 復習課題: 「データのカウント」のコードを8/4までにClassroomで提出する(ファイル名:
count-data.py
) - 例題9a(ex9a.py)および例題9b(ex9b.py)を写経し動作を確認する。その予習動画を視聴する。
DAY 7 / Aug. 5, 2020
目標=自己チェック項目
- バブルソートのアルゴリズムを理解し、Pythonのコードに反映できるか
- 総和のパターンと配列計算を使った基本的な統計量(平均、分散、中央値)の求め方を理解し、Pythonのコードとして表現できるか
参照する教材
- 講義動画1
- 講義動画2
- ステップ7:配列(基本的なデータ処理)
- 期末レポートに関係した教材
この授業での成果物
- 例題9aをもとにして、「データの整列(降順)」のコードを作成し、動作を確認する。
- 確認課題: 「平均とメジアン」のコードを作成し、動作を確認する。
復習課題
- 復習課題: 「標準偏差の計算」のコードを8/11までにClassroomで提出(ファイル名:
calc-std-dev.py
)
DAY 8 / Aug. 12, 2020
前回の宿題の答え合わせと、期末レポートについてのヒントを、Meetで行います。詳しくはClassroomを参照のこと。