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



授業科目名
担当教員
プログラミング言語論
渡辺 喜道
時間割番号
単位数
コース
履修年次
期別
曜日
時限
263131 2 CS,F過年度生 2 後期 I
[概要]
現在,ソフトウェアを容易に作成できるように,様々なプログラミング言語が提案されている.それらの言語は内部の構造や基本的な言語構成の観点からみると数種類に分類できる.本講義では様々なプログラミング言語の性質を学習し,プログラミング言語には構文と意味があること,及びそれらがそれぞれの言語においてどのように定義されているかを理解することを目的とする.また,データ構造やアルゴリズムの表現法,プログラミングにおける重要な概念である構造化と抽象化がそれぞれの言語でどのように定義されているかを学習する.さらに,種々の言語に共通する概念や機能とそれぞれの言語を特徴付ける概念や機能があることを学び,プログラミング言語を客観的な対象物として取り扱う力を身につけることを最終目標とする.
[具体的な達成目標]
(1)多くの異なるプログラミングパラダイムが存在することを認識することができる.<BR>(2)命令型,オブジェクト指向型,関数型のプログラミング言語における基本概念や特徴,違いを理解する.<BR>(3)種類の異なる代表的なプログラミング言語による簡単なプログラムが作成できる.
[必要知識・準備]
プログラミングやアルゴリズムとデータ構造に関連する基本的な知識と簡単なプログラムを書けいた経験を有すること.
[評価方法・評価基準]
No評価項目割合評価の観点
1試験:期末期 40  %関数プログラミング,プログラミング言語の意味論の基礎的事項を理解しているか. 
2試験:中間期 40  %プログラミング言語の構文と意味,命令型プログラミング言語,オブジェクト指向型プログラミング言語の基礎的事項を理解しているか. 
3小テスト/レポート 20  %関数型プログラミング言語を用いて簡単なプログラムを作成できるか. 
[教科書]
  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
[講義項目]
(01)プログラミング言語の基礎(歴史,構造,分類,パラダイム)<BR>(02)構文の定義(仮想計算機,式,BNF,構文図式)<BR>(03)意味の定義(インタプリタとコンパイラ,言語翻訳,宣言と型)<BR>(04)命令型言語(1) (代入,制御フロー,構造化,評価)<BR>(05)命令型言語(2) (データ型,手続き,有効範囲,ポインタ)<BR>(06)オブジェクト指向型言語(1) (抽象データ型,カプセル化,クラスとインスタンス)<BR>(07)オブジェクト指向型言語(2) (情報隠蔽,継承,ポリモリフィズム)<BR>(08)命令型言語とオブジェクト指向型言語の総括評価・まとめ<BR>(09)関数型言語(1) (λ計算,関数のカリー化,関数型言語の基礎)<BR>(10)関数型言語(2) (リスト処理,静的型検査)<BR>(11)関数型言語(3) (高階関数,フィルタ,ガベージコレクション)<BR>(12)仮想機械と言語の意味論(形式的意味記述,操作的意味記述,プログラムの意味)<BR>(13)言語表現とオブジェクトコード(実行時環境,コード生成)<BR>(14)その他の言語(並行型言語,論理型言語,スクリプト言語など)<BR>(15)関数型言語とプログラミング言語の意味論の総括評価・まとめ
[教育方法]
・講義ではプロジェクタを使い,説明する.また,講義中に用いるスライドの内容を紙媒体で配布する.<BR>・講義中に簡単な演習問題を解かせる.<BR>・コンピュータを用いて,言語処理系に関連するツール等の動作を実演する.<BR>・プログラミングに関する課題を出す.
[JABEEプログラムの学習・教育目標との対応]
《コンピュータ・メディア工学科 コンピュータサイエンスコース》
(B)種々の型と構造をもつ情報の表現手法及び処理手法についての基本的な知識と技術を習得する.
(D)ソフトウェアの実現に必要な各種の道具や手法を習得・理解し,これらを組み合わせて問題解決を行える知識と技術,およびその自発的・継続的学習法を習得する.
[その他]
・学生の理解度に合わせて,内容を変更する場合がある.