コンピュータシステム / Computer Systems
関連記事
- 電子情報通信学会シンポジウム講演
- 授業づくりはまずコンセプトづくりから〜事例に学ぶコンセプトづくり
- 理系知識習得科目をどう教えるか〜概念と原理のディープラーニング
- 新時代の授業スタイル「反転授業」と「アクティブ・ラーニング」を失敗なく組み合わせるには
- アクティブ・ラーニングの理想を実現せよ
- SWEST ポスター発表: 知識習得科目「コンピュータシステム」の授業設計~概念や原理をどう教えるか
- 「ソフトウェア開発の教育のビジョンを語ろう」@ソフトウェア科学会大会
授業の概要 / Course Description
本授業では,コンピュータがどのように動作するのか,コンピュータシステムを支える基盤であるオペレーティングシステムやプログラミング言語処理系がどのような働きをするのかを学習します。
【到達目標 (Course Objectives)】
- (基礎知識) コンピュータの基本構成やオペレーティングシステム,プログラミング言語処理系に関連する専門用語とその意味を対応させて説明できる。
- (直観的な理解) コンピュータの基本構成やオペレーティングシステム,プログラミング言語処理系に関連する基礎的な概念や原理について,例示や図示をしながら説明できる。また,これらの分野に関連する専門用語同士の関連を説明できる。
- (能動的・自立的な学習) コンピュータシステムの学習に関して受け身ではなく能動的・自立的に学び続けることを選択できる。
- (上位科目との関連) コンピュータアーキテクチャや組込みシステムとの関連について説明できる。
【学位授与方針DPとの関連 (Relation to Diploma Policy)】
I. 知識・理解
- オペレーティングシステムとプログラミング言語処理系に関する基礎理論及び基礎知識を修得する。(到達目標1,2に対応)
II. 技能
- コンピュータの基本構成について理解し,プログラムの動作を説明することができる。(到達目標2に対応)
III. 思考・判断・表現
- コンピュータの原理及び構成等を自分の言葉で表現できる。(到達目標2に対応)
IV. 関心・意欲・態度
- 修得した知識や技能をコンピュータの設計等に応用することができる。(到達目標3,4に対応)
教科書 / Textbooks
授業中に必要な資料を配布します。詳しくは第1回オリエンテーションでアナウンスします。
参考書(図書館蔵書には○) / References (Available in the library: ○)
【コンピュータの基本構成と動作原理】
○プログラムはなぜ動くのか 第2版 矢沢久雄著 日経ソフトウェア ISBN: 978-4822283155
○コンピュータはなぜ動くのか 矢沢久雄著 日経ソフトウェア ISBN: 978-4822281656
【プログラミング言語処理系】
○コンパイラの構成と最適化 中田育男著 朝倉書店 ISBN:4254121393 (新版あり,新版は図書館蔵書ではない)
○コンパイラ 中井 央著 コロナ社 ISBN: 978-4339027082
○コンパイラ : 原理・技法・ツール A.V. エイホ [ほか]共著 サイエンス社 ISBN:9784781912295 (新版あり,新版は図書館蔵書ではない)
【オペレーティングシステム】
○モダンオペレーティングシステム 第2版 A.S. タネンバウム著 ピアソンエデュケーション (絶版)
授業計画・内容 / Class schedules and Contents
以下の授業計画は授業改善のため変更される可能性があります。第1回オリエンテーション等でのアナウンスに注意してください。
- オリエンテーション,コンピュータの基本構成と動作原理 (事前学習)
- コンピュータの基本構成と動作原理 (ワークショップ)
- コンピュータの基本構成と動作原理 (ふりかえり)
- C言語のアセンブリ言語コード化 (学習/プログラミング演習/講義)
- C言語のアセンブリ言語コード化 (ワークショップ)
- C言語のアセンブリ言語コード化 (ふりかえり),コンパイラの基本構成/解析部 (事前学習)
- コンパイラの基本構成/解析部 (ワークショップ)
- インタプリタ (ワークショップ)
- まとめとふりかえり (プログラミング言語処理系)
- オペレーティングシステム(OS)の基本構成1,マルチタスク1,排他制御とデッドロック (事前学習)
- 排他制御とデッドロック (プログラミング演習/ワークショップ)
- アドバンスト・トピック1 (講義),メモリ管理
- アドバンスト・トピック2 (講義),マルチタスク2,OSの基本構成2 (講義)
- ふりかえり
- アドバンスト・トピック3 (講義),システムプログラミング (講義),まとめとふりかえり (全体)
成績評価の方法 / Assessment Method
成績評価の詳細を第1回オリエンテーション等で説明します。
- 到達目標1 (基礎知識): 試験 (Examination) 35%
- 到達目標2 (直観的な理解): 試験 (Examination),レポート (Reports) 40%
- 到達目標3 (能動的・自立的な学習): 積極的な授業への参加 (Class Participation),レポート (Reports) 20%
- 到達目標4 (上位科目との関連): レポート (Reports) 5%
事前・事後学習の内容 / Preparation and Review
毎回の授業で事前・事後学習について具体的に指示します。また,自主的にか府外学習を進めることを強く推奨します。
履修上の注意 / Remarks
- 本授業は,2017年度より2年次第1学期に開講します。
- 本授業では,1年次第1学期科目の計算機演習Iと1年次第2学期科目の計算機演習IIで学習するC言語プログラミングの知識を前提としています。適宜復習してください。
- 2年次第2学期科目の形式言語とオートマトン,3年次第1学期科目のコンピュータアーキテクチャ,ソフトウェア設計・同演習,情報メディア工学実験III,3年次第2学期科目のディジタルシステム設計,集積回路設計,プログラミング・同演習,大学院科目のソフトウェア工学概論,組込みソフトウェア,ソフトウェア検証論は,本授業の内容と関連が深いです。これらの科目の履修を予定している場合には,本授業を履修すると理解が深まるでしょう。
担当者からのメッセージ / Message from the Instructor
技術が急速に進化する現代では,みなさんが大学を卒業して社会に出ても学び続ける必要があります。今までは「教わる」つまり授業を受身で聴いていただけだったかもしれませんが,今後は自分で能動的・自立的に「学ぶ」という姿勢に変える必要があります。本授業では,そんな能動的・自立的な学びの習慣をつけることを支援していきます。
その目的で,本授業ではワークショップ方式を取り入れています。たとえば第2回のワークショップでは,コンピュータがどのように動作するのかを,手を動かしながら「体感する」グループワークを行います。これにより,単に講義を聴くだけではなかなかわからない直観を得ることができます。
コンピュータシステムに対する直観があると,専門用語や概念を自分の言葉で説明できるようになり,深い理解に結びつきます。コンピューータシステムを中身がよくわからないブラックボックスとして扱うのではなく,きちんと理解して活用できるようになるでしょう。
みなさんの探究心や知的好奇心がわき自ら調べだすような,能動的・自立的な学びを始めるきっかけになる楽しい授業でありたいと思っています。
キーワード / Keywords
コンピュータの動作原理 (How a computer works),プログラミング言語処理系 (programming language processor),コンパイラ (compilier),インタプリタ (interpreter),オペレーティングシステム (operating system),システムプログラミング (system programming)