検索したい科目/教員名/キーワードを入力し「検索開始」ボタンをクリックしてください。
※教員名では姓と名の間に1文字スペースを入れずに、検索してください。
科目名 | 情報科学研究1 | ||||
---|---|---|---|---|---|
教員名 | 戸田誠之助 | ||||
単位数 | 4 | 学年 | 4 | 開講区分 | 文理学部 |
科目群 | 情報科学科 | ||||
学期 | 前期 | 履修区分 | 必修 |
授業概要 | プログラミング言語処理系について理解を深めていくことを主なテーマとするが,これ以外にも関数型プログラミングによるアプリケーション開発やプログラムの基礎理論などもテーマとして扱う。これらのテーマから一つを選択して調査・研究を行う。また,プレゼンテーションの方法についても合わせて学習していく。 |
---|---|
授業のねらい・到達目標 | プログラミング言語処理系の内部構造や関数型プログラミングによるアプリケーション開発やプログラムの基礎理論が理解できる. この科目は文理学部(学士(理学))のディプロマポリシーDP6及びカリキュラムポリシーCP9に対応しています。 |
授業の方法 | 授業ガイダンスの際に,選択したテーマに関する基礎資料(専門書または論文)を指示する。その基礎資料を学習しながら,さらには実際のソフトウェアを開発しながらテーマについて理解を深めていく。毎回の授業では,学習や開発した内容をまとめて発表する。以下の授業計画は一つのモデルケース(プログラミング言語処理系を調査・研究する場合)を示していることに注意して欲しい。3年次までに比べて学習内容が高度になるので,基礎資料を学習するだけではなく,ほぼ毎日のようにプログラミングに取り組む必要がある。単にプログラムを作ればよいというのではなく,プログラムの処理内容を適切に説明することや,処理手順の正当性や効率性について根拠を提示することも目標としながら学習に取り組んで欲しい。 本授業の事前・事後学習は,各4時間の学習を目安とする。 |
履修条件 | 学科内規による。 |
授業計画 | |
---|---|
1 |
プログラミング言語処理系の概要 【事前学習】発表用資料を準備する. 【事後学習】処理系について理解を深める. |
2 |
字句解析 【事前学習】発表用資料を準備する. 【事後学習】字句解析について理解を深める. |
3 |
構文解析 【事前学習】発表用資料を準備する. 【事後学習】構文解析について理解を深める. |
4 |
構文解析器生成系 【事前学習】発表用資料を準備する. 【事後学習】構文解析器生成系について理解を深める. |
5 |
構文解析プログラムの実装 【事前学習】発表用資料を準備する. 【事後学習】構文解析プログラムを実装する. |
6 |
抽象構文木 【事前学習】発表用資料を準備する. 【事後学習】抽象構文木について理解を深める. |
7 |
意味解析 【事前学習】発表用資料を準備する. 【事後学習】意味解析について理解を深める. |
8 |
駆動レコード 【事前学習】発表用資料を準備する. 【事後学習】駆動レコードについて理解を深める. |
9 |
中間コードへの変換 【事前学習】発表用資料を準備する. 【事後学習】中間コードへの変換について理解を深める. |
10 |
中間コードへの変換プログラムの実装 【事前学習】発表用資料を準備する. 【事後学習】中間コードへの変換プログラムを実装する. |
11 |
基本ブロックとトレース 【事前学習】発表用資料を準備する. 【事後学習】基本ブロックとトレースについて理解を深める. |
12 |
命令選択 【事前学習】発表用資料を準備する. 【事後学習】命令選択について理解を深める. |
13 |
生存解析 【事前学習】発表用資料を準備する. 【事後学習】生存解析について理解を深める. |
14 |
レジスタ割り付け 【事前学習】発表用資料を準備する. 【事後学習】レジスタ割り付けについて理解を深める. |
15 |
コンパイラの実装 【事前学習】発表用資料を準備する. 【事後学習】コンパイラを実装する. |
その他 | |
---|---|
教科書 | Andrew W. Appel著/神林靖,滝本宗宏訳 『最新コンパイラ構成技法』 翔泳社 2009年 第1版 |
参考書 | 使用しない |
成績評価の方法及び基準 | 授業参画度(100%) 授業参画度は,毎回の発表用資料(レジメ,プレゼン資料等)をもとに評価します. |
オフィスアワー | 毎週水曜日12:10〜13:00 対面による質問にのみ答えます。 |