プログラミング演習応用

科目基礎情報

学校 沼津工業高等専門学校 開講年度 令和05年度 (2023年度)
授業科目 プログラミング演習応用
科目番号 2023-526 科目区分 専門 / 選択
授業形態 演習 単位の種別と単位数 学修単位: 2
開設学科 制御情報工学科 対象学年 1
開設期 後期 週時間数 2
教科書/教材 WebClassやTeams等により配布(予定)
担当教員 鈴木 康人

到達目標

プログラミング言語の文法は理解できるがプログラムを作成できないという状況は起こりうることである。この状況は問題に適したデータ構造を選択できないか、作成するべき処理の流れを発想できないことに起因する。こうした原因を取り除くために、ソフトウェア工学(ソフトウェア設計論)があり、古くは構造化プログラミング、昨今ではリファクタリングなどの方法が存在している。この講義では、様々なデータ構造を具体的に使用したコードを作成することで、こうしたソフトウェア工学の入門につながる内容の提供を目的とする。到達目標として、示された目標を達成できないコードが与えられたとき、その原因を特定でき、修正できることを目標とする。

ルーブリック

理想的な到達レベルの目安(優)標準的な到達レベルの目安(良)未到達レベルの目安(不可)
データ構造の扱いこれまでに学習したデータ構造について、与えられた問題を解くのに不可欠な処理を使用して問題を解決できる。主題であるデータ構造を宣言し、与えられた問題を解くのに不可欠な処理を使用して問題を解決できる。主題であるデータ構造について、与えられた問題を解くのに不可欠な処理を使用していない。
処理の扱い与えられた問題を解く処理をモジュールあるいはクラスに分解してコーディングできる。与えられた問題を解く処理をコーディングできる。与えられた問題を解く処理をコーディングできない。
コードの表現与えられた問題を解くために出来上がっているコードに適切なインデント、名称を変数や処理につけることが出来、わかりやすいコメントが記載されている。与えられた問題を解くために出来上がっているコードに適切なインデントがついているか、名称が変数や処理についている。出来上がったコードのインデントが過度に不適切であるか、変数や処理の名称がぞんざいである。

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

教育方法等

概要:
GCCによるC言語とC++を使用する。最初はC言語の文法事項のみでデータ構造の学習を行う。次に構造化プログラミングの考えに基づいてトップダウンとボトムアップでソースコードを作成する。これらが終了後、クラスによるプログラミングの考え方の基礎を学習する。最後にクラスでのコードの改良について学習する。
授業の進め方・方法:
・オンデマンド方式とする。質問はTeamsないしメールで受け付ける。
・指導書をダウンロードし、 各自で学習し、採点機にかけて理解度を確認する。(講義動画の提供は未定)
・授業計画の全事項を終了した後、採点機によるチェックをすべて終わらせていることを条件に、理解度確認のため対面方式による試験を現地高専の監督教員の指導のもとで実施する。
注意点:
・受講を希望する学生の属する教育課程内の科目のシラバスに類似の内容がある場合は受講を認めないことがある
・受講生はコンピュータを所有していることを受講条件とする。この条件を満たせない場合は現地の情報センター教員と相談し、現地高専の演習室で環境構築が行えるかどうかを確認し、使用の許可を取っておくこと。環境構築の詳細については現地高専での指導を期待する。
・Cの文法事項(if, for, while, 簡単な関数呼び出し)については既習であるとする。
・令和5年度において本講義は令和4年度の反省から改良が予定されている。そのため講義計画は目安であり提供順や内容は変更されることもある。

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

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

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 オリエンテーション、環境構築確認 受講に適した環境が構築できているか確認できる
2週 基本型による配列(1) 1次元配列を使用して、2次元配列相当のデータ構造を実現できる
3週 基本型による配列(2) 配列を使用して待ち行列を実現できる
4週 基本型による配列(3) 配列を使用してスタックを実現できる
5週 ポインタと配列の関係 配列表現を利用してポインタを使用できる、ポインタ表現を利用して配列を使用できる
6週 ポインタ使用の基礎 動的記憶管理の表記が理解でき、簡単な管理ができる
7週 構造体(1) 構造体を宣言して使用することができる、構造体のポインタ変数を宣言して使用できる、構造体のメンバ変数にポインタを宣言できる
8週 構造体(2) 自己参照構造体を宣言して使用できる
4thQ
9週 構造化プログラミング(1) 構造化プログラミングの考え方を説明できる
10週 構造化プログラミング(2) 構造化プログラミングに沿ってプログラミングできる
11週 クラス(1) public,privateの使い分けができる、アクセサーが設定できる
12週 クラス(2) 簡単なhas-a関係にあるクラスを表現できる
13週 クラス(3) 簡単なis-a関係にあるクラス(継承クラス)を表現できる
14週 クラス(4) STL vectorを使用できる
15週 クラス(5) 与えられたコードの誤りを修正できる
16週

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

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

評価割合

遠隔チェック対面試験その他その他合計
総合評価割合406000100
専門的能力406000100
基礎的能力00000
分野横断的能力00000