Last modified: Fri Aug 9 09:14:42 JST 2013

宮崎大学大学院 工学研究科 情報工学専攻 2013年度前期 授業科目:情報工学特論

単位数:2単位
対象:修士1年次
日程:集中講義 2013年8月5日(月)〜 8月8日(木)
教室: 工学部 A-116(8/5午前,8/6, 7,8), B-112(8/5午後)
初回(8/5 月)は A-116 で 10:30 から.2日目からは 9:30 開始の予定
担当教員:竹内郁雄 先生(早稲田大学), 伊達章(世話人)
今年の情報工学特別講義は「プログラミング言語論」です.
レポート課題 (提出締切 8/12月 17:00)


概要

 プログラミングとプログラミング言語の基礎的な概念について学びます.特定のプログラミング言語の使い方やノウハウではなく,プログラミング言語の役割,構造,意味論,さらにはプログラミングパラダイムといった話題を中心にして,将来どんなプログラミング言語を使わないといけなくなっても役立つような基礎力を身に付けます.


教育目標

 プログラミングとプログラミング言語の基礎を理解し,それを知的に楽しむことができる境地に達することを最大の目標とします.そのためには,授業で紹介する多様な計算モデルとプログラミング言語の基礎を概念的に理解するだけでなく,自分でごく簡単な「プログラム」を書けるようになることを目指します.すでに具体的なプログラミング言語を使いこなしている学生諸君であっても,新たな視野が拓くことを目指します.

授業計画

(カッコ内は必要な見積りコマ数が2以上のものを示す)
  1. プログラミングとはなにか
  2. プログラミング言語の役割
  3. プログラミングパラダイムとはなにか
  4. Turingマシン (2)
  5. Whileプログラム
  6. Markovアルゴリズム (2)
  7. ラムダ計算 (2)
  8. 導出計算とProlog (3)
  9. オブジェクト指向の概念 (1)
  10. 並行プログラミングの概念 (1)
(これはあくまで予定であって、変更の可能性があります)

文献・教材

  1. 講義で用いたスライド:(日本語版)(English Version)
  2. Programming of Turing Machine
  3. 竹内関数とその音楽
  4. こんなのもプログラミング(最終日)
かなり高い,かつ分厚い本で,この講義の内容と直接の関係はありませんが, 以下の本はプログラミングについて広く考えるのにとても役立ちます.

その他の文献は,講義の中で適宜紹介します.


成績の評価基準

レポートによる


講師からのメッセージ

いろいろなプログラミング言語を実際に使っていることが望ましい. そうすることによって,初めて計算モデルの基礎の面白みがわかるでしょう. プログラミング言語を論じることが目的なので, 特定の言語のチュートリアルではないことに注意してください. 私の講義の常で,雑談的な話が多くなりますが, それにだまされず,自分で勉強すべきことはちゃんと勉強しましょう. また, インタラクティブな授業を行ないますので, 当たったらなにか言えるように心の準備をしておいてください. よい答えが返ってきたら,レポートの評価に加算します.


オフィスアワー

特に設けませんので,講義終了後の時間などを利用して質問してください.メー ルでの質問等は歓迎します.