プログラミング基礎II

科目基礎情報

学校 沖縄工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 プログラミング基礎II
科目番号 2204 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 2
開設学科 情報通信システム工学科 対象学年 2
開設期 通年 週時間数 2
教科書/教材 教員自作のテキスト,パワーポイント・プレゼン資料. 「プログラミング言語C第2版」(共立出版株式会社) 「C実践プログラミング第3版」(オライリー)
担当教員 宮城 桂

到達目標

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

ルーブリック

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

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

教育方法等

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

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 年間のガイダンス
シラバスの説明(授業の概要、進め方)。 シラバスの説明(授業の概要、進め方)。

2週 関数の構成 基本的な関数構成を理解し、プログラムを作成する
3週 関数を応用したプログラム
基本的な関数構成と値を返す方法を理解し、プログラムを作成する
4週 引数の扱い
引数について理解するし、プログラムを作成する
5週 引数を用いたプログラム
関数の作り方と引数をについて理解する
6週 関数での配列の扱い
関数で配列のデータを扱う方法を理解する
※小テストを実施
7週 アドレスの理解
アドレスとアクセス法について学ぶ。
8週 スタックの理解
データ構造について学ぶ。
2ndQ
9週 メモリ・マップの理解
メモリ・マップについて学ぶ。
10週 ローカル変数の理解と演習
ローカル変数について復習し、演習課題を通じ理解を深める。

11週 ライブラリとリンクの理解
ライブラリとリンクについて学び、演習課題を通じ理解を深める。
※小テストを実施
12週 型に関する理解
型の役割とキャストについて学ぶ。
13週 型とポインタに関する理解
typedefによる型の宣言を学ぶ。
14週 配列とポインタに関する理解
ポインタと配列の関係について学ぶ。
15週 文字列と配列に関する復習
文字列と配列について復習する。
16週 文字列とポインタに関する理解
文字列とポインタとの関係について学ぶ。
後期
3rdQ
1週 文字列とポインタに関する演習
文字列とポインタについて演習課題を通じ理解を深める。
2週 配列とポインタに関する理解
配列とポインタとの関係について学ぶ。
3週 配列とポインタに関する演習
配列とポインタについて演習課題を通じ理解を深める。
※小テストを実施
4週 文字列定数に関する理解
文字列定数とNULLポインタについて学ぶ。
5週 メモリ領域破壊に関する理解
メモリ破壊について学ぶ。
6週 mallocとfreeに関する理解
mallocとfreeについて学び、演習課題を通じ理解を深める。
7週 メモリ・リークに関する理解
メモリ・リークについて学ぶ。
8週 関数とポインタに関する理解
関数と戻り値、引数へのポインタについて学ぶ。
4thQ
9週 構造体メンバとポインタに関する理解
構造体メンバとポインタについて学び、演習課題を通じ理解を深める。
10週 構造体引数に関する理解
構造体を引数について学ぶ。
11週 構造体とポインタに関する理解
構造体へのポインタ配列について学ぶ。
12週 構造体とポインタに関する演習
構造体へのポインタ配列について演習課題を通じ理解を深める。
※小テストを実施
13週 プログラミング演習課題1 オリジナルプログラムの作成
14週 プログラミング演習課題2
オリジナルプログラムの作成

15週 プログラミング演習課題3
オリジナルプログラムの作成

16週 発表会
各自が作成したオリジナルのプログラムを発表

評価割合

小テスト発表課題作成その他合計
総合評価割合6010300100
基礎的理解601010080
応用力0020020
社会性00000
主体的・継続的学修意欲00000