科目コード | AN117 | ||||
科目名 | 情報工学基礎論( Basic Information Technologies) | 単位数 | 2単位 | ||
対象学科 | 電子情報システム工学専攻 | 対象学年 | 1年 | 開講期間 | 後期 |
科目区分 | 専門基盤科目 | 必修・選択 | 選択 | 履修/学修 | 学修 |
授業形式 | 講義 | 授業時間数 | 30 | 実時間数 | 25 |
教員名(所属) | 孫 寧平(人間情報システム工学科) | 教員室 | 3号棟2階 | ||
使用教科書 | Brian W. Kernighan, Rob Pike著/福崎 俊博訳,『プログラミング作法』,アスキー | ||||
参考書 | C.Jones著,富野壽 監訳, 『ソフトウェア品質のガイドライン』,共立出版 | ||||
科目の位置付けと関連科目 | 関連科目は情報処理,プログラミング通論,データ構造とアルゴリズム,オペレーティングシステムとする. | ||||
科目の概要 | より良いプログラムを作ることは情報工学(IT)技術者としては欠かせない重要なことである.明瞭で,簡潔で,エレガントで,どんな状況でも正しく機能し,リソースを効率よく経済的に使用し,ニーズの変化に柔軟に対応でき,どんな環境にも難なく移植できるプログラムやソフトウェア作成のための考え方と技法を学ぶ.演習も行う. | ||||
授業方針 | 1.優れたソフトウェアを生み出す素地となる基本原則(簡潔性, 明瞭性,一般性,自動化)などを理解し応用できる. 2.アルゴリズムやデータ構造を自分のプログラム中に活かせる方法をマスターできる. 3.デバッグ,テスト,性能改善技術を理解し応用できる. 4.実際のプログラミング作業における重要なテーマを個別に取り上げて演習などを通して効率の良いプログラムの設計と実装できる.また,開発現場でのユーザーの要求分析,ソフトウェア品質の管理方法を理解するために,グループによるワークショップを行う. |
授業項目 | 時間 | 達成目標(習得すべき内容) |
概説 | 本授業の概要,授業方針,評価方法について説明する.プログラミング技法について紹介する. | |
プログラミングのスタイル | 良きプログラミングには良いスタイルが不可欠である.プログラミングスタイルの重要性を理解し応用できる. | |
アルゴリズムとデータ構造 | 探索やソート,ハッシュ法などのアルゴリズム及びデータ構造について理解しプログラミングができる. | |
プログラムの設計と実装 | アルゴリズムとデータ構造の設計及び構成について理解し,実例としてのマルコフ連鎖による文章生成プログラムを設計と実装できる. | |
インターフェイス | インターフェイスの設計と実装に関する抽象化,情報の隠蔽,リソース管理,エラー処理などの問題について理解し説明できる. | |
デバッグ・テスト | デバッグする戦略と戦術を理解し応用できる.よくあるバグの症状などを覚えるほか,デバッグ・テスト方法を適用できる. | |
性能改善 | プログラムが効率よくリソースを利用できるようにしつつ,効率が向上しても正しく安定した動作が保たれるようにする秩序立った方法を理解し応用できる.プログラムの性能を解析や計測する方法を適用できる. | |
ソフトウェア品質の管理 | 開発現場でのユーザーの要求分析,ソフトウェア品質の管理方法を理解し応用できる.グループによるワークショップを行う. |
評価方法及び総合評価 | 【評価方法】 定期試験,演習レポート評価を総合し,情報工学(IT)技術者が果たす役割の理解およびプログラミングを通じてデータ構造・アルゴリズムをデザイン及び作成し,それぞれのアルゴリズム用いて課題を解決する能力を評価する. 演習レポートの提出期限は課題提示と同時に示し,期限に遅れて提出されたレポートに対し評価点は減点する. 出席状況を考慮し欠課1時間に1点を減点する. 【総合評価】 定期試験(60%),演習レポート(40%)で評価する.60%以上の得点率で目標達成とみなす. |
学習方法 | C/C++/Javaなどのプログラミング言語を用いた実際のプログラミング例を解析しながらプログラムの設計,デバッグ,テスト,性能改善などのプログラミング技術を身につけること,優れたアルゴリズムとデータ構造を自分のプログラムの中に活かせることを望まれる. |
学生へのメッセージ | |
学修単位への対応 | 学修科目とは,自学学習を含む科目を指す.本科目は1単位当たり30時間,計60時間の自学自習を課す. |
本校教育目標との対応 | JABEE学習教育目標との対応 |