山梨大学電子シラバス>検索結果一覧>授業データ



授業科目名 プログラミング言語論
時間割番号 TCS210
担当教員名 渡辺 喜道
開講学期・曜日・時限 後期・水・I 単位数 2
<対象学生>
(未登録)
<授業の目的>
ソフトウェアを容易に作成できるように、様々なプログラミング言語が提案されている。それらの言語は内部の構造や基本的な言語構成の観点からみると数種類に分類できる。本講義では様々なプログラミング言語の性質を学習し、プログラミング言語には構文と意味があること、およびそれらがそれぞれの言語においてどのように定義されているかを理解することを目的とする。また、データ構造やアルゴリズムの表現法、プログラミングにおける重要な概念である構造化と抽象化がそれぞれの言語でどのように定義されているかを理解する。さらに、種々の言語に共通する概念や機能とそれぞれの言語を特徴付ける概念や機能があることを学び、プログラミング言語を客観的な対象物として取り扱う力を身につけることを最終目標とする。
<本授業科目による獲得・涵養が特に期待されるコンピテンシー>(能力・資質)
工学部>コンピュータ理工学科向け
記号コンピテンシー(能力・資質) 
CS-A専門6.情報科学、及び、数学や自然科学等の知識と手法を用いて、以下のことができる。6a.解決すべき問題を形式化することができる。
<到達目標>  到達目標とは
目標NO説明コンピテンシーとの対応
CS
1プログラミング言語の構文と意味、手続き型プログラミング言語及びオブジェクト指向型プログラミング言語の計算パラダイムを説明できることCS-A
2関数型プログラミング言語の計算パラダイム、論理型プログラミング言語の基礎となる数学的な事項を説明できることCS-A
3関数型プログラミング言語による簡単なプログラムを作成できることCS-A
<成績評価の方法>
目標No割合評価の観点
150%プログラミング言語の構文と意味、手続き型プログラミング言語及びオブジェクト指向型プログラミング言語の計算パラダイムを説明できるかどうかをテストで評価する。
240%関数型プログラミング言語の計算パラダイム、論理型プログラミング言語の基礎となる数学的な事項を説明できるかどうかをテストで評価する。
310%関数型プログラミング言語を用いて簡単なプログラムを作成できるかどうかをレポートで評価する。
合計100% 
<授業の方法>
プログラミングやアルゴリズムとデータ構造に関連する基本的な知識と簡単なプログラムを書いた経験を有すること。
<受講に際して・学生へのメッセージ>
(未登録)
<テキスト>
  1. 大山口通夫、五味弘, プログラミング言語論, コロナ社, ISBN:9784339027044
<参考書>
  1. ラビ・セシィ著 ; 神林靖訳, プログラミング言語の概念と構造, ピアソン・エデュケーション, ISBN:4894717700
  2. Ravi Sethi, Programming languages : concepts and constructs, Addison-Wesley, ISBN:0201590654
  3. David A. Watt ; with contributions by William Findlay, Programming language design concepts, John Wiley & Sons, ISBN:0470853204
<授業計画の概要>
1タイトルプログラミング言語の歴史(1)
事前学習
事後学習
講義中またはCNSの掲示により指示する。
授業内容コンピュータハードウェアの歴史、プログラミング言語の歴史について学習する。
2タイトルプログラミング言語の歴史(2)、構文と意味の定義
事前学習
事後学習
講義中またはCNSの掲示により指示する。
授業内容近年に開発されたプログラミング言語、プログラミング言語の構文定義と意味定義について学習する。
3タイトルプログラミング言語の基礎的要素
事前学習
事後学習
講義中またはCNSの掲示により指示する。
授業内容プログラミング言語の構成、プログラミング言語の拡張について学習する。
4タイトル手続き型プログラミング言語、データ型、パラメタ渡し
事前学習
事後学習
講義中またはCNSの掲示により指示する。
授業内容手続き型プログラミング言語の考え方、代入によるプログラミング、データ型、パラメタ渡しについて学習する。
5タイトル駆動木、非局所変数へのアクセス
事前学習
事後学習
講義中またはCNSの掲示により指示する。
授業内容駆動木、ブロック構造、非局所変数へのアクセス方法について学習する。
6タイトルオブジェクト指向型言語の基礎
事前学習
事後学習
講義中またはCNSの掲示により指示する。
授業内容オブジェクト指向プログラミング言語とそのパラダイム、抽象データ型について学習する。
7タイトルオブジェクト指向型言語の特徴、手続き型言語とオブジェクト指向言語の計算パラダイムに関する演習
事前学習
事後学習
講義中またはCNSの掲示により指示する。
授業内容データ不変、オブジェクト指向プログラミング言語の3大特徴について学習する。
8タイトル手続き型言語とオブジェクト指向型言語の総括評価・まとめ
事前学習
事後学習
講義中またはCNSの掲示により指示する。
授業内容手続き型プログラミング言語及びオブジェクト指向型プログラミング言語の計算パラダイムに関して、学習内容を確認する。
9タイトル関数型言語の基礎
事前学習
事後学習
講義中またはCNSの掲示により指示する。
授業内容λ計算の基礎、関数のカリー化、項書き換えの考え方について学習する。
10タイトルλ計算、項書き換え
事前学習
事後学習
講義中またはCNSの掲示により指示する。
授業内容λ計算と関数型プログラミング言語との関係について学習する。
11タイトルλ計算と関数型プログラミング、リスト処理
事前学習
事後学習
講義中またはCNSの掲示により指示する。
授業内容リスト処理、フィルタ、高階関数、ガベージコレクションについて学習する。
12タイトル関数型言語によるプログラミング演習(1)
事前学習
事後学習
講義中またはCNSの掲示により指示する。
授業内容関数型プログラミング言語を用いた簡単なプログラムを作成する。
13タイトル関数型言語によるプログラミング演習(2)
事前学習
事後学習
講義中またはCNSの掲示により指示する。
授業内容関数型プログラミング言語を用いた簡単なプログラムを作成する。
14タイトル論理型言語の基礎
事前学習
事後学習
講義中またはCNSの掲示により指示する。
授業内容論理型プログラミング言語の基礎、述語論理、単一化について学習する。
15タイトル関数型言語、論理型言語の基礎の総括評価・まとめ
事前学習
事後学習
講義中またはCNSの掲示により指示する。
授業内容関数型プログラミング言語及び論理型プログラミング言語の計算パラダイムに関して、学習内容を確認する。
<備考>
・学生の理解度に合わせて、内容を変更する場合がある。