到達目標
1.プログラム言語の種類と用途を説明できる.
2.プログラムの翻訳のための構文図、BNF表記手法を説明できる.
3.簡易数式計算機を対象にしたコンパイル課程を説明できる.
4.講義中の発表やレポート作成と共に簡易数式計算機を実現するためのコンパイラプログラムを構築し,その手法や過程と成果および考察を整理して報告書にまとめることができる(C2-4).
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1
プログラム言語の種類と用途を説明できる。 | □プログラム言語の名前と用途および利用例について説明できる | □プログラム言語の名前と用途について説明できる | □プログラム言語の名前と用途について説明できない |
評価項目2
プログラムの翻訳のための構文図、BNF表記手法を説明できる。 | □翻訳技術の基本となる定義およびパーザ処理をBNFおよび構文図で表記できる | □翻訳技術の基本となる定義をBNFおよび構文図で表記できる | □翻訳技術の基本となる定義をBNFおよび構文図で表記できない |
評価項目3
簡易数式計算機を対象にしたコンパイル課程を説明できる。 | □コンパイル過程を具体例をあげて説明できる
□簡易数式計算式をBNFおよび構文図で表現でき,パージングを行える.
□数式のコンパイルのため字句解析,構文解析,解析木,中間コード,アセンブリコードに変換する具体的な課程を例をあげて正確に説明できる. | □コンパイル過程を説明できる
□簡易数式計算式をBNFおよび構文図で表現できる
□数式のコンパイルのため字句解析,構文解析,解析木,中間コード,アセンブリコードに変換する具体的な課程を説明できる. | □コンパイル過程を説明できない
□簡易数式計算式をBNFおよび構文図で表現できない
□数式のコンパイルのため字句解析,構文解析,解析木,中間コード,アセンブリコードに変換する具体的な課程を説明できない |
評価項目4
講義中の発表やレポート作成と共に簡易数式計算機を実現するためのコンパイラプログラムを構築し、その手法や過程と成果および考察を整理して報告書にまとめることができる(C2-4) | □単元毎のレポートを正確にそして丁寧に作成し期限内に提出できる
□講義中の練習課題を解き、多数回発表できる
□簡易数式計算機を実現するためのコンパイルプログラムを構築でき、その手法を説明できる | □単元毎のレポートを作成し提出できる
□講義中の練習課題を解き、発表できる
□簡易数式計算機を実現するためのコンパイルプログラムを構築できる | □単元毎のレポートを作成し提出できない
□講義中の練習課題を解き、発表できない
□簡易数式計算機を実現するためのコンパイルプログラムを構築できない |
学科の到達目標項目との関係
実践指針 (C2)
説明
閉じる
実践指針のレベル (C2-4)
説明
閉じる
【プログラム学習・教育目標 】 C
説明
閉じる
教育方法等
概要:
プログラム言語は、人間の思考をコンピュータが理解できる言語で表現するための言語であり、コンピュータによる制御の基本となる。本講義では、特定のプログラム言語に依存せず、プログラムとは何か、プログラム言語とは何か、プログラムはどのように動くか、そして、プログラム翻訳における解析処理について講義を行う。また、プログラム言語の種類と用途と変遷についても述べる。工学的にはシステム開発あるいは新たな言語の開発などプログラミングに関する基礎となる。さらに演習として、仮想コンピュータ上で動作する簡単な数式プログラムをコンパイルし、実行するコンパイラの動作をトレースしてコンパイル過程を理解する。
授業の進め方・方法:
授業は講義を中心に行うが、講義中には練習課題を出し、受講生に回答してもらう。なおこの回答の回数は、受講態度に反映させる。また毎回の講義の後、レポート課題を出すことで、各講義の理解度を深める。さらに、講義の最後では括弧やべき乗、単項マイナスなどにも対応可能な「数式コンパイラ」のソースコードの解析を行い、動作や構成について理解し、最終レポートとしてまとめる。
注意点:
1.試験や課題レポート等は、JABEE 、大学評価・学位授与機構、文部科学省の教育実施検査に使用することがあります。
2.授業参観される教員は当該授業が行われる少なくとも1週間前に教科目担当教員へ連絡してください。
3.課題20%、講義態度20%、定期試験60%とする。なお課題の提出は1課題5点として平均値を 4倍して20点、授業態度は講義中における態度・発表の回数で判定する。授業目標(C2-4)が60%以上で、かつ全体で60点の場合に合格とする。
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
プログラムとは何か |
ガイダンスとプログラム言語の必要性を説明できる
|
2週 |
必要性と記号化 |
プログラム言語とは何か,その位置付けを説明できる
|
3週 |
種類と用途 |
プログラム言語の種類,用途,歴史を調べる
|
4週 |
プログラム言語文法 |
BNFと構文図について説明できる
|
5週 |
|
プログラムの構造について説明できる
|
6週 |
プログラムの翻訳 |
コンパイラの位置づけとプログラムの構成要素について説明できる
|
7週 |
プログラムの翻訳技術 |
字句解析とパージングについて説明できる
|
8週 |
|
逆ポーランド記法と計算手法について説明できる
|
2ndQ |
9週 |
|
構文解析について説明できる
|
10週 |
|
コード生成について説明できる
|
11週 |
|
最適化について説明できる
|
12週 |
プログラムの性能と品質
|
プログラム言語の性能と品質について説明できる
|
13週 |
コンパイラ概要説明 |
数式簡易コンパイラの仕様策定と構成要素の概説を説明できる
|
14週 |
演習 |
数式簡易コンパイラの動作を確認し、動作の流れを理解でき、レポートにまとめることができる
|
15週 |
前期期末試験 |
(90分の評価試験とアンケート)
|
16週 |
前期期末試験解説 |
(試験問題の解説は説明または掲示します)
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
評価割合
| 試験 | 発表・レポート | 相互評価 | 態度 | ポートフォリオ | その他 | 合計 |
総合評価割合 | 60 | 20 | 0 | 20 | 0 | 0 | 100 |
基礎的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
専門的能力 | 60 | 20 | 0 | 20 | 0 | 0 | 100 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |