プログラム言語

科目基礎情報

学校 沼津工業高等専門学校 開講年度 平成29年度 (2017年度)
授業科目 プログラム言語
科目番号 0011 科目区分 専門 / 選択
授業形態 授業 単位の種別と単位数 学修単位: 2
開設学科 環境エネルギー工学コース 対象学年 専1
開設期 前期 週時間数 2
教科書/教材 ハンドアウトのテキストを配付する
担当教員 藤尾 三紀夫

到達目標

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週 前期期末試験解説 (試験問題の解説は説明または掲示します)

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週

評価割合

試験発表・レポート相互評価態度ポートフォリオその他合計
総合評価割合602002000100
基礎的能力0000000
専門的能力602002000100
分野横断的能力0000000