GC22201 プログラム言語論

2.0 単位, 3・4 年次, 春AB 木1,2
志築 文太郎

授業概要

さまざまなプログラミング言語が提供する諸概念を、そのメカニズム、プログラミング手法、適用分野、実現方法などの観点から概説する。

備考

実習設備の都合により、70名程度を受講者数の上限とする。履修希望者が上限を越えた場合には、情報メディア創成学類の学生を優先する。

授業形態

講義

学習・教育目標

プログラミング言語の基本概念を系統的に学習する。内容は、各種プログラミング言語において用いられている言語の計算メカニズム、方法論、適用分野などである。取り上げるプログラム言語は、手続き型、関数型、論理型、オブジェクト指向型などである。

キーワード

プログラミング言語, 手続き型, 関数型, 論理型, オブジェクト指向

授業計画

第1週 プログラミング言語とは: プログラミング言語の目的、構文と意味、変換、種類、プログラムのライフサイクル、プログラミング環境 、処理系の構成要素。
第2〜3週 基礎: 変数、式、手続き、関数、型、副作用、スコープ、環境、末尾再帰、eval、ゴミ集め、ラムダ計算、関数型言語。
第4〜5週 様々な言語1:論理型言語、節、ゴール、ユニフィケーション、探索、単一代入、Prolog 、バックトラック。
第6〜8週 モジュラリティと抽象化:モジュール、抽象データ型、オブジェクト指向、オブジェクト、メッセージ、クラス、インスタンス、インタフェースと実装、継承、デザインパターン。
第9〜10週 様々な言語2:スクリプト言語、用途、シェル、awk、Perl、Ruby 。発展的な話題、授業のまとめ。

予備知識・前提条件

コンピュータリテラシ、コンピュータリテラシ実習、プログラミングI、プログラミング実習I、プログラミングII、プログラミング実習II、コンピュータシステムとOS、データ構造とアルゴリズム、データ構造とアルゴリズム実習、Webプログラミング。

成績評価

A+〜Cの評点は演習点および試験点の合計に基づく。

授業外の学習内容・方法

予習
対応する講義を、予習・復習を含めて受講する。昨年度の講義資料・課題を参照する。参考資料(シラバスに記載)を読む。
復習
課題レポートに不備があれば、それを自ら補う。参考資料に掲載されている課題を解く。例題や課題を応用したプログラムを作る。

教材

講義時に配布、または、本授業のweb pageを通じて配布する。

参考書

Concepts in Programming Languages, John C. Mitchell, Cambridge University Press, 2003.

オフィスアワー

随時訪問歓迎だが、メールで事前にアポイントメントを取ることが望ましい。

講義のWebページ

授業時にアナウンスする。

TF/TA

授業時にアナウンスする。