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