システムプログラミングI(System Programming I)
本科選択・必修開設時期単位数授業形態担 当
情報電子必修3年後1講義浦上 美佐子
【授業の概要】
4年の「システムプログラミングII」に続く科目である。2つの講義で、ユーザ(プログラマ)の視点から特定のオペレーティングシステムを深く理解し、機能を使いこなせるようになることを目的としている。前半となる3年では、まず、システムプログラミングに必須のC言語の学習から始める。次に、C言語を用いたUNIXシステムプログラミングを学ぶ。
【授業の進め方】
講義では、理論や概念だけでなく、実際に動作している具体的なオペレーティングシステムのシステムコールを詳しく解説する。具体的なオペレーティングシステムとしては UNIX(MacOS) を用いる。学習内容は、実際に UNIX コマンドやプログラムミングを通して動作を確認することが可能である。宿題や演習で実際のシステムを用い学習した内容を確かめることにより、より確実な知識とする。
【授業計画】 【授業項目】 【内 容】
1 回 C言語入門、文字、文字列とprintf Javaとの実行方式の違いと基本事項を習う。実行を実際に試してみる。[演習:hello world]
2 回 演算子 様々な演算子を学ぶ。[演習:数値、代入、インクリメント、比較、論理演算]
3 回 演算子とデータ型 型変換、演算子の優先順位、優先順位表の見方を学ぶ。[演習:型変換、sizeof演算、優先順位]
4 回 制御文 Javaと共通のif、for、while、do-while、switch、break、continueを復習する。[演習:switch、入れ子ループ]
5 回 配列 配列と文字列について学ぶ。[演習:文字列操作関数の作成]
6 回 ポインタ ポインタについて学ぶ。[演習:swap関数]
7 回 ポインタと配列 ポインタ演算について学ぶ。[演習:文字列操作関数のポインタ版]
8 回 関数 引き数、戻り値、変数のスコープ、プロトタイプ宣言、main関数について学ぶ。[演習:echoコマンドの作成]
9 回 中間試験 基本的なC言語プログラムが書けるか試験する。
10 回 ファイルとストリーム ファイルと標準入出力を学ぶ。[演習:catコマンドの作成]
11 回 ファイル入出力関数 様々な高水準入出力関数を紹介する。[演習:catコマンドの改良、cpコマンドをの作成]
12 回 構造体 構造体について学ぶ。[演習:座標データを扱うプログラムの作成]
13 回 構造体ポインタ、構造体配列 構造体のポインタと配列について学ぶ。[演習:構造体配列として成績表を表現する]
14 回 動的なメモリ管理 malloc関数を紹介し、線形リストの表現方法を学ぶ。[演習:ソートされた線形リスト]
期末試験 学習したC言語文法などを使用できるようになったか確かめる。
15 回 答案返却など 期末試験の解答を解説する。
【到達目標】C言語の基本的なプログラムが書けるようになる。
【徳山高専学習・教育目標】B1【JABEE基準】
【評価法】中間試験、期末試験の平均点を全体の[80%]、宿題を[20%]とする。
【テキスト】Cの絵本,(株)アンク、翔泳社(教科書)
プログラミング言語C第2版、B.W.カーニハン他、共立出版(参考書)
【関連科目】本 科:基礎プログラミング(1年)、プログラミング(2年)、システムプログラミングII(4年)、オペレーティングシステムI、II(4,5年)