到達目標
【中間試験】
プログラミング言語の記述方法、有限オートマトン、字句解析、構文解析について理解する。
【期末試験】
構文解析、意味解析、コード生成について理解する。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
プログラミング言語の記述方法 | プログラミング言語の記述を理解できる。 | プログラミング言語の記述方法を理解している。 | プログラミング言語の記述方法に関する授業への取り組みができていない。 |
有限オートマトン | 有限オートマトンを生成することができる。 | 有限オートマトンに関する定義を理解している。 | 有限オートマトンに関する授業への取り組みができていない。 |
字句解析 | 字句解析をすることができる。 | 字句解析の概要を理解している。 | 字句解析に関する授業への取り組みができていない。 |
構文解析 | 構文解析をすることができる。 | 構文解析の概要を理解している。 | 構文解析に関する授業への取り組みができていない。 |
意味解析 | 意味解析をすることができる。 | 意味解析の概要を理解している。 | 意味解析に関する授業への取り組みができていない。 |
コード生成 | コード生成をすることができる。 | コード生成の概要を理解している。 | コード生成に関する授業への取り組みができていない。 |
学科の到達目標項目との関係
準学士課程(本科1〜5年)学習教育目標 (2)
説明
閉じる
JABEE基準 (d-1)
説明
閉じる
JABEE基準 (d-2a)
説明
閉じる
システム創成工学教育プログラム学習・教育目標 B-2
説明
閉じる
システム創成工学教育プログラム学習・教育目標 D-1
説明
閉じる
教育方法等
概要:
プログラミング言語で記述されたプログラムが、計算機で実行されるまでにどのように処理されるかについて学ぶ。
授業の進め方・方法:
コンパイラの基本的な仕組みについて、ソースコードからオブジェクトコードまでの変換手順に沿って学んでいく。
適宜、具体例の紹介や演習問題を交えて理解を深めていく。
注意点:
【参考書】
「コンパイラ 作りながら学ぶ」、中田育男 著、オーム社
「はじめてのコンパイラ」、宮本衛市 著、森北出版
「コンパイラ」、湯浅太一 著、オーム社
「コンパイラ」、辻野嘉宏 著、オーム社
【関連科目】
プログラミング、計算理論
【学習指針】
基本的には教科書に従って授業を進めるが、教科書に載っていない内容を扱うこともあるため、ノートを取ることを
お薦めする。ただし、単に板書をそのまま書き写すのではなく、内容を理解し、自分なりに要約や補足をすること。
レポートは、参考文献や他人の意見の単なるコピーではなく、自分自身による考えや作業の結果などが含まれるよう
にすること。
【事前学習】
規則正しい生活を送り、体調を整えておくこと。余力があれば教科書に目を通しておくこと。
【事後展開学習】
各講義終了後速やかに、講義内容において理解できたことと理解できなかったことを整理すること。理解できなかっ
たことについては、次回の講義までに解決しておくこと。
【評価割合】
試験の成績(100%)で評価する。ただし、本科目への取り組み姿勢に問題がある場合(講義時間中に取り組むべき
演習問題に取り組んでいない、レポート等の課題が未提出、提出物の内容が不十分、など)は最大61%減点すること
がある。
学修単位の履修上の注意
講義時間中に提示する演習問題や教科書に掲載されている演習問題を自学自習時間に解くこと。演習問題の類似問題を試験で出題し、試験の成績として自学自習内容を評価する。
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
コンパイラの構成 |
コンパイラの論理的な構成を理解する。
|
2週 |
プログラミング言語の記述 |
バッカス記法と構文図式を理解する。
|
3週 |
字句解析(1) |
正規表現と正規言語を理解する。また、正規表現から非決定性有限オートマトンを生成する方法を理解する。
|
4週 |
字句解析(2) |
非決定性有限オートマトンから決定性有限オートマトンを生成する方法を理解する。
|
5週 |
構文解析(1) |
上向き構文解析法の概要を理解する。
|
6週 |
構文解析(2) |
下向き構文解析法の概要を理解する。
|
7週 |
中間試験 |
授業内容を理解し、正しく解答する。
|
8週 |
試験返却と解説 |
自身の答案を見直し、理解が不十分な点を解消する。
|
4thQ |
9週 |
構文解析(3) |
LL(1)構文解析を理解する。
|
10週 |
意味解析 |
意味解析の概要を理解する。
|
11週 |
コード生成(1) |
式と代入文のコード生成法を理解する。
|
12週 |
コード生成(2) |
if 文とwhile文のコード生成法を理解する。
|
13週 |
最適化(1) |
制御フロー解析とデータフロー解析を理解する。
|
14週 |
最適化(2) |
最適化の手法を理解する。
|
15週 |
期末試験 |
授業内容を理解し、正しく解答する。
|
16週 |
試験返却と解説 |
自身の答案を見直し、理解が不十分な点を解消する。
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | システムプログラム | 形式言語の概念について説明できる。 | 4 | 後1,後2 |
形式言語が制限の多さにしたがって分類されることを説明できる。 | 4 | 後3 |
オートマトンの概念について説明できる。 | 4 | 後3,後4 |
正規表現と有限オートマトンの関係を説明できる。 | 4 | 後3,後4 |
コンパイラの役割と仕組みについて説明できる。 | 4 | 後1 |
評価割合
| 試験 | 合計 |
総合評価割合 | 100 | 100 |
専門的能力 | 100 | 100 |