計算機基礎論II

副題:プログラミング方法論

担当菊地時夫
連絡方法:tkikuchi@is.kochi-u.ac.jp
単位:
情報科学科 2回生以上 必修
アドバイス時間:水曜日 8:50 〜 10:20
場所:408号室
キーワード計算とプログラム、アルゴリズム、再帰的関数、 プログラムの構造、構造データ型、オブジェクト

授業目標

計算機のプログラムはただ単に1回の 計算ができればよいというものでなく、繰り返し使われるように 作られていなければなりません。また、そのプログラムを改良する など、再利用ができるものでなければなりません。このような プロのプログラミングを可能にするために、データの型や構造、 プログラムの構造化、オブジェクト指向といったプログラミングの方法論について 学びます。

授業レベル

例題として取り上げるプログラムは、主に Pascal と C, C++言語で記述します。 Pascal については授業の中でも簡単に説明しますが、実際の計算機環境 では C 言語で書かれたプログラムが多いため、 C言語を十分学んでおくことが必要です。

教材

教科書:
岩波講座ソフトウェア科学 2 プログラミングの方法 (川合慧)

評価方法

毎回の授業で重要事項確認のための小テストを行います。これを 出席点とし、期末試験の成績を合わせて評価します。

授業内容の概略

  1. イントロダクション。
  2. 計算とプログラム(計算要素、アルゴリズム、状態など)
  3. 値とその扱い(データ型、式と関数、変数など)
  4. 実行制御の構造(逐次・選択・反復、入れ子・多重反復など)
  5. 数え上げと構造データ型、関数
  6. 配列、ファイル
  7. 新年休みのためのレポート
  8. ポインタとデータ構造*その2
  9. 問題の把握、逐次接近法
  10. 部分計算、分割統治
  11. データの構造とアルゴリズム、構造化プログラミング
  12. プログラミングと言語 (プログラミング言語の構文記述)
  13. プログラム開発の支援。
  14. オブジェクト指向。C++など。
  15. 予備
  16. 期末試験(96)期末試験(97)期末試験(98)
  17. 補講日

授業方法

主に板書によって講義しますが、必要に応じてプリントを配布します。

受講生へのコメント

単にプログラムが書ければよいというのではなく、そのプログラムによって 計算機の中で何が起こるのかについて知ることが重要 です。