システムプログラミング

科目基礎情報

学校 津山工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 システムプログラミング
科目番号 0139 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 学修単位: 2
開設学科 総合理工学科(情報システム系) 対象学年 5
開設期 後期 週時間数 2
教科書/教材 教科書:Linuxシステムプログラミング(オーム社)
担当教員 竹谷 尚

到達目標

学習目標:Unixシステムプログラミングの基本概念を学ぶ。
到達目標:
1. プロセスの生成やコマンドの実行の仕組みを理解し、取り扱うことができる。
2. ファイルとディレクトリの仕組みを理解し、取り扱うことができる。
3. 標準入出力とパイプラインについて仕組みを理解し、取り扱うことができる。
4. シグナル処理について理解し、プロセスを管理できる。
5. ジョブ制御の概念について理解し、プロセス間通信を使用できる。

ルーブリック

不可
評価項目1プロセスの生成やコマンドの実行の仕組みを理解し、適切に取り扱うことができる。プロセスの生成やコマンドの実行の仕組みを理解し、取り扱うことができる。プロセスの生成やコマンドの実行の仕組みを理解している。左記に達していない。
評価項目2ファイルとディレクトリの仕組みを理解し、適切に取り扱うことができる。ファイルとディレクトリの仕組みを理解し、取り扱うことができる。ファイルとディレクトリの仕組みを理解している。左記に達していない。
評価項目3標準入出力とパイプラインについて仕組みを理解し、適切に取り扱うことができる。標準入出力とパイプラインについて仕組みを理解し、取り扱うことができる。標準入出力とパイプラインについて仕組みを理解している。左記に達していない。
評価項目4シグナル処理について理解し、適切にプロセスを管理できる。シグナル処理について理解し、プロセスを管理できる。シグナル処理について理解している。左記に達していない。
評価項目5ジョブ制御の概念について理解し、適切にプロセス間通信を使用できる。ジョブ制御の概念について理解し、プロセス間通信を使用できる。ジョブ制御の概念について理解している。左記に達していない。

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

教育方法等

概要:
一般・専門の別:専門 学習の分野:情報システム・プログラミング・ネットワーク
基礎となる学問分野:情報科学、情報工学およびその関連分野/計算機システム関連
学習教育目標との関連:本科目は総合理工学科学習教育到達目標は「③基盤となる専門性の深化」に相当する科目である。
技術者教育プログラムとの関連:本科目が主体とする学習・教育到達目標は「(B)専攻分野に関連する知識理解を深化させ,それらを応用することができる,B-1:「電気・電子」,「情報・制御」に関する専門技術分野の知識を修得し,説明できること」である。
授業の概要:オペレーティングシステムの構築に使用されるC言語を用いて、UNIXシステムプログラミングの基本について取り上げる。
授業の進め方・方法:
授業の方法:本科目は時間割の都合上、前期2単位時間で実施される。スライドの提示や板書により解説を行う。また理解が深まるよう、関連した演習を課す。
成績評価方法:2回の定期試験の平均(70%),演習課題(30%)。原則として再試験は実施しない。定期試験には資料の持ち込みを許可する。
注意点:
履修上の注意:本科目は,学年の課程修了のために履修(欠課時間数が所定授業時間数の3分の1以下)が必須である。また,本科目は「授業時間外の学修を必要とする科目」である。当該授業時間と授業時間外の学修を合わせて,1単位あたり45時間の学修が必要である。授業時間外の学修については,担当教員の指示に従うこと。
履修のアドバイス:
・事前に行う準備学習として,基礎科目となるプログラミング基礎,アルゴリズムとデータ構造,プログラミング応用の内容を復習しておくこと。
・これまで習ったUNIXの基礎について十分復習をしておくこと。
基礎科目:プログラミング基礎(2年),アルゴリズムとデータ構造(3),プログラミング応用(4)
関連科目:情報システム特論(専1年),コンピュータシステム工学(専1),制御プログラミング(5年)
受講上のアドバイス:オペレーティングシステムの基礎と能力について解説しながら授業を進める。また各機能の使用方法について例題を挙げて説明するので、積極的にプログラミングに取り組むこと。授業の開始時に出席を確認し,授業開始から 25 分以内に入室すれば遅刻とし,遅刻3回で1欠課とする。

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

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

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 ガイダンス、Unixの基礎 本授業の到達目標およびUnixの基本的コマンドが使用できる。
2週 Cプログラミングの基礎(変数、関数、構文) Cプログラミングの基礎(変数、関数、構文)を説明できる。
3週 Cプログラミングの基礎(演算子、ポインタ、構造体) Cプログラミングの基礎(演算子、ポインタ、構造体)について説明できる。
4週 Cプログラミングの基礎(ライブラリ関数、プロトタイプ宣言、プリプロセッサ) Cプログラミングの基礎(ライブラリ関数、プロトタイプ宣言、プリプロセッサ)について説明できる。
5週 プロセスの生成とコマンドの実行 プロセスの生成とコマンドの実行について説明できる。
6週 ファイルシステム ファイルシステムについて説明できる。
7週 標準入出力とパイプライン 標準入出力とパイプラインについて説明できる。
8週 後期中間試験
4thQ
9週 前期中間試験の返却と解説
10週 プロセスとシグナル プロセスとシグナルについて説明できる。
11週 共有メモリを利用したプロセス間通信 共有メモリを利用したプロセス間通信について説明できる。
12週 メッセージを利用したプロセス間通信 メッセージを利用したプロセス間通信について説明できる。
13週 セマフォを利用したプロセス間通信 セマフォを利用したプロセス間通信について説明できる。
14週 スレッド スレッドについて説明できる。
15週 後期末試験、試験は実施しない
16週 前期末試験の返却と解説

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。4
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。4
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。4
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。4
システムプログラムコンピュータシステムにおけるオペレーティングシステムの位置づけを説明できる。4
プロセス管理やスケジューリングなどCPUの仮想化について説明できる。4
排他制御の基本的な考え方について説明できる。4
記憶管理の基本的な考え方について説明できる。4

評価割合

試験発表相互評価態度ポートフォリオ演習課題合計
総合評価割合40000060100
基礎的能力0000000
専門的能力40000060100
分野横断的能力0000000