情報インフラストラクチャー

科目基礎情報

学校 久留米工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 情報インフラストラクチャー
科目番号 5E06 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 1
開設学科 電気電子工学科 対象学年 5
開設期 前期 週時間数 2
教科書/教材 教科書:ふつうのLinuxプログラミング 第2版,青木 峰郎,SBクリエイティブ
担当教員 加藤 直孝

到達目標

1.C言語でシステムプログラミングができる.
2.Linux kernelの基本が理解できる.
3.Ubuntuのファイルシステム,プロセス,ストリームに関するプログラミングができる. 

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1C言語でシステムプログラミングができる.ポインターを多用するC言語のプログラミングができる.ポインターを多用するプログラミングができない.
評価項目2Linux kernelの基本を理解している.Linuxのファイルシステムやプロセスを理解している.Linux manualのsectionの番号 1, 2, 3の内容の区別がわからない.
評価項目3Ubuntuのファイルシステム,プロセス,ストリームに関するプログラミングができる.Ubuntuのファイルシステム,プロセス,ストリームに関するプログラミングができる.システムプログラミングができない.

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

JABEE B-1 説明 閉じる

教育方法等

概要:
この授業では,Linuxのシステムプログラミングの学習が一人でできるようになることを目指す.使用する教科書は初心者向けのLinuxシステムの教科書なので,この教科書を1日も早く終了し,次のステップのUnix/Linuxの教科書に進むことができるようになることを期待している.授業では,学生が主体となり学習を進め,教員はできるだけ教科書以上の内容について時間を使う予定である.
担当教員はIBMでの長い実務経験を有している.
実務経験のある教員による授業科目:加藤は企業(IBM)でコンピューター・システムの開発を担当していた.その経験を活かしコンピューター・システムに関する授業を行う.
授業の進め方・方法:
授業では,指定した教科書を中心に学生が主体となって学習を進めて行く.教科書に出てくるコマンド入力やプログラムは学生が手を動かして入力するものとする.入力とその結果は課題として提出する.また,教科書の内容は,4人以下のグループに分かれて,お互いに教えあうようにする.
教員は,できるだけ,教科書よりもより高度なコード例を説明するように努力する予定である.
注意点:
作業を進めうるが,OSのバージョンアップ等で教科書通りに行かない可能性もある.適宜Googleを活用して問題解決をはかる必要がある.
評価方法の詳細:
教科書に関する発表やグループワークの結果,および課題提出の内容で評価を行う.
グループ発表 50%、課題提出内容 50%で評価する.
60点以上を合格とする。再試は行わない.
次回の授業範囲を予習し、教科書の該当範囲を事前に読んでおくこと。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 オリエンテーション ネットワーク接続試験を始める.PC(BYOD)を持参すること.
2週 仮想化のソフトウェアについて説明する.Virtualboxを Install する(1)
Ubuntu をDownloadする.
システムの仮想化について理解する.
Virtualbox のインストールを完了する.
Ubuntu を Download する.
3週 Windows Terminal, WSL2, Ubuntuをインストールする.
Windows Terminal, WSL2, Ubuntuをインストールする.
4週 Group1: 教科書Page 70までを発表する. コマンドを入力し,課題として提出する.
5週 予備 (先輩講話など) 予備(講話に関する感想等)
6週 Group2: ストリームに関わるシステムコールについて発表 独自のcat プログラムが書ける.
7週 Group3: ストリームに関わるライブラリー関数について発表 straceを使いライブラリーがシステムコールをどのように行っているか説明できる.
8週 Group4: 「headコマンドを作る」について発表する.
GDBの使いかたについて説明する.
headコマンドプログラムが書ける.基本的なGDBが使える.
2ndQ
9週 Group5: 「grepコマンドを作る」について発表する.
「Linuxのディレクトリ構造」について説明する.
grepコマンドをC言語で書ける.
10週 Group6: ファイルシステムに関わるAPIについて発表する. 簡単なmvコマンドが作れる.
11週 Group7: プロセスとハードウェアについて発表する.とくに仮想CPUと仮想メモリーについて説明する. プロセスと仮想メモリーとの関係が理解できる.
12週 Group8: プロセスに関わるAPIについて発表する. execlを使ったプログラムを書ける
13週 Group9: シグナルに関わるAPIについて発表する.
関数ポインターを使ったプログラムが書ける.
14週 Group10: プロセスの環境について発表する.
自プロセスの環境を表示するプログラムが書ける.
15週 予備 予備
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力数学数学数学1変数関数のテイラー展開を理解し、基本的な関数のマクローリン展開を求めることができる。4前6,前7,前10,前11,前12,前13
専門的能力分野別の専門工学情報系分野情報通信ネットワークローカルエリアネットワークの概念を説明できる。3前6,前7,前10,前11,前12,前13
インターネットの概念を説明できる。3前6,前7,前10,前11,前12,前13
ネットワークを構成するコンポーネントの基本的な設定内容について説明できる。3前6,前7,前10,前11,前12,前13

評価割合

試験発表相互評価態度ポートフォリオその他,成果物合計
総合評価割合05000050100
基礎的能力025000025
専門的能力000005050
分野横断的能力025000025