プログラミングI

科目基礎情報

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

到達目標

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

ルーブリック

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

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

教育方法等

概要:
C言語を用いてプログラミングの基礎を学習する.
変数,演算,入出力,分岐,繰返し,配列,関数,文字列,ポインタ,構造体等を用いたプログラムの作成方法を,演習を主体として実践的に学ぶ.
授業の進め方・方法:
各トピックについて,(1) 要点を説明する5分~10分程度の講義,(2) Webフォームによる確認問題,(3) プログラミング演習,の3項目を行う形で授業を進める.また,定期試験(プログラミング実技形式等で行う中間試験・期末試験),および,理解度確認テスト(授業時にWebフォーム形式などで行う小テスト)を実施する.加えて,プログラムの相互レビューや,予習・復習の成果を確認するクイズを行うことがある.
演習課題の成果(相互レビューや予習・復習クイズの評価を含む)40%,定期試験40%,理解度確認テスト20%の割合で評価を行う.
注意点:
規定授業時数は120時間である.
3年次以降にプログラミングの知識が求められる科目が多数設けられているため,本科目でプログラミングの基礎をしっかりと習得することが重要である.

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

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

授業計画

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

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

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

評価割合

演習課題,相互レビュー,予習・復習クイズ定期試験理解度確認テスト(小テスト)合計
総合評価割合404020100
専門的能力404020100