プログラミングⅢ

科目基礎情報

学校 宇部工業高等専門学校 開講年度 令和05年度 (2023年度)
授業科目 プログラミングⅢ
科目番号 33026 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 1
開設学科 制御情報工学科 対象学年 3
開設期 4th-Q 週時間数 4
教科書/教材 「新・明解 C言語で学ぶアルゴリズムとデータ構造」柴田望洋(ソフトバンクパブリッシング)
担当教員 三谷 芳弘

到達目標

(1)再帰的アルゴリズムを図を用いて説明できる.(2)ソートアルゴリズムを図を用いて説明できる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安最低限の到達レベルの目安(可)未到達レベルの目安
評価項目1再帰的アルゴリズムの危険性を熟知した上で,再帰的アルゴリズムをプログラミングできる.再帰的アルゴリズムをトレースできる.また,再帰的アルゴリズムの解析方法を図を用いて説明でき,実際に解析できる.再帰的アルゴリズムを図を用いて説明できる.再帰的アルゴリズムを説明できない.
評価項目2ソートアルゴリズムをプログラミングできる.計算量及び安定性に関連して,ソートアルゴリズムを説明できる.基本的なソートアルゴリズムを図を用いて説明できる.基本的なソートアルゴリズムを用いて説明できない.

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

教育方法等

概要:
第4学期開講
アルゴリズムとデータ構造に関する基本的な事項を理解する.再帰的アルゴリズム,計算量及び安定性に関連してソートアルゴリズムを理解する.
授業の進め方・方法:
配布プリントに基づいて授業を進める.小テストとして,確認と課題を課すので,必ず提出すること.また,授業内容に関連したレポートを課すので,独自に工夫してまとめること.C言語の基本的な文法知識が必須である.C言語の教科書を携帯することを助言する.各項目ごとにプログラミングの演習課題を課す.演習課題を行うことにより知識の定着を図る.データ構造・アルゴリズムを理解するためには,図や模式図等を用い,その状況や動作を説明できることが重要である.
注意点:
データ構造とアルゴリズムは,プログラムを作成する際には是非とも習得すべき学問である.なぜなら,プログラムはデータ構造とアルゴリズムから構成されているからである.より良いプログラムは,データ構造とアルゴリズムを同時に考慮することにより作成される.データ構造とアルゴリズムを理解すると,より良いプログラムを作成する能力が身に付く.また,プログラミング能力を伸ばすためにも必須である.学期内に成績を再評価する場合がある。

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

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

授業計画

授業内容 週ごとの到達目標
後期
4thQ
9週 再帰的アルゴリズム 再帰アルゴリズムの基本について理解できる.再帰アルゴリズムを解析できる.
10週 計算量 計算量のオーダーについて理解できる.
11週 ソート バブルソート,単純選択ソートをプログラムできる.
12週 ソート 単純挿入ソート,シェルソートをプログラムできる.
13週 ソート マージソートをプログラムできる.
14週 ソート クイックソートをプログラムできる.
15週 ソート ヒープソートをプログラムできる.
16週 期末試験,試験返却,アンケート

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。4
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4
変数の概念を説明できる。4
データ型の概念を説明できる。4
制御構造の概念を理解し、条件分岐を記述できる。4
制御構造の概念を理解し、反復処理を記述できる。4
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。4
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。4
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。4
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。4
ソフトウェアアルゴリズムの概念を説明できる。4
与えられたアルゴリズムが問題を解決していく過程を説明できる。4
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。4
整列、探索など、基本的なアルゴリズムについて説明できる。4
時間計算量によってアルゴリズムを比較・評価できることを説明できる。4
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。4
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。4
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。4
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。4
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。4
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。4
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。4

評価割合

期末試験小テストレポート合計
総合評価割合801010100
知識の基本的な理解505560
思考・推論・創造への適用力305540
汎用的技能0000
態度・志向性(人間力)0000
総合的な学習経験と創造的思考力0000