シラバス
※学期中に内容が変更になることがあります。

2013年度

1G0169-501 

○プログラミング言語-501
-501
2単位/Unit  春学期/Spring  インターネット/Internet  講義形式

  芳賀 博英

<概要/Course Content Summary>

本クラスはインターネット講義のクラスである.内容は教室講義の「プログラミング言語」と全く同じである.本講義ではコンピュータのプログラミングに関する基本的な概念を述べる。プログラミング言語は2つの側面を持っている.一つはコンピュータハードウエアへの指示・命令,もう一つはアルゴリズムという数学的存在の記述である.従ってプログラミング言語を理解するためにはコンピュータのハードウエア構造の理解と,アルゴリズムの数学的表現の方法への理解が不可欠である.本講義はこの2つについて,その基礎的な部分を講義する.   
前半は「ハードウエアへの指示・命令」という側面を知るために,コンピュータ・ハードウエアの論理的な構造と最も基本的なプログラミング言語であるアセンブリ言語について講義する.具体的にはMIPS社のR2000/3000というRISCチップを対象とする.後半は「数学的存在の記述」という側面を述べる.具体的には帰納的関数という概念を用いてプログラミング言語を基礎から構築してゆくプロセスと,関数型言語を例にとった具体的な言語の構成法について述べる.   
前半の講義の理解にはC言語の知識,後半の理解には情報数学Iの知識が不可欠である.

<到達目標/Goals,Aims>

(1) コンピュータの基本的なアーキテクチャを理解できるようになる.   
(2) プログラミング言語の基本要素と,それらが実際のコンピュータの上でどのように実行されるかについて理解できるようになる.   
(3) プログラミング言語の構成の根本的原理と数学的な基礎を理解できるようになる.

<授業計画/Schedule>

(実施回/
Week)
(内容/
Contents)
(授業時間外の学習/
Assignments)
(実施回/ Week) (内容/ Contents) 講義の概要と目標,計算とプログラミング,プログラミング言語の関係,コンピュータ内での数の表現法   (授業時間外の学習/ Assignments) 当該講義の復習 
(実施回/ Week) (内容/ Contents) コンピュータの基本的な構造,MIPS R2000,MIPS用シミュレータSPIM,変数の概念   (授業時間外の学習/ Assignments) 当該講義の復習 
(実施回/ Week) (内容/ Contents) 算術演算,論理演算,制御構造  (授業時間外の学習/ Assignments) 当該講義の復習 
(実施回/ Week) (内容/ Contents) 配列とポインタ,システムコール  (授業時間外の学習/ Assignments) 当該講義の復習 
(実施回/ Week) (内容/ Contents) 関数定義と呼び出し,変数の属性,スコープルール,文字列の扱い  (授業時間外の学習/ Assignments) 当該講義の復習 
(実施回/ Week) (内容/ Contents) ビット演算,構造体,実数演算  (授業時間外の学習/ Assignments) 当該講義の復習 
(実施回/ Week) (内容/ Contents) コンピュータアーキテクチャの概要,アセンブリ言語のまとめ  (授業時間外の学習/ Assignments) 当該講義の復習 
(実施回/ Week) (内容/ Contents) プログラミング言語の歴史と発展  (授業時間外の学習/ Assignments) 当該講義の復習 
(実施回/ Week) (内容/ Contents) 中間まとめ  (授業時間外の学習/ Assignments) 中間まとめの復習 
(実施回/ Week) 10  (内容/ Contents) プログラミング言語の発見:数学的基礎  (授業時間外の学習/ Assignments) 当該講義の復習 
(実施回/ Week) 11  (内容/ Contents) 関数とラムダ記法,関数型言語  (授業時間外の学習/ Assignments) 当該講義の復習 
(実施回/ Week) 12  (内容/ Contents) 評価,名前と手続き,抽象化,特殊形式,型(タイプ)  (授業時間外の学習/ Assignments) 当該講義の復習 
(実施回/ Week) 13  (内容/ Contents) 関数定義,ループインバリアント,高階手続き  (授業時間外の学習/ Assignments) 当該講義の復習 
(実施回/ Week) 14  (内容/ Contents) 関数型言語Lispの基礎  (授業時間外の学習/ Assignments) 当該講義の復習 
(実施回/ Week) 15  (内容/ Contents) 関数型言語Lispのプログラミング  (授業時間外の学習/ Assignments) 当該講義の復習 

受講生の理解に応じて,一部内容を変更することがあり得る

<成績評価基準/Evaluation Criteria>

中間筆記試験  50%  それまでの講義の内容の理解度 
期末筆記試験  50%  中間試験以降の講義の内容の理解度  

中間試験は第9回の近辺に行います.教室クラスとインターネットクラスのすべての受講生が受験可能な日程,具体的には6月8日(土)の5時間目に予定しています.

 

<成績評価結果/Results of assessment>   成績評価の見方について/Notes for assessment

    

登録者数

成績評価(%)

評点
平均値

備考

A B C D F
97 0.0 8.2 14.4 26.8 50.5 0.0 0.8 *

<テキスト/Textbook>

角川 裕次   『計算機プログラミングの基礎概念-プログラムはプロセッサの上でどのように実行されるのか-』 (森北出版、2008) ISBN:978-4627848313  前半はこの書籍に準拠して講義を進めます。高価(¥5,040)なので,必買とは言いませんが,買って損はない書籍です。 

 

吉田 武  『素数夜曲: 女王陛下のLISP』 (東海大学出版会、2012) ISBN:978-4486019244  後半はこの書籍の付録のAからDを用います.この本の前半の数学に関する内容は講義とは直接関係ありませんが,大変おもしろい内容です.比較的高価(¥3780)ですから,必買とは言いませんが買って損はない書籍です。 

 

<備考/Remarks>

前半は昨年までの講義と同じ内容ですが,後半は全く新しい内容です. 

 

お問合せは同志社大学 各学部・研究科事務室まで
 
Copyright(C) 2013 Doshisha University All Rights Reserved. 無断転載を禁止します。