計算機言語論B

科目基礎情報

学校 豊田工業高等専門学校 開講年度 平成30年度 (2018年度)
授業科目 計算機言語論B
科目番号 34224 科目区分 専門 / 選択
授業形態 講義 単位の種別と単位数 学修単位: 1
開設学科 情報工学科 対象学年 4
開設期 後期 週時間数 1
教科書/教材 「LPIC Level.1 1回で合格必達テキスト+問題集」、末永貴一著(SBクリエイティブ社)、ISBN:978-4-7973-7722-4/「新しいLinuxの教科書」、三宅英明ら共著(SBクリエイティブ社)、ISBN:978-4-7973-8094-1
担当教員 神谷 直希

到達目標

(ア)GTK+によるデスクトップアプリケーションの作成の基本が理解できる
(イ)Wolfram言語による数式処理の基本が理解できる
(ウ)様々な言語によるGPIO制御が理解できる
(エ)カーネルの役割や特徴が理解できる
(オ)分散コンピューティングについて理解できる

ルーブリック

理想的な到達レベルの目安 (優)標準的な到達レベルの目安 (可)未到達レベルの目安 (不可)
評価項目1GTK+によるデスクトップアプリケーションの作成の基本が理解できるとともに,汎用のアプリケーションにおける動作の仕組みを説明することができる.GTK+によるデスクトップアプリケーションの作成の基本が理解できる.GTK+によるデスクトップアプリケーションの作成の基本について説明することができない.
評価項目2Wolfram言語による数式処理の基本が理解できるとともに,具体的な事象の解決に利用することができる.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の習得をしていることが望ましい。継続的に授業内容の予習・復習を行うこと。「情報科学」教育プログラムの必履修科目である。

授業計画

授業内容・方法 週ごとの到達目標
後期
1週 シラバスを用いた授業内容の説明、計算機の構造 汎用の計算機システムの構造を理解するとともに,講義で用いる計算機を用いた理解につなげる.
2週 GTK+によるデスクトップアプリケーションの開発:イベント駆動型プログラミング デスクトップアプリケーションにおけるイベント処理について理解する.
3週 GTK+によるデスクトップアプリケーションの開発2:インタフェースの設計 デスクトップアプリケーションに求められるインタフェース設計について理解する.
4週 Wolfram言語による数式処理 Wolfram言語による数式処理の基礎を理解するとともに,自然界の問題の定式化,その解法への適用例を理解する.
5週 GPIO制御基礎:シェルスクリプトによるハードウェア制御 シェルスクリプトを用いたハードウェア制御について理解する.
6週 GPIO制御基礎:ウェブ経由のハードウェア制御 ウェブ経由のハードウェア制御を理解するとともに,シェルスクリプトを用いたハードウェア制御との違いについて理解する.
7週 GPIO制御:様々な言語によるGPIO制御 様々な言語によるGPIO制御についてそれぞれの特徴や類似点とともに理解する.
8週 オペレーティング・システムの基礎、カーネルの役割 オペレーティング・システムの基礎とカーネルの役割についてその全体像を理解する.
9週 カーネル・ソースの特徴と読み方 具体的なカーネル・ソースの特徴について理解する.
10週 カーネル・ソースとC言語 カーネル・ソースとC言語の関係について,カーネル・ソース特有の特徴を理解する.
11週 ライブラリ関数の役割とシステム・コールの違い、システム・コールの呼び出し ライブラリ関数の役割とシステム・コールとの違いやその呼び出し方法について理解する.
12週 システム・コールの特徴、システム・コールの使い方 システム・コールの使い方について,具体的なシステム・コールを用いて理解する.
13週 カーネルとデバイス・ドライバ カーネルとデバイス・ドライバの関係について,呼び出しや特徴を理解する.
14週 分割コンパイルと分散コンパイル 分割コンパイルについて理解するとともに,分散コンパイルの仕組みを理解する.
15週 総まとめ
16週

評価割合

中間試験定期試験合計
総合評価割合4060100
専門的能力4060100