プログラミングⅡ

科目基礎情報

学校 有明工業高等専門学校 開講年度 平成31年度 (2019年度)
授業科目 プログラミングⅡ
科目番号 0010 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 2
開設学科 創造工学科(情報システムコース) 対象学年 3
開設期 通年 週時間数 前期:1 後期:1
教科書/教材 C言語によるプログラミング基礎編[第2版];内田智史監修/オーム社、C言語によるプログラミング応用編[第2版];内田智史監修/オーム社
担当教員 菅沼 明

到達目標

自作関数、構造体、ポインタ、ファイル入出力、コマンドラインからの引数の取得を含むプログラムを記述できる

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1自作関数、構造体、ポインタ、ファイル入出力、コマンドラインからの引数の取得を含むプログラムを入力エラー処理やコメントを含めて見た目も美しく、他人にも分かりやすく、正確に記述できる。自作関数、構造体、ポインタ、ファイル入出力、コマンドラインからの引数の取得を含むプログラムを記述できる。自作関数、構造体、ポインタ、ファイル入出力、コマンドラインからの引数の取得を含むプログラムを記述できない。
評価項目2
評価項目3

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

学習・教育到達度目標 B-1 説明 閉じる

教育方法等

概要:
コンピュータで何らかの問題を解かせようとする場合、計算手順(アルゴリズム)を考え、次にそれをプログラムとして記述する。すなわち、プログラムを作成するためには、問題を解くための計算手順(アルゴリズム)を考えることと、それをプログラム化するためにプログラミング言語(コンピュータに命令を与えるための言語)の文法に関する知識とが必要であるといえる。 本授業の目標は、プログラミングⅠに引き続いてプログラミング言語の文法を学習し、プログラミング技術を修得することである。ここでプログラミング言語として、システム記述などに適しており、広く使われているC言語を採用する。なお、ANSI(米国規格協会)の標準規格に準拠したプログラムの記述方法を学習する。C言語のプログラムはメイン関数を含めて1つ以上の関数から構成されている。一つの関数においてある一まとまりの処理を行なうようにし、関数をそれが必要となった場所で呼び出すというモジュール化は大切である。ポインタは、変数などのメモリ上の格納場所(アドレス)を指し示すものである。構造体は、複数のデータを一つにまとめて意味のある一つの型として定義したものである。標準入力(キーボード)と標準出力(ディスプレイ)を介した入出力以外のものとしてファイル入出力がある。これにより、ファイルにデータを保存したり、ファイルからデータを読み出すことが可能となる。
授業の進め方・方法:
教室における授業と演習室での演習を実施する。年間で30問程度のプログラミング課題を出す予定であり、本授業および連続して開講する「情報システム演習Ⅱ」において各自、課題に取り組む。作成したプログラムは提出する。
注意点:
プログラミングⅠの内容の習得を前提とするが、一部、復習の内容を含む。

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス、復習 C言語のプログラムの基本的な記述法を理解する
2週 関数 自作の関数を含むプログラムが作成できる
3週 関数 自作の関数を含むプログラムが作成できる
4週 関数 自作の関数を含むプログラムが作成できる
5週 関数 自作の関数を含むプログラムが作成できる
6週 関数 自作の関数を含むプログラムが作成できる
7週 前期中間試験
8週 構造体 構造体の意義を理解する。構造体を宣言できる
構造体のメンバの直接参照ができる
2ndQ
9週 構造体 構造体を含むプログラムを作成できる
10週 構造体 構造体を含むプログラムを作成できる
11週 構造体 構造体を含むプログラムを作成できる
12週 構造体 構造体を含むプログラムを作成できる
13週 構造体 構造体を含むプログラムを作成できる
14週 構造体 構造体を含むプログラムを作成できる
15週 前期期末試験
16週 テスト返却と解説
後期
3rdQ
1週 ポインタ ポインタの概念を理解する。ポインタ変数とは何かを理解する。ポインタを適用したプログラムを作成できる。
2週 ポインタ 関数とポインタについて理解し、関数の呼び出し方として、参照による呼び出し(call by referennce)を理解すること。ポインタを適用したプログラムを作成できる。
3週 ポインタ ポインタと配列の関係について理解する。ポインタを適用したプログラムを作成できる。
4週 ポインタ ポインタを適用したプログラムを作成できる
5週 ポインタ ポインタを適用したプログラムを作成できる
6週 ポインタ ポインタを適用したプログラムを作成できる
7週 後期中間試験
8週 ファイル入出力 ファイルの概念を理解する。ファイルのオープンとクローズができる。ファイル入出力に関する各種標準関数が使える。ファイル入出力を伴うプログラムを作成できる。
4thQ
9週 ファイル入出力 ファイル入出力を伴うプログラムを作成できる
10週 ファイル入出力 ファイル入出力を伴うプログラムを作成できる
11週 ファイル入出力 ファイル入出力を伴うプログラムを作成できる
12週 ファイル入出力 ファイル入出力を伴うプログラムを作成できる
13週 コマンドライン コマンドラインから引数を取得するプログラムを作成できる。
14週 コマンドライン コマンドラインから引数を取得するプログラムを作成できる
15週 学年末試験
16週 テスト返却と解説

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。4
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4
変数の概念を説明できる。4
データ型の概念を説明できる。4
制御構造の概念を理解し、条件分岐を記述できる。4
制御構造の概念を理解し、反復処理を記述できる。4
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4
情報数学・情報理論コンピュータ上での数値の表現方法が誤差に関係することを説明できる。4
その他の学習内容少なくとも一つの具体的なコンピュータシステムについて、起動・終了やファイル操作など、基本的操作が行える。4
コンピュータウィルスやフィッシングなど、コンピュータを扱っている際に遭遇しうる代表的な脅威について説明できる。4
コンピュータを扱っている際に遭遇しうる脅威に対する対策例について説明できる。4
基本的な暗号化技術について説明できる。2
マルウェアやフィッシングなど、コンピュータを扱っている際に遭遇しうる代表的な脅威について説明できる。4
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。4
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。4
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。4

評価割合

試験発表相互評価態度ポートフォリオその他合計
総合評価割合80000200100
基礎的能力0000000
専門的能力80000200100
分野横断的能力0000000