科目名 : プログラミング言語

科目コード 90170
配当学年 2年
開講期 前期
曜時限 水曜・1時限
講義室 3号館西棟W3
単位数 2
履修者制限
講義形態 講義
言語
担当教員 五十嵐(淳)・奥乃

講義概要

プログラミング言語についてコンピュータサイエンスの立場から論じる.使用するプログラミング言語はSchemeであり,高度なプログラミングの概念について学ぶとともに,実際にプログラミングに適用することを通じて,プログラミングの本質を習得する.
教科書の前半(第1章および第2章)は「アルゴリズムとデータ構造入門」(奥乃先生,第1学年後期配当,91150)で取り上げ,本講義では第3章および第4章を取り上げる.

評価方法

ほぼ毎回課す演習問題のレポートと,期末試験の成績を総合して評価する.

最終目標

高度なプログラミングの概念について学ぶとともに,実際にプログラミングに適用することを通じて,プログラミングの本質を習得する.

講義計画

項目 回数 内容説明
第3章 モジュール化,オブジェクト,状態 7 3.1節 代入と状態
3.2節 評価のための環境モデル
3.3節 置き換え可能データのモデル化
3.4節 並行動作
3.5節 ストリーム
第4章 超言語による抽象化 7 4.1節 metacircularな評価器
4.2節 遅延評価
4.3節 非決定的計算
4.4節 論理プログラミング
学習到達度の確認 1

教科書

・ジェラルド・サスマン他著""Structure and Interpretation of Computer Programs"" (MIT Press) MIT Press 提供のオンライン版フルテキストがhttp://mitpress.mit.edu/sicp/からダウンロード可能
・邦訳(和田英一訳): 「計算機プログラムの構造と解釈」(ピアソン・エデュケーション) もあるが,原著を薦める.

参考書

・ジョン・ベントリー(小林健一郎訳): 『珠玉のプログラミング―本質を見抜いたアルゴリズムとデータ構造』(ピアソン・エデュケーション)
・原著 ""Programming Pearls"" (ACM Press) を薦める

予備知識

「アルゴリズムとデータ構造入門」(第1学年後期配当,91150)の受講を前提とする.

授業URL

初回の講義中に伝える.

その他

・Java版Scheme, jakld (湯淺太一氏開発)を使用して講義を進める. メディアセンターや授業ホームページで提供する.
・当該年度の授業回数などに応じて一部省略,追加がありうる.