概要
プログラミング言語の基本概念を系統的に学習する。内容は、言語の計算メカニズム、方法論、適用分野などである。取り上げるプログラム言語は、手続き型、関数型、論理型、オブジェクト指向型などである。
学習・教育目標
プログラミング言語の違いを知る。各種プログラミング言語において用いられている基本概念を知る。各種プログラミング言語の適応対象を知る。
授業計画
週 | 講義内容 |
第 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プログラミング。
講義のホームページ
教員連絡先・オフィスアワー