プログラミング基礎II

科目基礎情報

学校 熊本高等専門学校 開講年度 2019
授業科目 プログラミング基礎II
科目番号 0030 科目区分 一般 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 1
開設学科 建築社会デザイン工学科 対象学年 2
開設期 前期 週時間数 2
教科書/教材 Cの絵本(株)アンク著 翔泳社
担当教員 米沢 徹也,村田 美友紀,小島 俊輔,藤本 洋一

到達目標

1.配列を用いたプログラムが作成できる.
2.構造体を用いたプログラムが作成できる.
3.関数を使用したプログラムを作成できる.
4.ポインタ,変数のスコープについて説明できる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
配列を用いたプログラムが作成できる.すべての課題を提出し,配列を用いたプログラムが作成できる.また,問題に応じて適切な配列を定義できる. すべての課題を提出し,配列を用いたプログラムが作成できる. すべての課題を提出していない,もしくは配列を用いたプログラムが作成できない.
構造体を用いたプログラムが作成できる.すべての課題を提出し,構造体を用いたプログラムが作成できる.また,問題に応じて適切な構造体を定義できる. すべての課題を提出し,構造体を用いたプログラムが作成できる. すべての課題を提出していない,もしくは構造体を用いたプログラムが作成できない.
関数を使用したプログラムを作成できる.すべての課題を提出し,関数を用いたプログラムが作成できる.また,問題に応じて適切な関数を定義,呼び出しできる. すべての課題を提出し,関数を用いたプログラムが作成できる. すべての課題を提出していない,もしくは配列を用いたプログラムが作成できない.
ポインタ,プログラムの構成について説明できる.ポインタ,プログラムの構成について説明できる.ポインタ,プログラムの構成について説明できる.ポインタ,プログラムの構成のいずれかについて説明できない.

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

教育方法等

概要:
現代は計算機システムだけでなく家庭電気製品にいたるまでプログラムによって制御されており,将来技術者として活躍する高専生にとって,プログラムの基本的な知識の習得は必須である.本科目では,与えられた課題をコンピュータを使って解決するために必要な基礎知識の習得を目指す.プログラミング言語としては,もっとも広く利用されているC言語を用いる.
授業の進め方・方法:
教科書に従って授業を進めるが項目に応じて,別途資料を配布する.多くの演習問題を取り入れ,学習内容の修得を目指す.授業の内容で分からないところは質問するなど不十分なままにしない.サンプルプログラムをただ入力するだけでなく,なぜそうする?こうしたらどうなる?と考えながら演習に取り組むことが重要である.
注意点:
プログラミング基礎Iの内容を理解していることが,前提となります.数学で公式だけ知っていても問題が解けないように,プログラムも構文を知っているだけでは,プログラムを作成することはできません.演習問題を含め多くのプログラムを作成することが目標達成につながります.プログラムが正しく動作しないときはバグ(誤り)を見つけ,修正する作業が必要ですが,この過程は皆さんの問題発見・解決能力を磨くことにつながると期待しています.
質問や相談は,直接,あるいはメールで随時受け付けます.また教員室前に所在を示し,在室時間等も掲示しておくので活用してください.

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 1次元配列(1)
・1次元配列を使うことができる.
・文字配列を使うことができる.
2週 1次元配列(2)
・分岐や反復を使って配列を操作できる.
3週 2次元配列(1)
・2次元配列を使うことができる.
4週 2次元配列(2)
・分岐や反復を使って2次元配列を操作できる.
5週 ポインタ(1)
・アドレス,ポインタを説明できる.
・ポインタを使うことができる.

6週 ポインタ(2)
・ポインタを使って配列を操作できる.
7週 関数(1)
・関数の定義と呼び出しができ,関数を使ったプログラムをトレースできる.
・プロトタイプ宣言について説明できる.
8週 [前期中間試験]
2ndQ
9週 関数(2)
・ローカル変数とグローバル変数の違いを説明できる.
・引数の値渡しと参照渡しの違いを説明できる.
10週 関数(3)
・時間に関する関数,数学関数などを使うことができる.
11週 プログラムの構成
・ヘッダファイルについて説明できる.
・マクロについて説明できる.
12週 構造体(1)
・構造体を使うことができる。
13週 構造体(2)
・構造体をさすポインタ,構造体の配列を用いたプログラムについて,変数をトレースできる.
14週 課題実習
配列,関数,構造体を使ったプログラムが書ける.
15週 [前期末試験]
16週 前期末試験の返却と解説

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。2前14
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。2前14
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。2前14
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。2前14
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。2前7
変数の概念を説明できる。2前14
データ型の概念を説明できる。2前14
制御構造の概念を理解し、条件分岐を記述できる。2前14
制御構造の概念を理解し、反復処理を記述できる。2前14
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。2前14
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。2前14
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。2前14
主要な言語処理プロセッサの種類と特徴を説明できる。1前11
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。1前11
ソフトウェアアルゴリズムの概念を説明できる。1前13,前14
与えられたアルゴリズムが問題を解決していく過程を説明できる。1前13,前14
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。1前13
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。1前12
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。1前12

評価割合

試験課題小テスト合計
総合評価割合702010100
基礎的能力50101070
専門的能力2010030
分野横断的能力0000