プログラム言語

科目基礎情報

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

到達目標

本講義の到達目標は以下の通り
1.プログラム言語の種類と用途を説明できる.
2.プログラムの翻訳のための構文図、BNF表記手法を説明できる.
3.簡易数式計算機を対象にしたコンパイル課程を説明できる.
4.講義中の発表やレポート作成と共に簡易数式計算機を実現するためのコンパイラプログラムを構築し,その手法や過程と成果および考察を整理して報告書にまとめることができる(C2-4).

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1 プログラム言語の種類と用途を説明できる。□プログラム言語の名前と用途および利用例について説明できる。□プログラム言語の名前と用途について説明できる。□プログラム言語の名前と用途について説明できない。
評価項目2 プログラムの翻訳のための構文図、BNF表記手法を説明できる。□翻訳技術の基本となる定義およびパーザ処理をBNFおよび構文図で表記できる。□翻訳技術の基本となる定義をBNFおよび構文図で表記できる。□翻訳技術の基本となる定義をBNFおよび構文図で表記できない。
評価項目3 簡易数式計算機を対象にしたコンパイル課程を説明できる。□コンパイル過程を具体例をあげて説明できる。 □簡易数式計算式をBNFおよび構文図で表現でき,パージングを行える。 □数式のコンパイルのため字句解析,構文解析,解析木,中間コード,アセンブリコードに変換する具体的な課程を例をあげて正確に説明できる。□コンパイル過程を説明できる。 □簡易数式計算式をBNFおよび構文図で表現できる。 □数式のコンパイルのため字句解析,構文解析,解析木,中間コード,アセンブリコードに変換する具体的な課程を説明できる。□コンパイル過程を説明できない。 □簡易数式計算式をBNFおよび構文図で表現できない。 □数式のコンパイルのため字句解析,構文解析,解析木,中間コード,アセンブリコードに変換する具体的な課程を説明できない。
評価項目4 講義中の発表やレポート作成と共に簡易数式計算機を実現するためのコンパイラプログラムを構築し、その手法や過程と成果および考察を整理して報告書にまとめることができる(C2-4)。□単元毎のレポートを正確にそして丁寧に作成し期限内に提出できる □講義中の練習課題を解き、多数回発表できる □簡易数式計算機を実現するためのコンパイルプログラムを構築でき、その手法を説明できる□単元毎のレポートを作成し提出できる。 □講義中の練習課題を解き、発表できる。 □簡易数式計算機を実現するためのコンパイルプログラムを構築できる。□単元毎のレポートを作成し提出できない □講義中の練習課題を解き、発表できない □簡易数式計算機を実現するためのコンパイルプログラムを構築できない

学科の到達目標項目との関係

実践指針 (C2) 説明 閉じる
実践指針のレベル (C2-4) 説明 閉じる
【プログラム学習・教育目標 】 C 説明 閉じる

教育方法等

概要:
プログラム言語は、人間の思考をコンピュータが理解できる言語で表現するための言語であり、コンピュータによる制御の基本となる。本講義では、特定のプログラム言語に依存せず、プログラムとは何か、プログラム言語とは何か、プログラムはどのように動くか、そして、プログラム翻訳における解析処理について講義を行う。また、プログラム言語の種類と用途と変遷についても述べる。工学的にはシステム開発あるいは新たな言語の開発などプログラミングに関する基礎となる。さらに演習として、仮想コンピュータ上で動作する簡単な数式プログラムをコンパイルし、実行するコンパイラの動作をトレースしてコンパイル過程を理解する。
この科目は企業でNCプログラムの解析ソフトウェア開発を担当していた教員がその経験を活かし,プログラム言語の構成からコンパイルおよび実装について講義形式で授業を行うものである。
授業の進め方・方法:
授業は講義を中心に行うが、講義中には練習課題を出し、受講生に回答してもらう。なおこの回答の回数は、受講態度に反映させる。また毎回の講義の後、レポート課題を出すことで、各講義の理解度を深める。さらに、講義の最後では括弧やべき乗、単項マイナスなどにも対応可能な「数式コンパイラ」のソースコードの解析を行い、動作や構成について理解し、最終レポートとしてまとめる。
注意点:
1.試験や課題レポート等は、JABEE 、大学評価・学位授与機構、文部科学省の教育実施検査に使用することがあります。
2.授業参観される教員は当該授業が行われる少なくとも1週間前に教科目担当教員へ連絡してください。
3.課題20%、講義態度20%、定期試験60%とする。なお課題の提出は1課題5点として平均値を 4倍して20点、授業態度は講義中における態度・発表の回数で判定する。授業目標(C2-4)が60%以上で、かつ全体で60点の場合に合格とする。

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 プログラムとは何か ガイダンスとプログラム言語の必要性を説明できる。
2週 プログラム言語の必要性と記号化 プログラム言語とは何か,その位置付けを説明できる。
3週 プログラム言語の種類と用途 プログラム言語の種類,用途,歴史を調べ,主な言語の違いを説明できる。
4週 プログラム言語文法 BNFと構文図について説明できる。
5週 プログラムの構造について説明できる。
6週 プログラムの翻訳 コンパイラの位置づけとプログラムの構成要素全体について説明できる。
7週 プログラムの翻訳技術 字句解析とパージングについて説明できる。
8週 逆ポーランド記法と解析木について説明できる。
2ndQ
9週 逆ポーランド記法に基づく計算手法について説明できる。
10週 構文解析について説明できる。
11週 コード生成について説明できる。
最適化について説明できる。
12週
プログラムの性能と品質
プログラム言語の性能と品質,稼働率について説明できる。
13週 数式言語のコンパイラ作成演習 簡単な演算を実行可能な言語について与えられた仕様を理解できる.
14週 簡単な演算を実行可能な言語についてBNF,構文木,パーザープログラムを作成し,報告書にまとめることができる.
15週 到達度確認 到達度チェックとアンケート
16週

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

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

評価割合

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