GC50301
プログラム言語論 Programming Languages and Methodology
標準履修年次: 3・4年専門・選択 ・2 単位
春学期AB 木曜日 1・2時限 7A106・7C202
担当教員: 志築 文太郎
概要
プログラミング言語の基本概念を系統的に学習する。内容は、言語の計算メカニズム、方法論、適用分野などである。取り上げるプログラム言語は、手続き型、関数型、論理型、オブジェクト指向型などである。
学習・教育目標
プログラミング言語の違いを知る。各種プログラミング言語において用いられている基本概念を知る。各種プログラミング言語の適応対象を知る。
授業計画
週 講義内容 第 1 週 プログラミング言語とは: プログラミング言語の目的、構文と意味、変換、種類、プログラムのライフサイクル、プログラミング環境 、処理系の構成要素。 第 2〜3 週 基礎: 変数、式、手続き、関数、型、副作用、スコープ、環境、末尾再帰、eval、ゴミ集め、ラムダ計算、関数型言語。 第 4〜5 週 様々な言語1:論理型言語、節、ゴール、ユニフィケーション、探索、単一代入、Prolog 、バックトラック。 第 6〜8 週 モジュラリティと抽象化:モジュール、抽象データ型、オブジェクト指向、オブジェクト、メッセージ、クラス、インスタンス、インタフェースと実装、継承、デザインパターン。 第 9〜10 週 様々な言語2:スクリプト言語、用途、シェル、awk、Perl、Ruby 。発展的な話題、授業のまとめ。
教材・参考書等
- 教材
- 講義時に配布、または、本授業のweb pageを通じて配布する。
- 参考書
- Concepts in Programming Languages, John C. Mitchell, Cambridge University Press, 2003.
成績評価
演習点および試験点の合計とする。
授業外の学習内容・方法
- 予習
- 対応する講義を、予習・復習を含めて受講する。昨年度の講義資料・課題を参照する。参考資料(シラバスに記載)を読む。
- 復習
- 課題レポートに不備があれば、それを自ら補う。参考資料に掲載されている課題を解く。例題や課題を応用したプログラムを作る。
予備知識・前提条件
コンピュータリテラシ、コンピュータリテラシ実習、
プログラミングI、プログラミング実習I、プログラミングII、プログラミング実習II、
コンピュータシステムとOS、
データ構造とアルゴリズム、データ構造とアルゴリズム実習、Webプログラミング。
講義のホームページ
授業時にアナウンスする。
教員連絡先・オフィスアワー
志築文太郎:shizuki(a)cs.tsukuba.ac.jp
(教員一覧ページ を参照。)
(教員一覧ページ を参照。)