計算機言語論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の習得をしていることが望ましい。継続的に授業内容の予習・復習を行うこと。「情報科学」教育プログラムの必履修科目である。

授業計画

授業内容 週ごとの到達目標
後期
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

評価割合

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