戻る
タイトル「2010年度シラバス」、フォルダ「2010年度シラバス?大学共通科目(自然科学分野等科目)
シラバスの詳細は以下となります。
科目名 情報科学3 
担当教員 吉田 真一 
対象学年 1年  クラス 学部:自然003 
講義室 K−WS  開講学期 2学期 
曜日・時限 月5,木5  単位区分 選択 
授業形態 一般講義  単位数
準備事項  
備考  
授業の詳細1 授業の目的

コンピュータリテラシー,応用コンピュータリテラシー,情報科学1と,
どのようにプログラムを記述するかという方法を学んできた.情報科
学3ではなぜ情報が処理できるかという「仕組み」を学ぶ.
つまり,今まで情報処理の「How」を学んで
きた皆さんに情報処理の理論である「Why」を学習してもらう.このためには,
まず,現在に至るまで情報処理技術を推進してきた原理の歴史を学び,現在の
情報処理技術が取り組んでいる方法や将来的な問題などを明らかにする.つま
り情報科学3は今後学んで行く高度な情報システム全体に対しての理論的入
門という役割を果たすものである. 具体的には,たとえプログラムが出来ても
コンピュータで回答を得るまでに何万年もかかる問題や,一見簡単に記述でき
そうであってもプログラム自体が存在しえない問題もあるということを示す.
このような問題は避けて通りたいし,避けられない場合は人工知能などの新し
い考え方に立脚して克服できないか工夫したい.講義の前半では計算機の仕組
みを学んだあとで,なぜ時間がかかるプログラムになるのかを体験的に覚えて
もらう. さらに,人工知能的アプローチについても学ぶ.

授業の進め方

基本的に,本授業は講義形式で行うが,計算機の概念等は講義を聞くのみでは
理解の難しい部分もあるので,これまでの情報科学1等で学んで来たプログラム言語
を用いて,計算の本質の理解できる問題や計算の困難な問題について,実際に
プログラムを作成することで,理解を深める.そのため,「やさしいコンピュー
タ科学」にもとづいて,プログラミング課題を出題し,レポート提出を行う.

達成目標

本講義を受講することで,以下の項目の習得ができる.

(1) 計算機の仕組みの理解,計算機の構成と機械語・アセンブリ言語の
理解
(2) 高級言語とコンパイラの概容を理解
(3) 計算不能問題の理解
(4) 計算量と計算の困難さの理解
(5) 並列計算の仕組みの理解
(6) 人工知能と推論の仕組みの理解
 
授業の詳細2 授業計画

1-5. これまで学んできたプログラム言語(手続き型プログラム言語)を用いて
重要なデータ構造,プログラミングコーディングを学ぶ.決定木による意思決定,
テキスト処理によるリスト処理の考え方,数値計算と誤差の基礎的概念,関係
データベースの仕組みと考え方を学ぶ.これはどれも簡単にコーディングできる
例題であるが,コンピュータ科学を学ぶ上で重要かつ基礎的な概念をすべて
含んでいる.また,より大規模で複雑なプログラムを大規模なプロジェクトで
構築していく上でのソフトウェア工学の基本的考え方も学ぶ.

ここでは,テキスト,整数,実数などの基本的なデータ表現方法と,アルゴリズム
の構築方法,処理を行う「関数」の数学的な定義,性質,「関数」の不可算性
(物を「数えられる・数えられない」という数学的な考え方)を学び,後半での
情報科学の理論的背景を学ぶ準備を行う.

また,C, Pascal, Java,BASICなど,現在一般的に用いられている手続き型言語の
他,まったく異なる考え方によるプログラミングである関数型言語,論理型言語
について紹介する.

6-7. マシンアーキテクチャ
スイッチやリレーを直列・並列に組み合わせることによって任意の関数を実現できる
ことを示す.これは後々の論理回路の考え方につながる基礎的な概念である.また,
チューリングマシンやフォンノイマンの歴史的意義を復習する.その後で,8088マイ
クロプロセッサのサブセットで動作するマイクロプロセッサを解説し,コン
ピュータアーキテクチャを理解する.次に,8088サブセットコンピュータのア
センブラを理解し,アセンブラプログラミングを体験する.

8-9. トランジスタ,大規模集積回路(VLSI)の発明によりコンピュータは飛躍的に
発展した.これらの仕組みを学び,現在のコンピュータの心臓部を構築している
半導体とその性質について学ぶ.

10. コンパイラ Pascalをアセンブラに翻訳するに当たり,Pascal
の平叙文を生成する構文生成ルールとその使い方を学ぶ.また,構文生成ルー
ルに対応した意味論を定義し,Pascalの平叙文がアセンブラに翻訳されてゆく
過程を学ぶ.

 
授業の詳細3 11. 計算量と問題の困難さ 計算量の増加にはオーダという計算概念があ
ることを学ぶ.つぎに,いくつかのアルゴリズムがどのようなオーダになるの
かを理解する.演算量の概算が多項式で表せる問題を多項式時間アルゴリズム
と呼ぶことを学び,計算量がべき乗のオーダの場合には事実上計算不能である
ことを認識する.NP問題についても概念を理解する.

12. 並列プロセッサ 計算困難な問題も並列プロセッサでは解けるだろ
うか.並列プログラムではリソースの奪い合いが発生し,これを制御するため
セマフォを導入する必要があること,また,これにより通信プロセスに時間が
かかることを理解する.

13. 計算不能 計算不能の準備として、背理法を復習し、実数の濃度が可
算無限以上の濃度になる対角線論法を理解する.プログラムの自動停止問題な
ど、プログラムの振る舞いを判定するプログラムはそもそもできないことを理
解する.

14. 人工知能(AI) コンピュータは「理解」できるか,その理解は
人間並みかと言う問題に挑戦する.このため,今まで学んだような算術演算で
はなく,意味ネットワークというものを用いて全体を把握するということを学
ぶ.

推論とゲームの理論 意味ネットワークを用いると推論が出来るこ
とを学ぶ.結局のところ探索問題に落ち着き,その応用としてゲームの理論を
学ぶ.具体的にはニムゲームを用いて,ゲームの戦略(勝てる方法)を理解す
る.
 
授業の詳細4 成績評価:

この授業では,演習・中間試験・最終試験の結果により総合的に評価する.
総合成績は,以下の到達度判定に用いられる.成績評価は到達度によって判定される.

中間試験は 6-7. マシンアーキテクチャを終了した段階で行う.試験範囲は1-7. まで
の範囲である.2010年度の予定では12月末の授業にて行う予定である.

最終試験の試験範囲は 1-14. 授業で取り扱ったすべての事項である.

F:到達度が総合的に見て60%に満たない者
C:到達度が総合的に見て60%以上70%未満の者
B:到達度が総合的に見て70%以上80%未満の者
A:到達度が総合的に見て80%以上90%未満の者
AA:到達度が総合的に見て90%以上の者

履修上の注意: レポート提出を課すので,1Q〜3Q までの各講義で,コンピュータの操作,
プログラミング,LaTeX,Tgif,UNIXの使用についてよく慣れておくこと.

履修者数制限: 本科目は K-WS にて行う予定であり,履修者数は140名を上限とし,
履修希望者がこれより多い場合は,履修を認めない場合がある.

備考:なし

履修前の受講が必要な科目:情報学群科目「コンピュータリテラシー」,情報学群科目「情報科学1」
同時履修が必要な科目:情報学群科目「情報科学2」

テキスト:Alan W. Biermann著 「やさしいコンピュータ科学」 アスキー出版局,1993年
 
授業の詳細5  
授業の詳細6  
授業の詳細7  
授業の詳細8  
授業の詳細9  
授業の詳細10  


Copyright (c) 2006 NTT DATA KYUSHU CORPORATION. All Rights Reserved.