コンピュータ工学

科目基礎情報

学校 徳山工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 コンピュータ工学
科目番号 0035 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 2
開設学科 情報電子工学科 対象学年 2
開設期 通年 週時間数 2
教科書/教材 テキスト:「TeC教科書」徳山高専情報電子工学科 (必要に応じて参考資料を配布)
担当教員 浦上 美佐子

到達目標

授業毎に与える課題に対して、クロス開発したプログラムを実際にTeCマイコンで動作させ、授業時間内に完成させることができる。このような開発体験を通じて、コンピュータの仕組みや内部動作が理解できるようになる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
命令表を見て,プログラム開発を行うことができる全ての二ーモックとアドレッシング・モードの組合せでできるニーモックとアドレッシング・モードの組合せでできる例題で与えられたニーモックとアドレッシング・モードの組合せのみでできる
TeCマイコンによる実際の動作確認を通じて,コンピュータの仕組みや内部構造の説明ができるクロスアセンブラによるプログラム開発の学習により実際の動作確認を通じて,コンピュータの仕組みや内部動作を深く理解し,説明できるクロスアセンブラによるプログラム開発の学習により実際の動作確認を通じて,コンピュータの仕組みや内部動作を説明できるクロスアセンブラによるプログラム開発が困難で,コンピュータの仕組みや内部構造の説明ができない

学科の到達目標項目との関係

到達目標 C 1 説明 閉じる

教育方法等

概要:
1年次に履修した基礎コンピュータ工学の内容のさらなる応用について講義と演習を通して修得する.まず,コンピュータの入出力手法を学び,入出力プログラムの動作を理解する.また,クロスアセンブラによるプログラム開発の学習を通してコンピュータの仕組みや内部動作の理解を深め,自らの言葉で説明できることを目指す.その後,様々な応用課題についてクロス環境における開発とTeCマイコンによる実際の動作確認を通じて,プログラム開発の実践力を身に付ける.
授業の進め方・方法:
各回の授業では,まず,前回講義の理解度確認テストを行うことで習熟度をチェックした後,講義による説明を行う.理解度を確認するために,授業毎に,学習シート(演習課題)で作成したプログラム(List形式)と実行結果は,Teams課題機能を用いて提出する.授業中に提出できなかった場合は次回までの宿題となる.
事前事後学習として,配布した学習シートにる演習およびプログラム作成演習を計約30時間行う.
なお,理解度確認テストの結果や提出課題の評価結果より,個人別に再テストや再提出を指示することで習熟度を再確認する場合がある.
定期試験は,主に,学習シートの例題や演習課題から出題する.この科目は卒業までに必修得である.
注意点:
【関連科目】基礎コンピュータ工学(1年)、コンピュータシステム概論(3年)
最終成績評価式:(前期中間試験+前期末試験+後期中間試験+後期末試験)÷4(100%評価)

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 入出力の仕組み
【事前事後学習の内容(1時間)】学習シート
シリアル入出力の原理とマイコン上でのプログラミング方法を学ぶ。パソコンと通信できることを確認する。[演習]
2週 入出力プログラムとクロス環境によるシステム操作
【事前事後学習の内容(1時間)】学習シート
入出力する文字コードについて学び、入出力プログラムを作成し、動作を確認する。
クロスアセンブラによるアセンブルの手順を説明し、クロスア環境によるシステム操作を学ぶ。[演習]
3週 クロスアセンブラによるプログラミング
【事前事後学習の内容(1時間)】学習シート
クロスアセンブラによる基本プログラミングを理解し、プログラムを動作させる方法を体得する。[演習]
4週 掛算・割算プログラム
【事前事後学習の内容(1時間)】学習シート
シフトによる掛算、繰返しによる掛算・割算プログラムを作る[演習]
5週 スタック操作
【事前事後学習の内容(1時間)】学習シート
スタックの概念を解説し、スタック操作及びスタックを用いたレジスタ操作を学ぶ。[演習]
6週 総合演習
【事前事後学習の内容(1時間)】学習シート
入出力プログラム、基本プログラムに関する総合演習問題のプログラミングを行う。[演習]
7週 中間試験 これまでに学んだ知識が定着しているか,理解度を確認する。
8週 答案返却,総合演習
【事前事後学習の内容(1時間)】学習シート
入出力プログラム、基本プログラム、スタック操作が理解できているか確認する。[演習]
2ndQ
9週 サブルーチン
【事前事後学習の内容(1時間)】学習シート
サブルーチン化について学び、サブルーチンを用いた入出力プログラムを作る。[演習]
10週 2進数表示
【事前事後学習の内容(1時間)】学習シート
レジスタの内容を2進数に変換する方法を学び、2進数で表示するプログラムを作る。[演習]
11週 16進数表示
【事前事後学習の内容(1時間)】学習シート
レジスタの内容を16進数に変換する方法を学び、16進数で表示するプログラムを作る。[演習]
12週 文字列操作
【事前事後学習の内容(1時間)】学習シート
メモリ上の文字列を操作するプログラムを作る。[演習]
13週 メモリダンプ
【事前事後学習の内容(1時間)】学習シート
メモリの内容を16進数表示するプログラムを作る。[演習]
14週 総合演習
【事前事後学習の内容(2時間)】学習シート
サブルーチンを使った2進数、16進数表示に関する総合演習問題のプログラミングを行う。[演習]
15週 期末試験 これまでに学んだメモリ上の文字列、進数変換の仕組み等の理解度を確認する。
16週 答案返却など
試験の解答と解説を行う。
後期
3rdQ
1週 メモリ操作
【事前事後学習の内容(1時間)】学習シート
連続したメモリ操作の手法について学び、プログラムの実行結果を確認する。[演習]
2週 メモリクリアとメモリコピー
【事前事後学習の内容(1時間)】学習シート
メモリクリアとメモリコピーするプログラムを作る。[演習]
3週 文字列入力
【事前事後学習の内容(1時間)】学習シート
キーボード入力した文字列を操作するプログラムを作る。[演習]
4週 文字列編集
【事前事後学習の内容(1時間)】学習シート
メモリ上の文字列を編集するプログラムを作る。[演習]
5週 10進数表示
【事前事後学習の内容(1時間)】学習シート
レジスタの内容を10進数に変換する方法を学び、10進数で表示するプログラムを作る。[演習]
6週 10進数表示と総合演習
【事前事後学習の内容(1時間)】学習シート
レジスタの内容を符号付き10進数で表示するプログラム,総合演習問題のプログラムを作る。[演習]
7週 中間試験
これまでに学んだ、メモリ操作、文字列操作、10進数変換に関するプログラミングの理解度について確認する。
8週 解答返却と総合演習
【事前事後学習の内容(2時間)】学習シート
連続したメモリ操作、文字列操作、10進数変換に関するプログラミングが理解できているか確認する。[演習]
4thQ
9週 ソフトタイマー
【事前事後学習の内容(1時間)】学習シート
命令を繰返し実行して一定時間のソフトタイマーを作る。[演習]
10週 音の出力
【事前事後学習の内容(1時間)】学習シート
ソフトタイマーを使ってブザーとスピーカーから音を出力する方法を学ぶ。[演習]
11週 電子オルゴール
【事前事後学習の内容(2時間)】学習シート
音符データと電子オルゴールプログラムを作る。[演習]
12週 コンソール割込み
【事前事後学習の内容(1時間)】学習シート
割込みの概念を解説し、コンソール割込みによる割込み処理プログラムの動作を学ぶ。[演習]
13週 タイマー割込み
【事前事後学習の内容(1時間)】学習シート
タイマー割込みによる割込み処理プログラムを作る。[演習]
14週 総合演習
【事前事後学習の内容(1時間)】学習シート
タイマーサブルーチン、割込みに関する総合演習問題のプログラミングを行う。[演習]
15週 期末試験 これまで学んだ、タイマー、割込み操作の理解度について確認する。
16週 答案返却など 試験の解答と解説を行う。

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー論理演算と進数変換の仕組みを用いて基本的な演算ができる。3前10,前11,前12,前13,後5,後6
コンピュータのハードウェアに関する基礎的な知識を活用できる。2前1,前2,後1,後9
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。1前1,前2
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。3前4,前5,前8,前9,前10,前11,前12,前13,前14,後1,後2,後3,後4,後5,後6,後9,後10,後11,後12,後13
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。3前4,前5,前8,前9,前10,前11,前12,前13,前14,後1,後2,後3,後4,後5,後6,後9,後10,後11,後12,後13
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。3前4,前5,前8,前9,前10,前11,前12,前13,前14,後1,後2,後3,後4,後5,後6,後9,後10,後11,後12,後13
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3前9,前14,後11,後12,後13,後14
変数の概念を説明できる。3前1,前2,前3
データ型の概念を説明できる。3前2,前8
制御構造の概念を理解し、条件分岐を記述できる。3前4,前5,前8,前9,前10,前11,前12,前13,前14,後1,後2,後3,後4,後5,後6,後9,後10,後11,後12,後13
制御構造の概念を理解し、反復処理を記述できる。3前4,前5,前8,前9,前10,前11,前12,前13,前14,後1,後2,後3,後4,後5,後6,後9,後10,後11,後12,後13
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3前4,前5,前8,前9,前10,前11,前12,前13,前14,後1,後2,後3,後4,後5,後6,後9,後10,後11,後12,後13
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。3前4,前5,前8,前9,前10,前11,前12,前13,前14,後1,後2,後3,後4,後5,後6,後9,後10,後11,後12,後13
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。3前4,前5,前8,前9,前10,前11,前12,前13,前14,後1,後2,後3,後4,後5,後6,後9,後10,後11,後12,後13
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。1前1,前2,前3
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。3前4,前5,前8,前9,前10,前11,前12,前13,前14,後1,後2,後3,後4,後5,後6,後9,後10,後11,後12,後13
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。2前4,前5,前8,前9,前10,前11,前12,前13,前14,後1,後2,後3,後4,後5,後6,後9,後10,後11,後12,後13
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。2前4,前5,前8,前9,前10,前11,前12,前13,前14,後1,後2,後3,後4,後5,後6,後9,後10,後11,後12,後13
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。1前4,前5,前8,前9,前10,前11,前12,前13,前14,後1,後2,後3,後4,後5,後6,後9,後10,後11,後12,後13
計算機工学整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。3後5,後6
基数が異なる数の間で相互に変換できる。3前13,前14,後5,後6
整数を2進数、10進数、16進数で表現できる。4前13,前14,後5,後6
小数を2進数、10進数、16進数で表現できる。4前13,前14,後5,後6
基本的な論理演算を行うことができる。2後2,後3,後4,後5,後6,後11
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。2後2,後3,後4,後5,後6,後11
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。3前1,前2,前3
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。3前1,前2,前3,前4,前5,前8,前9,前10,前11,前12,前13,前14,後1,後2,後3,後4,後5,後6,後9,後10,後11,後12,後13,後14
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。3前1,前2,前3
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。3前1,前2,前3,後11,後14
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。3前1,前2,前3,前4,前5,前8,前9,前10,前11,前12,前13,前14,後1,後2,後3,後4,後5,後6,後9,後10,後11,後12,後13,後14
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。2後9,後10,後11,後14

評価割合

試験演習課題相互評価態度ポートフォリオその他合計
総合評価割合10000000100
基礎的能力0000000
専門的能力10000000100