ソフトウェア技法

  [ GB12901 ]
The Art of Programming
対象:2学年 開設学期:春C 曜日・時限:水5・6、金3・4 単位数:2単位
担当教員:亀山 幸義

概要

関数プログラミングを通して、データ構造とアルゴリズムの設計、プログラムとしての実装の基本技法を学ぶ。使用するプログラム言語は、OCamlである。講義とともに、情報科学類計算機システムを用いて、OCamlプログラミングの演習を行う。

学習・教育目標

関数プログラミングの基礎となる考え方、プログラム設計、プログラミング技法を習得する。

キーワード

関数プログラミング、再帰関数、リスト・プログラミング、データ型、アルゴリズムの設計、プログラムの正しさ。

Keywords

Functional Programming, Recursive Function, List Programming, Data Type, Algorithm Design, Correctness of Programs.

時間割

講義内容/習熟すべき項目
第1,2回概要
関数プログラミングの基本的な考え方、プログラム言語OCamlの概要、記号と変数、手続きの定義を理解する。
第3,4回基本的データ構造、リスト
データ構造とリストを理解し、これらに対する基本的なプログラムを書く。
第5,6回再帰によるプログラミング
再帰関数を用いたプログラミング技法を習得し、自然数やリストに対する様々なプログラムを作成する。
第7,8回代数的データ型を用いたプログラミング
OCamlの代数的データ型により様々なデータ構造を定義および利用する技法を習得する。また、これらのデータ構造に対するプログラムを作成する。
第9,10回ミニプロジェクト
前週までに習得した技法を組み合わせて、まとまったプログラムを作成する。

教材

講義の資料は、授業ホームページまたはmanabaシステムを通じて受講者に連絡する。

参考書籍

予備知識・前提条件

成績評価

授業への出席を前提として、中間レポートおよび最終レポートにより評価する。期末試験は行わない。

教員メールアドレス

kam のあとに cs.tsukuba.ac.jp

TF・TA

未定。

講義のWebページ

担当教員のホームページ からリンクする。

オフィスアワー

金曜2限、総合研究棟B 1008。

備考

情報科学類以外の学生は、授業初回に計算機室利用の手続きを取るので、遅刻しないこと。