上級CプログラミングA

科目基礎情報

学校 豊田工業高等専門学校 開講年度 平成30年度 (2018年度)
授業科目 上級CプログラミングA
科目番号 33113 科目区分 専門 / 選択
授業形態 講義 単位の種別と単位数 履修単位: 2
開設学科 情報工学科 対象学年 3
開設期 前期 週時間数 4
教科書/教材 「新・明解C言語によるアルゴリズムとデータ構造」柴田望洋、辻亮介著(ソフトバンククリエイティブ)、ISBN: 978-4-7973-9052-0/「アルゴリズムの絵本」(株)アンク著(翔泳社)、ISBN: 978-4-7981-0452-2
担当教員 村田 匡輝,早坂 太一

到達目標

(ア)C言語の文法とC言語によるプログラミングの基礎から上級までを理解し、プログラム作成に利用できる。
(イ)アルゴリズムとデータ構造がプログラミングの要であることを理解する。
(ウ)アルゴリズムの概念を理解し、与えられたアルゴリズムが問題を解決していく過程を説明できる。
(エ)時間計算量、領域計算量などによってアルゴリズムを比較・評価することができる。
(オ)同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを理解している。
(カ)基本的な探索アルゴリズムを理解し、プログラムを作成できる。
(キ)基本的な整列アルゴリズムを理解し、プログラムを作成できる。

ルーブリック

最低限の到達レベルの目安(優)最低限の到達レベルの目安(良)最低限の到達レベルの目安(不可)
評価項目(ア)C言語の文法とC言語によるプログラミングの基礎から上級までを理解し、プログラム作成に利用できる。C言語の文法とC言語によるプログラミングの基礎から上級までを理解する。C言語の文法とC言語によるプログラミングの基礎から上級までを理解できない。
評価項目(イ)基本的な整列・探索アルゴリズムを理解し、プログラムを作成でき、さらに,同一の問題に対し,それを解決できる複数のアルゴリズムが存在しうることを理解している。基本的な整列・探索アルゴリズムを理解する。基本的な整列・探索アルゴリズムを理解できない。
評価項目(ウ)アルゴリズムの概念を理解し、アルゴリズムが問題を解く過程を説明でき、さらに、アルゴリズムと効率・複雑さを理解し、基本的なプログラムの計算量を見積もることができる。アルゴリズムの概念を理解し、アルゴリズムが問題を解く過程を説明できる。アルゴリズムの概念を理解できない。

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

本校教育目標 ①

教育方法等

概要:
プログラムを設計するために重要なものは、アルゴリズムとデータ構造である。本科目では、まず、C言語の文法の重要な点を復習し、データの探索や整列のための基本的なアルゴリズムを学ぶ。そして、学習したアルゴリズムについて、実際にプログラミングすることで理解を深める。さらに、上級CプログラミングとしてC言語ならではの技法も身につける。本科目は講義と演習を交互に実施、プログラミング能力を身につけるものである。
授業の進め方と授業内容・方法:
注意点:
プログラミングI, IIA, IIB を修得していることが望ましい。適宜ノートパソコンを持参すること。

授業計画

授業内容・方法 週ごとの到達目標
前期
1週 シラバスを用いた授業内容の説明、プログラミング環境の設定、アルゴリズムとは アルゴリズムの概念を説明できる。
2週 PIC C プログラミング1:スイッチおよびDelay関数によるフルカラーLED点灯制御 C言語の文法とC言語によるプログラミングの基礎を理解している。
3週 PIC C プログラミング2:タイマ0割り込みによるフルカラーLED点灯制御 C言語の文法とC言語によるプログラミングの基礎を理解している。
4週 PIC C プログラミング3:ブザーによる音階出力(オルゴールを作る) C言語の文法とC言語によるプログラミングの基礎を理解している。
5週 PIC C プログラミング4:7セグメントLEDのダイナミック点灯 C言語の文法とC言語によるプログラミングの基礎を理解している。
6週 PIC C プログラミング5:AD変換によるディジタル電圧計およびディジタル距離計の実現 C言語の文法とC言語によるプログラミングの基礎を理解している。
7週 PIC C プログラミング6:タイマ2割り込みによるPWM機能の実現とモータ制御 C言語の文法とC言語によるプログラミングの基礎を理解している。
8週 アルゴリズムの図的表現、変数のスコープと有効範囲、効率・複雑さ、実行時間の計測 アルゴリズムの図的表現、変数のスコープと有効範囲、効率、複雑さを理解し、基本的なプログラムの計算量を見積もることができる。
9週 素数探索アルゴリズム 素数探索アルゴリズムを理解し、改善できる
10週 小テスト1 C言語の文法とC言語によるプログラミングの基礎を理解している。アルゴリズムが問題を解く過程を説明でき、基本的なプログラムの計算量を見積もることができる。
11週 基本的な探索アルゴリズム:線形探索、二分探索 線形探索アルゴリズム、二分探索アルゴリズムを理解し、同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを理解している。
12週 基本的な整列アルゴリズム:選択法、挿入法、交換法 選択法、交換法、挿入法を理解し、同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを理解している。
13週 小テスト2 基本的な探索・整列アルゴリズムを理解している。
14週 上級Cプログラミング:関数ポインタ、列挙型 C言語によるプログラミングの上級を理解している。
15週 総まとめ C言語の文法と C言語によるプログラミンの基礎から上級までを理解し、プログラム作成に利用できる。
16週

評価割合

定期試験小テスト課題合計
総合評価割合503020100
専門的能力503020100