計算モデル論[22C5061]

科目名
Course Title
計算モデル論[22C5061]
Computational Models
授業言語
Language
Japanese
科目区分・科目種 情報科学科 クラス 情報科学科
CCBM キャリアデザイン  
単位数 2.0単位 履修年次 34

担当教員 淺井 健一
学期 後期
曜日・時限・教室
金曜 5 6 共3-408【情報科学講義室2】

受講条件・その他注意
OCaml で各種データ構造を使ったプログラミングができること。「関数型言語」「言語理論とオートマトン」「形式言語論」既履修者が望ましい。

授業の形態
講義,演習,全面オンライン,実施方法検討中

教科書・参考文献
特になし。授業中に参考書を何冊か紹介する。

ALH区分
通常授業として実施(11・12限等)

評価方法・評価割合
小論文(レポート)=毎回、出すプログラミング課題の採点によって行う。試験は行わない。

主題と目標
簡単な言語に対するインタプリタをいろいろな方法で実装する。small-step による実装、big-step による実装、高階関数の実装方法、環境モデル、非局所的脱出の実現法など、いろいろな言語機構を実装するための基礎技術について学習する。それを通して、プログラミング言語がどのように作られているかを学習する。

授業計画
第1回
電卓言語。
第2回
git の使い方。
第3回
真偽値。
第4回
条件文。
第5回
変数。
第6回
変数(続き)。
第7回
関数。
第8回
関数呼び出し。
第9回
再帰関数。
第10回
再帰関数(続き)。
第11回
リスト。
第12回
型規則。
第13回
型規則(続き)。
第14回
型推論。
第15回
型推論(続き)。

時間外学習
授業内容に関するプログラミング課題(インタプリタの作成)を各自、時間外に行う。

学生へのメッセージ
これまでプログラミング言語と言うのは与えられたもので、それを使うばかりだったと思いますが、ここではプログラミング言語のインタプリタを実際に作成することでその中身がどのようになっているのかを学習します。これを通して、今までブラックボックスだったプログラミング言語の中身を理解できるようになります。しっかりした内容を提供しますので、是非、最後までついて来て下さい。
 今年度は、授業時間に Zoom でオンラインの授業を行う。対面授業の日は、大学に来る人数が多い場合は、授業時間に対面で授業をしつつ、その模様を Zoom で流す。大学に来る人数が少ない場合は、対面授業は行わない。

学生の問い合わせ先
直接、教官にメール。