プログラミングⅡ

科目基礎情報

学校 沖縄工業高等専門学校 開講年度 令和07年度 (2025年度)
授業科目 プログラミングⅡ
科目番号 2033 科目区分 専門 / 必修
授業形態 講義・演習 単位の種別と単位数 履修単位: 2
開設学科 情報通信システム工学科 対象学年 2
開設期 通年 週時間数 2
教科書/教材 教員自作のテキスト,パワーポイント・プレゼン資料. 「プログラミング言語C第2版」(共立出版株式会社) 「C実践プログラミング第3版」(オライリー)
担当教員 金城 伊智子,神里 志穂子,宮城 桂,范 一平,比嘉 聖

到達目標

プログラミングの構造を理解し、構造体、ポインタなどを利用したプログラムを作成できる。
【V-D-1】①プログラミング言語C の制御構造の概念を理解し、これらを含むプログラムを記述できる。
【V-D-1】②変数型と配列・ポインタ・構造体を理解し、これらを含むプログラムを記述できる。
【V-D-1】③スタック・メモリマップの概念を理解し、スタック・メモリマップの概念を理解し、与えられた課題に対して、ソフトウェア生成に必要なツール類を用いてソースプログラムを生成し実行できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安(可)
評価項目1プログラミング言語C の制御構造の概念を理解し、これらを含むプログラムを記述できる。 授業で学習した内容と関連付けながら、作成したプログラムの要点を説明できる。 講義資料や参考図書の内容に従い、プログラミング言語Cを用いて作成したプログラムの要点を説明できる。 講義資料や参考図書を参照しながら、プログラミング言語Cを用いて簡単なプログラムを作成できる。
変数型と配列・ポインタ・構造体を理解し、これらを含むプログラムを記述できる。 授業で学習した内容と関連付けながら、変数型と配列・ポインタ・構造体を用いたプログラムの要点を説明できる。 講義資料や参考図書の内容に従い、変数型と配列・ポインタ・構造体を用いたプログラムの要点を説明できる。 講義資料や参考図書を参照しながら、変数型と配列・ポインタ・構造体を用いたプログラムを作成できる。
スタック・メモリマップの概念を理解し、与えられた課題に対して、ソフトウェア生成ツールを用いて解決するソースプログラムを記述し実行できる。 授業で学習した内容と関連付けながら、スタック・メモリマップの概念を理解し、プログラミング言語Cを用いて作成したプログラムの要点を説明できる。 講義資料や参考図書の内容に従い、スタック・メモリマップの概念を理解し、プログラミング言語Cを用いて作成したプログラムの要点を説明できる。 講義資料や参考図書を参照しながら、スタック・メモリマップの概念を理解し、プログラミング言語Cを用いて簡単なプログラムを作成できる。

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

学科ごとの教育目標 2 説明 閉じる

教育方法等

概要:
講義の前半で、パワーポイントによる講義資料に基づいて文法規則や要点について説明を行う。
例題を通じて注意点について解説し、各自のPCでのプログラム作成・コンパイル・実行・デバッグ等の演習を通じ、基本的な構文の復習から組込み開発の応用例までを学ぶ。
授業の進め方・方法:
毎回講義形式と演習問題への取り組みの形式で進め、項目修了時には確認の為の課題を課し、
実行結果とソースコードを提出させることによりプログラミング能力を修得させる。
演習時間中に個別指導や対応を通じ、不明な点や理解できない点が残らないように指導する。
演習結果はサーバの指定フォルダに格納し、個別理解度の把握に利用する。
注意点:
毎回,各自のノートPCを持参すること。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 年間のガイダンス
1年生の復習
シラバスの説明(授業の概要、進め方)。
1年生で学んだ内容を復習する
2週 配列を応用したプログラム プログラミングⅠで学んだ配列について復習し、その知識を応用したプログラムを作成する
3週 関数を応用したプログラム
プログラミングⅠで学んだ関数について復習し、その知識を応用したプログラムを作成する
4週 ポインタを応用したプログラム プログラミングⅠで学んだポインタについて復習し、その知識を応用したプログラムを作成する
5週 構造体メンバとポインタに関する理解
構造体メンバとポインタについて学び、演習課題を通じ理解を深める
6週 構造体引数に関する理解
構造体を引数について学ぶ
7週 構造体とポインタに関する理解
構造体へのポインタ配列について学ぶ
8週 構造体とポインタに関する演習
構造体へのポインタ配列について演習課題を通じ理解を深める
2ndQ
9週 直接探索 直接探索のアルゴリズムについて学習する
※小テストを実施する
10週 線形探索 線形探索のアルゴリズムについて学習する
11週 二分探索
二分探索のアルゴリズムについて学習する
12週 スタック、キュー
データ構造のスタックとキューに関する概念を理解する
13週
データ構造の木に関する概念を理解する
14週 グラフ、集合
データ構造のグラフと集合に関する概念を理解する
15週 小テスト
これまで学習してきた内容についての小テストを実施する
16週
後期
3rdQ
1週 リスト、双方向リスト
リスト構造と双方向リストに関する概念を理解する
2週 木の走査
木構造に関して、走査方法を理解する
3週 二分木と二分探索
二分木と二分探索方法の概念について理解する
4週 二分探索木のノードの挿入と削除
二分探索木におけるノードの挿入方法および削除方法について理解する
5週 ハッシュ法
ハッシュテーブルのデータ構造、ハッシュ法の計算量などについて理解する
6週 バブルソート
バブルソートの概念について理解する
7週 選択ソート
選択ソートの概念について理解する
※小テストを実施する
8週 探索方法およびソート方法に関する小テスト
これまで学んだ探索方法およびソート方法についての小テストを実施する
4thQ
9週 挿入ソート
挿入ソートの概念について理解する
10週 シェルソート
シェルソートの概念について理解する
11週 クイックソート
クイックソートの概念について理解する
12週 マージソート
マージソートの概念について理解する
13週 ソート方法に関する小テスト これまで学んだソート方法についての小テストを実施する
14週 プログラミング演習課題1
オリジナルプログラムの作成
15週 プログラミング演習課題2
オリジナルプログラムの作成
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週

評価割合

小テスト課題作成その他合計
総合評価割合60400100
基礎的理解6020080
応用力010010
社会性0000
主体的・継続的学修意欲010010