科目コード | CI413 | ||||
科目名 | プログラミング特論(Advanced Topics in Programming) | 単位数 | 2単位 | ||
対象学科 | 制御情報システム工学科 | 対象学年 | 4年 | 開講期間 | 通年 |
科目区分 | 専門応用科目 | 必修・選択 | 選択 | 履修/学修 | 学修 |
授業形式 | 講義・実習 | 授業時間数 | 60 | 実時間数 | 50 |
教員名(所属) | 野尻 紘聖(制御情報システム工学科) | 教員室 | 5号棟5F | ||
使用教科書 | 柴田望洋,新・明解 C言語によるアルゴリズムとデータ構造,ソフトバンククリエイティブ | ||||
参考書 | 東野勝治,C言語によるアルゴリズムとデータ構造入門,森北出版 浅野哲夫,IT Text アルゴリズム論,オーム社 | ||||
科目の位置付けと関連科目 | 【科目の位置付け】 CI科が設置するソフトコンピューティングコースの中で,基本的なプログラミング技術を発展させ,さまざまなデータを効率よく処理する能力を養成する科目 【関連科目】プログラム通論(CI3年),通信工学(CI4年),オブジェクト指向プログラム(CI5年),ソフトウェア設計(CI5年),自立分散システム(CI5年),ソフトコンピューティング(CI5年) 【資格試験】 基本情報技術者試験,C言語プログラミング能力認定試験2級 | ||||
科目の概要 | 世の中のさまざまな問題をコンピュータにより解決するためには,何らかのデータ処理が必要である.コンピュータで処理しやすいように,データの集まりと各データ間の結合関係を表現(モデル化)したものがデータ構造であり,それを意識したアルゴリズム(解法の手順)を問題に適用することで効率のよい処理が可能となる. 本科目では,3年次までに習得したプログラミング技術に基づき,さまざまな問題解決に必要なデータ処理の知識およびプログラミング能力を身に付けることを目的とする. | ||||
授業方針 | 本授業は多くのアルゴリズムを座学により理解し,適宜演習とプレゼンテーションを行うことで知識の定着を図る. また,あるプロジェクトをさまざまなアルゴリズムを組み合わせて実現することを目標とする. |
授業項目 | 時間 | 達成目標(習得すべき内容) |
ガイダンス | ||
アルゴリズムの基本概念 | アルゴリズムとデータ構造の関係,アルゴリズムの表現法や計算量について説明できる. | |
基本的なデータ構造 | 配列,リスト,スタックとキュー,木構造などについて理解し説明できる. | |
ソート(整列) | 与えられたデータを特定の順序に並べ替えるアルゴリズムの考え方やそれらの違いを説明でき,コンピュータにより各手法を実現できる. | |
サーチ(探索) | 文字列などのデータを探索する各手法を説明でき,コンピュータによりそれらを実現できる. | |
グラフとネットワーク | グラフの概念を理解し,主に最短経路問題を解くアルゴリズムをコンピュータにより実現できる. | |
文字列照合 | 文字列データの中から指定された文字列を発見する各技法を説明でき,コンピュータにより各技法を実現できる. | |
アルゴリズムの設計手法 | 再帰,分割統治法,動的計画法などの基本的なアルゴリズム設計法が説明でき,ある問題をコンピュータにより解くことができる. | |
技術計算・最適化・近似 | 数値計算法,最適化法および近似法の基本的なアルゴリズムと,それらを適用すべき問題の違いを説明できる. 各手法を用いて,ある問題の解をコンピュータにより導き出すことができる. | |
発展問題 | 組込みマイコンボードを用いて,GUI設計も含めた比較的小規模なシステム(アプリケーション)が開発できる. |
評価方法及び総合評価 | 定期試験(中間試験,期末試験)60%,演習課題・レポート評価40%として授業内容の理解度を評価し,総合得点60%以上で目標達成とみなす. 演習課題・レポートの提出期限は課題提示と同時に示し,期限に遅れて提出された演習課題・レポートの評価点は0点とする. |
学習方法 | |
学生へのメッセージ | 本科目で学習する内容は3年次に学習するプログラム通論と関連があるため,十分復習しておくことが望まれる. |
学修単位への対応 | 本科目は50分の授業に対して,授業中20分程度,放課後・家庭で40分程度の自学学習が課せられる. |
本校教育目標との対応 | JABEE学習教育目標との対応 |