シラバス参照 |
講義概要/Course Information |
科目基礎情報/General Information |
授業科目名 /Course title (Japanese) |
情報システム基礎(H27年度以前入学生) | ||
---|---|---|---|
英文授業科目名 /Course title (English) |
Fundamentals of Information System | ||
開講年度 /Academic year |
2019年度 | 開講年次 /Year offered |
全学年 |
開講学期 /Semester(s) offered |
後学期 | 開講コース・課程 /Faculty offering the course |
博士前期課程 |
授業の方法 /Teaching method |
講義 | 単位数 /Credits |
2 |
科目区分 /Category |
大学院専門教育科目 - 連携専門科目 | ||
開講類・専攻 /Cluster/Department |
情報・通信工学専攻 | ||
担当教員名 /Lecturer(s) |
小宮 常康 | ||
居室 /Office |
西10-630 | ||
公開E-mail |
komiya@spa.is.uec.ac.jp | ||
授業関連Webページ /Course website |
http://www.spa.is.uec.ac.jp/~komiya/ | ||
更新日 /Last update |
2019/03/01 12:35:45 | 更新状況 /Update status |
公開中 /now open to public |
講義情報/Course Description |
主題および 達成目標(2,000文字以内) /Themes and goals(up to 2,000 letters) |
(a) 主題:よいプログラムを書くには,単にプログラミング言語を習得し,アルゴリズムを学ぶだけでは不十分である.解くべき問題をプログラミング言語上でどう表現するかでプログラムの可読性・開発効率・拡張のしやすさ等が大きく変わる.この一つのキーとなるのが,(大抵のプログラミング言語言語に備わっている)プログラミング言語の抽象化能力である.本講義では,計算手順,データ,言語の側面から抽象化について学ぶ. (b) 達成目標:プログラムやデータを段階的に抽象化して構成することで見通しのよいプログラムを構成する方法,及び何種類かの計算メカニズムやプログラミング言語のメカニズムについて学ぶ.そして,データやプログラムに込められている本質的な意味を明確に捉えることができれば,それらの実装には自由度があることを理解する. |
---|---|
前もって履修 しておくべき科目(1,000文字以内) /Prerequisites(up to 1,000 letters) |
なし |
前もって履修しておくこ とが望ましい科目(1,000文字以内) /Recommended prerequisites and preparation(up to 1,000 letters) |
なし |
教科書等(1,000文字以内) /Course textbooks and materials(up to 1,000 letters) |
参考書:H. Abelson and G.J. Sussman: Structure and Interpretation of Computer Programs Second Edition, MIT Press(和田英一訳:計算機プログラムの構造と解釈 第二版,翔泳社) |
授業内容と その進め方(2,000文字以内) /Course outline and weekly schedule(up to 2,000 letters) |
(a) 授業内容 第1回 Scheme言語の概要 第2回 式の評価および計算プロセス 第3回 手続き(関数)による抽象の構築 第4回 データによる抽象の構築 データ抽象の効果 第5回 データによる抽象の構築 実装のバリエーション 第6回 データによる抽象の構築 抽象データの多重表現 第7回 標準部品化力,オブジェクトおよび状態 第8回 ストリーム 第9回 ストリームによる状態表現 第10回 mutableデータオブジェクト 第11回 環境モデル 第12回 超言語的抽象 Scheme言語の評価器 第13回 超言語的抽象 評価器のバリエーション 第14回 レジスタ計算機での計算 仮想レジスタ計算機・メモリ割当とごみ集め 第15回 レジスタ計算機での計算 機械語命令による評価器・コンパイラの概要 (b) 授業の進め方 実際にプログラミングすることで深く理解することができるので,座学に加えプログラミング課題を課す. |
実務経験を活かした 授業内容 (実務経験内容も含む) /Course content utilizing practical experience |
|
成績評価方法 および評価基準 (最低達成基準を含む) (1,000文字以内) /Evaluation and grading (up to 1,000 letters) |
(a) 評価方法:レポート(65%)と期末試験(35%)の合計で評価する. (b) 評価基準:以下の達成レベルをもって合格の最低基準とする. ・すべてのレポートが受理されていること ・抽象化の意義を理解し,抽象化技術を簡単な問題に適用できること ・プログラミング言語が行う計算のプロセスをほぼ理解していること ・簡単な言語処理系の仕組みをほぼ理解していること |
オフィスアワー: 授業相談(1,000文字以内) /Office hours(up to 1,000 letters) |
適宜相談に応じるが,メールなどで事前にアポイントを取ること. |
学生へのメッセージ(1,000文字以内) /Message for students(up to 1,000 letters) |
抽象化はプログラミングだけに留まらず,コンピュータに関するあらゆるところで必要な重要な考え方です. |
その他 /Others |
|
キーワード /Keywords |
プログラミング, プログラミング言語, 言語処理系, コンパイラ, インタプリタ |