プログラミングI

科目基礎情報

学校 熊本高等専門学校 開講年度 2019
授業科目 プログラミングI
科目番号 HI1203 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 4
開設学科 人間情報システム工学科 対象学年 2
開設期 通年 週時間数 4
教科書/教材 柴田望洋 著「新・明解C言語 入門編」ソフトバンククリエイティブ
担当教員 神﨑 雄一郎,小松 一男

到達目標

C言語を用いて,基本的なプログラムを作成・実行できる.具体的には,変数,演算,入出力,分岐,繰返し,配列,関数,文字列,ポインタ,構造体を用いたC言語のプログラムを作成・実行できる.また,作成したプログラムの処理の流れを説明できる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
変数・演算・入出力・構造体「標準的な到達レベルの目安」に加え,各自の創造力を生かしたプログラムを作成できる.C言語プログラムの変数と型(整数,実数,文字)や構造体を理解できる.また,四則演算,代入文,構造体,入出力関数を使ったプログラムを作成できる.変数,型(整数,実数,文字),構造体を理解できない.あるいは,四則演算,代入文,基本的な入出力関数を使ったプログラムを作成できない.
分岐と繰り返し「標準的な到達レベルの目安」に加え,各自の創造力を生かしたプログラムを作成できる.if,switchによる分岐や,for,while,do-whileによる繰返し制御を理解し,それらを使ったプログラムを作成できる.if,switchによる分岐や,for,while,do-whileによる繰返し制御を理解できない.あるいは,それらを使ったプログラムを作成できない.
配列とポインタ「標準的な到達レベルの目安」に加え,各自の創造力を生かしたプログラムを作成できる.配列,文字列,ポインタが理解でき,それらを使ったプログラムを作成できる.配列,文字列,ポインタが理解できない.あるいは,それらを使ったプログラムを作成できない.
関数 「標準的な到達レベルの目安」に加え,各自の創造力を生かしたプログラムを作成できる. 関数や変数のスコープ(ローカル変数・グローバル変数)が理解でき,それらを使ったプログラムを作成できる. 関数や変数のスコープが理解できない.あるいは,それらを使ったプログラムを作成できない.

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

教育方法等

概要:
C言語を用いてプログラミングの基礎を学習する.
変数,演算,入出力,分岐,繰返し,配列,関数,文字列,ポインタ,構造体等を用いたプログラムの作成方法を,演習を主体として実践的に学ぶ.
授業の進め方・方法:
各トピックについて,クラスルームでの講義・議論と,コンピュータを用いた演習を繰り返す形で授業を進める.
定期試験(50%),演習課題(30%),理解度確認クイズ(20%)を総合して評価し,60%以上の得点率で合格とする.
注意点:
規定授業時数(単位時間)は120である.
3年次以降にプログラミングの知識が求められる科目が多数設けられているため,本科目でプログラミングの基礎をしっかりと習得することが重要である.

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 変数・演算・入出力(1) ・基本操作(プログラムの編集,コンパイル,実行)ができる
・C言語プログラムの基本形を理解し,実行できる
・基本的なデータ型(整数,実数など)を理解し,変数を定義できる
・四則演算と代入文を利用できる
・printf関数およびscanf関数による入出力を利用できる
2週 変数・演算・入出力(2) 同上
3週 変数・演算・入出力(3) 同上
4週 分岐・繰り返し(1) ・ifとswitchによる条件分岐が記述できる
・for,while,do-whileによる繰り返し処理が記述できる
5週 分岐・繰り返し(2) 同上
6週 分岐・繰り返し(3) 同上
7週 分岐・繰り返し(4) 同上
8週 中間試験
2ndQ
9週 配列(1) ・1次元配列,2次元配列を理解し,利用できる
10週 配列(2) 同上
11週 配列(3) 同上
12週 配列(4) 同上
13週 文字と文字列(1) ・文字と文字列を理解し,利用できる
・文字列に関するライブラリ関数を利用できる
14週 文字と文字列(2) 同上
15週 前期定期試験
16週 答案返却
後期
3rdQ
1週 関数(1) ・関数を理解し,利用できる
・変数のスコープ(ローカル変数とグローバル変数)を理解し,利用できる
2週 関数(2) 同上
3週 関数(3) 同上
4週 関数(4) 同上
5週 ポインタ(1) ・ポインタを理解し,利用できる
・ポインタと配列の関係を理解し,ポインタを使った配列の処理ができる
・メモリアドレスの受け渡しを伴う関数を理解し,利用できる
6週 ポインタ(2) 同上
7週 ポインタ(3) 同上
8週 中間試験
4thQ
9週 ポインタ(4) 同上
10週 ポインタ(5) 同上
11週 構造体(1) ・構造体を理解し,利用できる
12週 構造体(2) 同上
13週 総合演習(1) ・これまで学んだ知識を使い,各自の創造力を生かしたプログラムが作成できる
14週 総合演習(2) 同上
15週 後期定期試験
16週 答案返却

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

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

評価割合

定期試験演習課題理解度確認クイズ合計
総合評価割合503020100
基礎的能力0000
専門的能力503020100
分野横断的能力0000