シラバス情報

授業コード
510087
オムニバス
科目名
コンピュータハードウェア
科目名(英語)
Computer Hardware
配当学年
1年
単位数
2単位
年度学期
2025年度春学期
曜日時限
月曜3限
対象学科
先_ロボ
コース
科目区分
専門科目
必選の別
選択科目
担当者
田村 仁
教室
1-355
実務家教員担当授業
授業の目的と進め方
コンピュータはPCだけではなく、家電製品からロボットまで幅広く組み込まれており、現代技術の根幹を成す。コンピュータはなぜ動くのか、という問に対して、この授業ではCPUの動作として答えられるようになる。コンピュータの動作原理を理解するために、CPUの基本動作からアセンブリ言語(マシン語)でのプログラミングについて学修し、本科目以降の情報系科目に必要な基礎を修得する。各回でポータルを用いた小テストやプログラミング課題を行い、各自に採点結果を公開する。
達成目標1
10進数から2進数へ等の基数変換や2進数の加算減算などの計算ができる。【20%】
達成目標2
2進数のビットごとにANDやORなどの論理演算ができる。【20%】
達成目標3
CPUの概略や基本動作が説明できる。【20%】
達成目標4
CPUと機械語の動作を理解して機械語の簡単なプログラムを組める。【20%】
達成目標5
メモリやレジスタなどコンピュータハードウェアに必要なキーワードが説明できる。【20%】 
達成目標6
達成目標7

アクティブラーニング
ディスカッション
ディベート
グループワーク
プレゼンテーション
実習
フィールドワーク
その他課題解決型学習

授業計画
授業時間外課題(予習および復習を含む)
第1回
ガイダンス・コンピュータの概要

授業の進め方などの紹介と、コンピュータとは何か、その歴史や現代での利用分野などを講義する。
予習) 高校で学んだ情報科目の内容を復習しておくこと(1時間)。(復習)コンピュータがどこに使用されているか自分でも調べてみること(1時間)。 
第2回
2進数

コンピュータ内部の2進数の扱いついて講義する。基数変換の基礎から始まり、2の補数表現や、浮動小数点表現と文字コード表現について知る。 
10進数から2進数に変換する方法を調べて、実際に計算してみること(1時間)。(復習)1桁の16進数と4ビットの2進数の変換表を暗記、2の補数を使った2進数での減算などを練習し、小テストを受験すること(1時間)。
 
第3回
データの符号表現

2進数を使ったデータの表現方法について講義する。情報量の概念から、2進数を用いてデータを符号化する考え方について説明し、具体的な画像や動画データの内部について例示する。
 
(予習)自分のコンピュータやスマートフォンに存在する写真データや動画データの大きさを確認し、なぜその容量なのか概算を考えてみること(1時間)。(復習)授業内容を復習してから小テストを受験すること(1時間)。 
第4回
アセンブリ言語

コンピュータのプログラムとは何か。アセンブリ言語について講義する。CPUの内部のレジスタについて説明する。そして実際にアセンブリ言語(CASL2)でのプログラム例としてLAD命令でレジスタを操作する演習を行う。
(予習) テキスト1章を読んでおくこと(1時間)。(復習)章末の練習問題を解くこと(1時間)。
第5回
主記憶装置

主記憶装置とは何か講義する。実際に主記憶装置を操作するST命令とLD命令を使用したアセンブリ言語のプログラムを演習する。
(予習)テキスト2章をよんでおくこと(1時間)。(復習)2章の練習問題の問題1から問題3を解き、また小テストを受験すること(1時間)。
第6回
間接アドレス

インデックスレジスタを使ったインデックス修飾について講義する。LD命令とLAD命令の違いを理解する。またIN命令とOUT命令を使ったI/Oについて講義する。これらを実際に使用したプログラミング演習を行う。
(予習) インデックスレジスタが何に使えるのか、実際のプログラム例を調べておくこと(1時間)。(復習)2章の練習問題で問題4から問題6を解くこと.小テストを受験すること(1時間)。
第7回
算術演算と論理演算

ADDL命令とSUBL命令による足し算と引き算、ADDA命令とSUBA命令による算術演算、オーバーフロー、AND命令、OR命令、XOR命令による論理演算について講義する。
(予習)テキスト3章のp89まで読んでおくこと(1時間)。(復習)練習問題1と2と4を解くこと、小テストを受験すること(1時間)。
第8回
演算の応用

XOR命令の応用としてチェックサム計算やパリティ演算について、またSLA命令SRL命令による算術シフトと、SLL命令とSRL命令による論理シフトについて講義する。前回の命令と合わせてチェックサムやパリティを求めたり、掛け算や割り算を行うプログラミング演習を行う。
(予習) テキスト3章の残りを読んでおくこと(1時間)。(復習)練習問題の問3、問5以降を解くこと.小テストを受験すること(1時間)。
第9回
条件分岐

CPL命令とCPA命令による比較演算とフラグレジスタの挙動について説明し、JMP命令やJMI命令などの分岐命令(条件付きジャンプ命令)について講義する。
(予習)テキスト4章を読んでおくこと(1時間)。(復習)練習問題の問1と問2と問3を解くこと.小テストを受験すること(1時間)。 
第10回
繰り返し処理

分岐命令を定型的に使用しての繰り返し処理について講義する。決まった回数の繰り返しと、条件を満たすまでの繰り返し、前判定の繰り返し、入れ子の繰り返しについて説明する。
(予習) 発展問題の解き方を考えておくこと(1時間)。(復習)発展問題を提出し、小テストを受験すること(1時間)。
第11回
副プログラム

繰り返し処理の応用例について演習し、またCALL命令を使った副プログラムについて講義する。副プログラムへの値の渡し方や結果の返し方、多値の扱い、PUSH命令とPOP命令によるスタックについて説明する。
(予習)テキスト5章を読んでおくこと(1時間)。(復習) 練習問題の問題1から問題4を解くこと。小テスト0を受験すること(1時間)。
第12回
副プログラムの応用

副プログラムを使った演習として、掛け算副プログラムや、文字列の大文字・小文字の変換などの応用のプログラムを作成する。
(予習) 発展問題の解き方を考えておくこと(1時間)。(復習)発展問題を実際に解いて提出すること。小テストを受験すること(1時間)。
第13回
総合演習

総合演習として、様々な例題に取り組む。
(予習)テキスト6章を読んでおくこと(1時間)。 (復習)練習問題の問題1から問題4までを解くこと。小テストを受験すること(1時間)。
第14回
まとめ

授業のまとめを行う。これまでに解けなかったり完成しなかったりしたプログラム課題に取り組む。
(予習) 発展問題の解き方を考えておくこと(1時間)。(復習)発展問題を実際に解いて提出すること。小テストを受験すること(1時間)。


課題等に対するフィードバック
サポータルの小テストで正答率が低かった問題に対しては授業内で解説の時間を設ける。
プログラム課題は提出サイトで自動判定され、正答するまで受け取らない。
評価方法と基準
各週の小テストと課題にて評価する。コンピュータハードウェアに関わるキーワードを答えられるか、アセンブリ言語で簡単なプログラムを書けるかによって評価する。小テストと課題の合計点を100点に換算して、60点以上でC評価とする。 
テキスト
浅井宗海・岸田徹夫・尾川順子『プログラミング入門CASLⅡ』実教出版(2004)[ISBN:978-4-407-30539-5]
参考図書
- 
科目の位置づけ(学習・教育目標との対応)
本科目はディプロマポリシーに示されている複数の専門分野の知識を有するクロスリンク型の技術者を育成するために、本学科で必要となる機械・電気・情報・制御の4分野の中で情報分野の入門科目の一つとして位置づけられる。またカリキュラムポリシーに示されている情報処理技術者の資格取得に必要な知識・技術を実践的に修得するための科目の一つである。 
履修登録前の準備
ノートPCで学内LANに接続し、サポータルやその他のWebサイトにアクセスできるようにしておくこと。プログラミング作業するのにノートPCが必要なため、スマートフォンでは代用できない。