タイトル

ナンバリングコード M3INF-ABXT-2O-Lx1   科目ナンバリングについて
授業科目名 科目区分 時間割 対象年次及び学科
プログラミング・パラダイム    
Programming Paradigms
  後期 木1 1~2 工学研究科博士前期課程信頼性情報システム工学専攻
講義題目 水準・分野 DP・提供部局
対象学生・
特定プログラムとの対応
 
 
M3INF ABXT 2O
担当教員 授業形態 単位数 時間割コード
香川 考司[Kagawa Koji] Lx 1 942091
DP・提供部局  
ABXT
 
授業形態  
Lx
 
関連授業科目  
プログラミング言語意味論
 
履修推奨科目  
 
学習時間  
講義90分×7回+講義45分×1回+試験45分+自学自習
 
授業の概要  
ラムダ計算に基づくプログラミング言語である関数型言語 Haskell を紹介する。それにより命令型言語にない考え方、リストや木を含む代数的データ型や高階関数などの概念や、プログラミングの汎用的なイディオムを説明する。命令型言語やオブジェクト指向言語が不得意な記号処理プログラムを関数的プログラムの例として取り上げる。
 
授業の目的  
学部で学習してきた C、Java などの命令型、オブジェクト指向言語とは異なる考え方(パラダイム)に基づき、異なる得意分野を持つプログラミング言語に触れ、その特長を知る(DPの「専門知識・理解」に対応)。
 
到達目標  
関数型言語 Haskell の記法と関数的なプログラミング手法を説明できること、を本授業での修得目標とする。
 
学習・教育到達目標(工学部JABEE基準)  
 
成績評価の方法と基準  
レポートおよび小テスト(50点)、期末試験(50点)で採点し、授業の目標達成が確認できた者に単位を認定する。
 
授業計画並びに授業及び学習の方法  
第1回:プログラミング・パラダイムとは
  さまざまなプログラミング言語の特徴を概観し、関数型言語の特色を理解する
第2〜5回:関数型言語 Haskell
  実行可能なラムダ計算として関数型言語 Haskell の記法を理解する
  Haskell のさまざまな拡張記法 (糖衣構文) を理解する
  簡単な Haskell のプログラムを定義し実行する
  Haskell プログラムの等価性を帰納法で証明する
  Haskell の評価戦略を理解する
第6〜7回:関数型言語 Haskell の型システム
  Haskell の型システム、およびオブジェクト指向の概念との関係を理解する    
第8回:総括と試験              
  ここまでの学習内容を総括し、学習事項を確認する
 
教科書・参考書等  
プリントを配布する
 
オフィスアワー  
質問などは 1 号館 10 階北側 11007 研究室で受け付ける(時間帯は授業中に通知する)。
 
履修上の注意・担当教員からのメッセージ  
実習の際はノートパソコン一式を持参すること。
授業計画などの変更通知は、必要に応じて、授業中、学内掲示板、授業用 Web ページ(アドレスは授業中に通知する)などで行うので注意すること。
 
参照ホームページ  
http://guppy.eng.kagawa-u.ac.jp/2018/AdvProg/
 
メールアドレス  
メールアドレスは授業中に通知する
 
↑ページの先頭へ戻る