到達目標
(ア)GTK+によるデスクトップアプリケーションの作成の基本が理解できる
(イ)Wolfram言語による数式処理の基本が理解できる
(ウ)様々な言語によるGPIO制御が理解できる
(エ)カーネルの役割や特徴が理解できる
(オ)分散コンピューティングについて理解できる
ルーブリック
| 理想的な到達レベルの目安 (優) | 標準的な到達レベルの目安 (可) | 未到達レベルの目安 (不可) |
評価項目1 | GTK+によるデスクトップアプリケーションの作成の基本が理解できるとともに,汎用のアプリケーションにおける動作の仕組みを説明することができる. | GTK+によるデスクトップアプリケーションの作成の基本が理解できる. | GTK+によるデスクトップアプリケーションの作成の基本について説明することができない. |
評価項目2 | Wolfram言語による数式処理の基本が理解できるとともに,具体的な事象の解決に利用することができる. | Wolfram言語による数式処理の基本が理解できる. | Wolfram言語による数式処理の基本について,説明することができない. |
評価項目3 | 様々な言語によるGPIO制御が理解できるとともに,それらの特徴を最も活かした利用法が提案できる. | 様々な言語によるGPIO制御が理解できる. | 様々な言語によるGPIO制御について,説明することができない. |
評価項目4 | カーネルの役割や特徴が理解できるとともに,具体的なカーネルソースを用いて説明することができる. | カーネルの役割や特徴が理解できる. | カーネルの役割や特徴について説明することができない. |
評価項目5 | 分散コンピューティングについて理解できるとともに,応用例を提案することができる. | 分散コンピューティングについて理解できる. | 分散コンピューティングについて説明することができない. |
学科の到達目標項目との関係
学習・教育到達度目標 A2 ソフトウェア開発において,数理的理論に基づくスマートな設計ができるとともに,ハードウェアの基本動作を意識した設計ができる.
JABEE d 当該分野において必要とされる専門的知識とそれらを応用する能力
本校教育目標 ① ものづくり能力
教育方法等
概要:
計算機言語論Aで学習した計算機言語とその動作基盤となるOSの仕組みについて、より深く理解することを目的とする。ここでは、計算機言語論Aに引き続き、Raspberry Piを用い、ユーザサイドアプリケーションの応用としてGTK+により、X Windowアプリケーションの生成法を学ぶ。また、Wolfram言語により、強力な数式処理言語を体感する。後半では、物理レベルの制御としてGPIOのプログラミングや、オペレーティング・システムの核となるカーネルについて、その役割や特徴が理解できることを目的とする。最終的には、自身でカーネルを読めるようになることを目的とする。
授業の進め方・方法:
本講義では,計算機言語論Aで学習した計算機言語とその動作基盤となるOSの仕組みについて,より深く理解することを目的とする.教科書を用いた基礎理論の習得を行い,「計算機言語論演習」科目における実機演習と合わせ,物理レベルの制御からユーザサイドアプリケーションとカーネルの関係について理論的側面を学習する.
注意点:
Linux系OSの基本的な操作法が分かる必要があるため、計算機言語論Aの習得をしていることが望ましい。継続的に授業内容の予習・復習を行うこと。「情報科学」教育プログラムの必履修科目である。
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
シラバスを用いた授業内容の説明、計算機の構造 |
汎用の計算機システムの構造を理解するとともに,講義で用いる計算機を用いた理解につなげる.
|
2週 |
GTK+によるデスクトップアプリケーションの開発:イベント駆動型プログラミング |
デスクトップアプリケーションにおけるイベント処理について理解する.
|
3週 |
GTK+によるデスクトップアプリケーションの開発2:インタフェースの設計 |
デスクトップアプリケーションに求められるインタフェース設計について理解する.
|
4週 |
Wolfram言語による数式処理 |
Wolfram言語による数式処理の基礎を理解するとともに,自然界の問題の定式化,その解法への適用例を理解する.
|
5週 |
GPIO制御基礎:シェルスクリプトによるハードウェア制御 |
シェルスクリプトを用いたハードウェア制御について理解する.
|
6週 |
GPIO制御基礎:ウェブ経由のハードウェア制御 |
ウェブ経由のハードウェア制御を理解するとともに,シェルスクリプトを用いたハードウェア制御との違いについて理解する.
|
7週 |
GPIO制御:様々な言語によるGPIO制御 |
様々な言語によるGPIO制御についてそれぞれの特徴や類似点とともに理解する.
|
8週 |
オペレーティング・システムの基礎、カーネルの役割 |
オペレーティング・システムの基礎とカーネルの役割についてその全体像を理解する.
|
4thQ |
9週 |
カーネル・ソースの特徴と読み方 |
具体的なカーネル・ソースの特徴について理解する.
|
10週 |
カーネル・ソースとC言語 |
カーネル・ソースとC言語の関係について,カーネル・ソース特有の特徴を理解する.
|
11週 |
ライブラリ関数の役割とシステム・コールの違い、システム・コールの呼び出し |
ライブラリ関数の役割とシステム・コールとの違いやその呼び出し方法について理解する.
|
12週 |
システム・コールの特徴、システム・コールの使い方 |
システム・コールの使い方について,具体的なシステム・コールを用いて理解する.
|
13週 |
カーネルとデバイス・ドライバ |
カーネルとデバイス・ドライバの関係について,呼び出しや特徴を理解する.
|
14週 |
分割コンパイルと分散コンパイル |
分割コンパイルについて理解するとともに,分散コンパイルの仕組みを理解する.
|
15週 |
総まとめ |
|
16週 |
|
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 主要な言語処理プロセッサの種類と特徴を説明できる。 | 3 | 後8,後9,後10 |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 3 | 後8,後9,後10 |
ソフトウェア | ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 3 | 後8,後9,後10 |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 3 | 後8,後9,後10 |
システムプログラム | 形式言語の概念について説明できる。 | 3 | 後8,後9,後10 |
オートマトンの概念について説明できる。 | 3 | 後8,後9,後10 |
形式言語が制限の多さにしたがって分類されることを説明できる。 | 3 | 後8,後9,後10 |
正規表現と有限オートマトンの関係を説明できる。 | 3 | 後8,後9,後10 |
評価割合
| 中間試験 | 定期試験 | 合計 |
総合評価割合 | 40 | 60 | 100 |
専門的能力 | 40 | 60 | 100 |