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



授業科目名
担当教員
プログラミング言語論
渡辺 喜道
時間割番号
単位数
コース
履修年次
期別
曜日
時限
263217 2 F 2 後期 I
[概要]
現在,ソフトウェアを容易に作成できるように,様々なプログラミング言語が提案されている.それらの言語は内部の構造や基本的な言語構成の観点からみると,数種類に分類できる.本講義では,様々なプログラミング言語の性質を学習する.具体的には,プログラミング言語には構文と意味があること,およびそれらがそれぞれの言語においてどのように定義されているかを理解することを目的とする.また,データ構造やアルゴリズムの表現法,プログラミングにおける重要な概念である構造化と抽象化が,それぞれの言語でどのように定義されているかを学習する.さらに,種々の言語に共通する概念や機能とそれぞれの言語を特徴付ける概念や機能があることを学び,プログラミング言語を客観的な対象物として取り扱う力を身につけることを最終目標とする.
[具体的な達成目標]
(1) 種類の異なるプログラミング言語の名前を言え,それらの歴史的関係を説明することができる.<BR>(2) 多くの異なるプログラミングパラダイムが存在することを認識することができる.<BR>(3) 手続き,オブジェクト指向,関数,論理,並行のプログラミングパラダイムのそれぞれに対して,互いに異なる特徴を認識することができる.<BR>(4) 種類の異なるパラダイムを利用し,プログラムを設計,コード化,テスト,デバッグすることができる.
[必要知識・準備]
本講義を履修するためには,授業科目「情報処理及び実習」,「情報数学基礎」,「プログラミング入門」,「プログラミング入門演習」,「アルゴリズムとデータ構造I」,「アルゴリズムとデータ構造I演習」,「アルゴリズムとデータ構造II」,「アルゴリズムとデータ構造II演習」をあらかじめ履修し,それらの内容を十分に理解していること.
[評価方法・評価基準]
No評価項目割合評価の観点
1試験:期末期 30  %関数型プログラミング,論理型プログラミング,並行プログラミングの基礎的事項を理解しているか. 
2試験:中間期 50  %プログラミング言語の構文と意味,命令型プログラミング言語,オブジェクト指向型プログラミング言語の基礎的事項を理解しているか. 
3小テスト/レポート課題 20  %原理の異なる複数のプログラミング言語を用いて簡単なプログラムを作成できるか. 
[教科書]
  1. 大山口通夫,五味弘, プログラミング言語論, コロナ社, ISBN:9784339027044,
    (講義でプリントも配布する.)
[参考書]
  1. ラビ・セシィ著,神林靖訳, プログラミング言語の概念と構造, ピアソン・エデュケーション, ISBN:4894717700
  2. Ravi Sethi, Programming Languages – Concepts and Constructs (2nd Edition), Addison-Wesley, ISBN:0201590654
  3. David A. Watt, Programming Language Design Concepts, John Wiley & Sons, ISBN:0470853204
[講義項目]
(01)プログラミング言語の歴史<BR>(02)構文と意味(1) 構文の定義<BR>(03)構文と意味(2) 意味の定義<BR>(04)構文と意味(3) 式の評価<BR>(05)手続き型言語(1) 代入<BR>(06)手続き型言語(2) 種々のデータ構造<BR>(07)オブジェクト指向言語<BR>(08)総括評価(1)<BR>(09)関数型言語(1) Schemeプログラミング入門<BR>(10)関数型言語(2) リスト処理<BR>(11)関数型言語(3) 静的型検査<BR>(12)論理型言語(1) Prologプログラミング入門<BR>(13)論理型言語(2) 単一化機構<BR>(14)並行型言語<BR>(15)総括評価(2)・まとめ
[教育方法]
・講義ではプロジェクタを使い,説明している.また,講義中用いるスライドの内容を紙媒体で配布し,講義を聴くことに集中できるようにしている.<BR>・講義中に簡単な演習問題を解かせ,プログラミング言語の性質や特徴を体得できるように心がけている.<BR>・コンピュータを用いて,言語処理系に関連するツール等の動作を実演している.<BR>・プログラミングに関する課題を出し,様々なプログラミング言語のパラダイムでプログラミングができるように配慮している.
[JABEEプログラムの学習・教育目標との対応]
《コンピュータ・メディア工学科 コンピュータサイエンスコース》
(B)種々の型と構造をもつ情報の表現手法及び処理手法についての基本的な知識と技術を習得する.
(D)ソフトウェアの実現に必要な各種の道具や手法を習得・理解し,これらを組み合わせて問題解決を行える知識と技術,およびその自発的・継続的学習法を習得する.
[その他]
・学生の理解度に合わせて,内容を変更する場合がある.