プログラム言語論(ぷろぐらむげんごろん)
担当教員:
亀山幸義
(電子メイル: kam [at] cs.tsukuba.ac.jp) (オフィスアワー: 金 2限)
担当Teaching Assistant : 鳥居 (電子メイル: sho [at] logic.cs.tsukuba.ac.jp)
曜日・時限: 春AB 木3-4, 講義は 3A203教室、 演習は情報科学類計算機室 (3C113).
このページには,2014年度の『プログラム言語論』の 講義資料を置きます. 2013年度の資料等は、
こちらのページ
を見てください。
目次
ニュース・連絡事項
シラバス
manabaシステムのログインページ
(統一認証のユーザID, パスワードが必要)
講義資料
スケジュール
参考書籍
過去の期末試験の問題と解答
出席簿
連絡事項
[2014/7/22(予定)] 成績報告用紙を支援室に発送します.数日中にはTWINSに反映されるはずです.
[2014/7/16] 2014年度の期末試験の
問題
と
解答例
を置きました. なお,成績提出締切を間違えてしまい(春学期終了までに成績を出せばいいのかと 思っていたら,昨日まででした),TWINS入力締切を逃してしまいましたが, 今週中には提出しますので,来週(の半ば以降?)にチェックしてください.
[2014/6/30追加] 2013年度問題の 1-d の答えの一部に誤記がありました。 こちらは単純な誤記でなく、私の勘違いによる(解答の)間違いです。この点お 詫びします。これにより、「動的束縛かつ値呼び」のケースで、勘違いをしてしまった人が いるかもしれず、そのことが今回の試験に影響したかどうかについては検討中です。 もし、影響があった場合には、 採点において考慮する予定です。 ファイルをダウンロードした人はもう1度ダウンロードしてください。
(補足: 昨年度の答案についても同様の間違いによる誤採点がなかったか を見直しましたが、昨年度の採点そのものは MiniC処理系を走らせた結果に 基づいた間違いのない解答をもとにしており、修正はありませんでした。)
第9週までの出席およびレポート提出簿(short quiz を含む)は
ここ
にあります。 各自,必ずチェックをして,「自分はレポートを提出したはずはなのに 記録されていない」などの問題があったら,TA または教員に連絡してください.
期末試験は、2014/6/26 (木) 12:15 から、いつもの3A203教室で行います。 (75分程度の予定)。資料等の持ち込みは「不可」です。(留学生が日本語の辞 書を持ちこむケースを覗く。)
このページの下の方からリンクをはっていた 「2013年度の期末試験の
解答例
」の ファイルが壊れていました。(問題のファイルになっていました。) ファイル自体が壊れてしまっていたので、急拠、もう1度解答を 作ってリンクをはりました。若干手抜き気味の略解になっていますが、 去年の問題の解答例を見てみたい人は参考にしてください。 [2014/6/25追加] 2013年度問題の 1-b の答えの一部に誤記がありました。 ファイルをダウンロードした人はもう1度ダウンロードしてください。
第10週(6/19) のスライドをwebに掲載しました。6/26 12:15から期末試 験です。
第9週(6/12) の後半は、計算機室での演習です。
第6週(5月22日)まで,講義資料等をwebに置きました.
第3週の演習の略解
をアップロードしました.
[お詫び] 2014/5/1頃から私の研究室のweb server に問題が発生し, 数日間,停止していました. このため,この授業の資料にアクセスできなかった人も多いと思います. お詫びします. [2014/5/6]
第3週(5月1日)の3限は、計算機室3C113で演習を行います。(4限は自由に演習)
第2週のスライドをアップロードしました[2014/04/25]
トラブルがあって,大変遅くなりましたが,第1週のスライドをアップロードしました[2014/04/22]
2014年度用にウェブページをセットアップにしました。[2014/04/04]
講義資料
授業の際にノートを取る、というのが非常に大事ですから、 今年度は、なるべく黒板を使って授業をするようにしますが、 参考資料として、スライドを置いておきます。
スケジュール
第1週(4月17日): イントロダクション、 高級言語と低級言語、インタープリタとコンパイラ、 抽象機械、 構文論と意味論、 手続き型言語と宣言型言語.
講義スライド前半
,
講義スライド後半
,
配布資料(算術言語の意味論)
第2週(4月24日): プログラムの意味論、抽象機械の続き、 スコープ、動的束縛と静的束縛、計算戦略。
講義スライド前半
第3週(5月1日): 計算機室3C113で演習; 12:15に 3C113 の部屋の中に集まってください。 なお、部屋にはいれない人は 12:10 (5分前)までに3A203 に来てください。 TAが誘導します。
MiniC言語の構文などの簡単な説明:
pdfファイル
MiniC言語処理系の起動のしかた等:
htmlファイル
第3週の課題:
pdf
, 略解は
こちら
第4週: 1階言語の抽象機械、環境と評価戦略の取り扱い:
講義資料(誤植修正版)
,
その中の演習問題に対する答など
第5週: ラムダ計算、関数型言語、関数クロージャ:
講義スライド
第6週: 制御構造、制御抽象、構造化プログラミング、副作用、末尾再帰:
講義スライド
第7週: 南出先生の定理証明・検証に関するお話.
第8週: データ抽象、モジュール、型システム:
講義スライド1
(授業中に出題した演習の解答例もあります)、
講義スライド2
第9週: オブジェクト指向:
講義スライド
(第9週の演習の解説を含む)
計算機を使った演習:
Javaの動かし方
,
演習課題3
.
レポート提出システム(manabaシステム)は、
こちら
(統一認証のユーザIDとパスワードが必要)
第10週: 授業のまとめ:
講義スライド (論理プログラミング)
、
講義スライド (授業のまとめ)
、
講義スライド (ドメイン特化言語など)
、
講義で使わなかったスライド (多相型など)
出席簿:
5/29まで
期末試験
参考書籍
Programming Language Concepts, Peter Sestoft, Springer, 2012. (さらに新しい本、学部レベルの内容がコンパクトによくまとまっている。 2014年度はこの本(の一部)に準拠して講義をおこなっている。) 電子ファイルは
こちら
です。(学内ネットワークからは無料でアクセス可能。)
Programming Languages: Principles and Paradigms, Maurizio Gabbrielli, Simone Martini, Springer, 2011. (学部レベルの内容がコンパクトによくまとまっている。 2012年度からはこの本(の一部)に準拠して講義をおこなっている。) 電子ファイルは
こちら
です。(学内ネットワークからは無料でアクセス可能。)
Concepts in Programming Languages, John C. Mitchell, Cambridge University Press, 2003. (広範囲のことがまとめられている分厚い教科書、 2011年度まではこの本に準拠して講義をおこなっていた。 なお、この本の誤殖リストが
著者のページ
にある。)
期末試験の問題と解答
2014年度の期末試験の
問題
と
解答例
。 (2014/7/16)
2013年度の期末試験の
問題
と
解答例
。 (2014/6/25修正、2014/6/30再修正)
2012年度の期末試験の
問題
と
解答例
。
2011年度の期末試験の
問題つき解答例
。
2010年度の期末試験の問題と解答例:
2010年度
.
過去の期末試験の問題と解答例:
2009年度
.
出席簿
出席簿は、まだありませんが、いずれ、以下のページに置く予定です。
manabaシステムのログインページ
(統一認証のユーザID, パスワードが必要)
亀山幸義
(オフィスアワー: 水 2限)