情報基礎A-2(2017年度)
このページは、情報基礎A-2 「アカデミックスキル:コンピュータサイエンスによる論理的思考と問題解決」について 学ぶことを目的として開設しています。内容は随時更新されますのでご注意ください。
配布資料や毎回の課題などについては、ISTUシステムの「情報基礎A」を参照すること。
授業中、よくわからない点などがあったら、教員やTAに尋ねることはもちろん、 大福帳 に書き込んでください。 不適切な書き込みをした者に対しては厳重に対処しますので、くれぐれもご注意ください。
情報基礎A-2 期末レポート課題
DAY 7 / August 2, 2017
目標=自己チェック項目
- バブルソートのアルゴリズムを理解し、Cのコードに反映できるか
- 総和のパターンと配列計算を使った基本的な統計量(平均、分散、中央値)の求め方を理解し、Cのコードとして表現できるか
参照する教材
- ステップ7:配列(基本的なデータ処理)
- 配列を使ったソーティング
- 最小二乗法:プログラミング / 理論
この授業での成果物
- 例題9aをもとにして、「データの整列(降順)」のコードを作成し、動作を確認する。
- 確認課題1: 「平均とメジアン」のCコードを、授業時間中にISTUで提出する(ファイル名:
rakuten-stat.c
) - 確認課題2(兼・復習課題): 「標準偏差」のCコードをISTUで提出する(ファイル名:
calc-std-dev.c
)
復習課題
- 復習課題: 「標準偏差」のCコードを8/3までにISTUで提出(ファイル名:
calc-std-dev.c
)
DAY 8 / August 4 (Fri), 2017
この回の出席はカウントしませんし、授業中の提出課題もありません。 最終レポートの補足説明と、残りは質問の対応と自習に充てます。 AAを狙っている人、レポートのヒントが欲しい人は是非参加してください。
このコースに関係する教材や資料
- 情報基礎のためのC言語入門(2017年度版)(ウェブ教材)
- 亀場でプログラミング(補助教材)
- 情報基礎A講義ノート(PDF)
- 教科書:『コンピュテーショナル・シンキング』磯辺他(共立出版,2016) 税別1500円
- Linuxコマンドの使い方(PDF)
- 情報教育システムの使い方
すでに終了分の授業
DAY 1 / June 14, 2017
目標=自己チェック項目
- Linux環境でファイルやディレクトリの基本的な操作ができるか。
- C言語のプログラム開発において、編集(エディット)、コンパイル、実行の各ステップで、コンピュータの内部でどのような動作が行われているか、イメージすることができるか。具体的に、どのように操作すればよいか。
- 問題解決の手順をアルゴリズムとして的確に記述することができるか。
参照する教材
- ステップ1:プログラミングへの準備
- ステップ2:プログラムの基本形と入出力(次週の予習用)
この授業の成果物
- 西暦の日付から曜日を算出するCプログラムをコンパイルし、動作を確認する。
- Cプログラミングの実習用のフォルダー(ディレクトリ)を各自で準備する。
- 確認課題:N枚のカードの順序を反転するのアルゴリズムを記述したテキストファイル(ファイル名:
reverse-n-cards.txt)
を授業時間中にISTUで提出する。
復習課題と次週の準備
- パソコンを所持している者は、ICL演習室に近い環境を自習環境を整えるを参考に、各自で設定しておくことを推奨。
- 「3枚のカードの整列」のアルゴリズムを作成し、ISTUで提出(締め切り:6月20日)。提出物はテキストファイル(ファイル名:
sort-3-cards.txt
)とする。 - 例題1(ex1.c)と例題2(ex2.c)を写経し、コンパイルして動作を確認する。
- 併せて、例題1と例題2についての解説動画(ISTU)を視聴する。
DAY 2 / June 21, 2017
目標=自己チェック項目
- Cのソースプログラムを記述する際の基本的な作法や、プログラムの定型を、述べられるか
- 画面出力、キーボードからの数値入力、基本的な演算と変数の操作を伴ったアルゴリズムを、Cでコーディングできるか
- 平方根などの数学関数を、プログラムの中でどのように記述すればよいか
参照する教材
この授業の成果物
- 画面に「花文字のC」を表示するCプログラムを作成し動作を確認する
- 確認テスト: 変数と式の計算・代入操作の確認テスト(ISTU)を授業中に行う
- 「べき乗の計算」プログラムを作成し動作を確認する
- 確認課題: ヘロンの公式を使って三角形の面積を求めるCプログラムを完成させる(ファイル名
herons-formula.c
。授業時間中にISTUで提出)
復習課題と次週の準備
- 復習課題: 「桁の入れ替え」のCプログラム作成し、ファイル名
swap-digits.c
で、ISTUで提出。 - 例題3(ex3.c)を写経し、コンパイルして動作を確認する
- ウェブ教材を確認の上、例題3の解説動画(ISTU)を視聴する。
DAY 3 / June 28, 2017
目標=自己チェック項目
- 分岐のあるアルゴリズムをif文の二つの定型パターンに当てはめて考えることができるか
- 分岐の条件を、式や変数を使ってどのように表現すればよいか
- if文を組み合わせて、より複雑な分岐構造を表現できるか
- 込み入った条件式(AかつB、AまたはB、〜でない、等)を記述できるか
参照する教材
この授業の成果物
- 2次方程式の「虚数解にも対応できるプログラム」を作成する
- 「選択処理」の確認テスト(新ISTU)を行う(授業中)
- 「数値の並べ替え」プログラムを作成する
- 確認課題: 「三角形の分類」プログラムを作成し、ファイル名
classify-triangle.c
で授業中に新ISTUを使って提出する
復習課題と次週の準備
- 復習課題:「三角形の面積計算(チェック付き)」プログラムを作成し、
ファイル名
herons-formula-v2.c
でISTUで提出する(7/4まで)。 - 例題4a(ex4a.c)を写経し、コンパイルして動作を確認する。加えて、予習動画を視聴する。
DAY 4 / July 5, 2017
目標=自己チェック項目
- 繰り返しのあるアルゴリズムをfor文の基本パターンと対応づけられるか
- 色々なバリエーションの「総和」をプログラム化できるか
参照する教材
- ステップ3:分岐のあるアルゴリズムと選択処理(確認と復習)
- ステップ4:繰り返しのある処理
- for文についての補足
- (参考)while文
- ステップ5:多重ループ処理(次回の予習)
この授業での成果物
- 「閏年の判定」プログラムを作成する
- 「奇数の和」と「階乗」の計算プログラムを、それぞれ作成する
- 新ISTUで、「反復処理の確認テスト」を行う
- 確認課題: 「ゼータ関数」のプログラムを作成し、授業時間中に新ISTUで提出する(ファイル名:
zeta-2.c
)
復習課題と次週の準備
- 復習課題: 「べき乗の計算」プログラムを完成させ、7/11までにISTUで提出する(ファイル名:
power-n.c
) - 例題4b(ex4b.c)、および 例題5(ex5.c)を写経し、その動作を確認する。予習動画を視聴しておく。
DAY 5 / July 12, 2017
目標=自己チェック項目
- 条件が満たされるまで反復する処理の流れを理解し、記述できるか
- 二重になったループ処理の流れをイメージし、変数の変化と関連づけられるか
参照する教材
この授業での成果物
- 反復処理についての確認テスト(ISTU)を行う。
- 確認課題1: 「ローンの返済」のプログラムを作成し、授業時間中にISTUで提出する(ファイル名:
equal-payment.c
) - 確認課題2: 「逆向きの三角形」のプログラムを作成し、授業時間中にISTUで提出する(ファイル名:
upside-down.c
)
復習課題と次週の準備
- 復習課題: 「逆向きの三角形」の別バージョンを作成しISTUで提出する(ファイル名:
upside-down-alt.c
) - 例題8a(ex8a.c)を写経し、その動作を確認する。予習動画を視聴する。
DAY 6 / July 19, 2017
目標=自己チェック項目
- 配列変数の宣言、代入や操作を的確に記述し、プログラムの中で利用できるか
- 配列を使った基本的なデータ操作、特に、データの入れ替えや検索のアルゴリズムを理解し、プログラムで表現できるか
参照する教材
この授業での成果物
- 例題8aをもとにして、「配列の要素のシフト」のコードを作成し、動作を確認する。
- 確認課題1: 「配列の内容の反転」のCコードを、授業時間中にISTUで提出する(ファイル名:
reverse-array.c
) - 例題8cをもとにして、配列データ中の最小値を見つける コードを作成し、動作を確認する。
- 確認課題2: 「線形探索」のCコードを授業時間中にISTUで提出する(ファイル名:
linear-search.c
)
復習課題と次週の準備
- 復習課題: 「フィボナッチ数列」のプログラムを完成させ、8/1までにISTUで提出する(ファイル名:
fobonacci-array.c
) - 例題9a(ex9a.c)を写経し動作を確認する。その予習動画を視聴する。
- 例題9b(ex9b.c)を写経し動作を確認する。その予習動画を視聴する。