講義の内容 プログラミング特論 実際的なプログラミングの知識・技法などに ついて講義する プログラムの可読性,再利用性,安全性などを 考慮したコーディングの技法にフォーカス UML,デザインパターン,テスト駆動開発の 教育開発センター 天野憲樹 プログラミングなどについても講義 プログラムを読むための基本テクニックも教授 プログラミング特論 講義の目標 講義の予定(シラバス) 一般目標: 1. 実際的なプログラミングの知識と技法を習得し, ソフトウェア開発においてそれらを利活用できる. 個別目標: 2. 3. 4. プログラムの可読性,再利用性,安全性などを考 5. 慮してプログラムを書くことができ,かつ第三者が 書いたプログラムを読み,理解することができる. 6. 7. プログラミング特論 第1回:導入 導入 コードの品質 防御的プログラミング 変数に関するトピック ステートメント① ステートメント② コードチューニング 8. リファクタリング 9. レイアウトとスタイル 10. UML 11. デザインパターン① 12. デザインパターン② 13. テスト駆動開発 14. コードリーディング プログラミング特論 第2回:コードの品質 実際のソフトウェア開発に必要な知識と技法 について概観し,関連トピックを取り上げる プログラムデザインの知識と技法 プログラミング言語関連の知識 アルゴリズムとデータ構造の知識 コーディングの知識と技法 プログラムの品質を高めるための基礎知識 について学ぶ 抽象化,モジュール化,カプセル化,情報隠蔽, 継承,などの概念について 上記の概念を実現するためのクラスやルーチン などの実装についての注意事項やガイドライン プログラムのイディオムやパターンの知識 開発環境やツールの知識 プログラミング特論 プログラミング特論 1 第3回:防御的プログラミング 最悪の事態に備えるプログラミングの技法 第4回:変数に関するトピック 無効な入力への防御 プログラムの基本構成要素である変数に ついて学ぶ アサーション(表明) 変数の宣言と初期化のガイドライン DBC: 変数のスコープ Design By Conrtact エラー処理テクニック 例外処理 変数の永続性 変数のバインディングタイム 基本的なデータ型についての注意 プログラミング特論 第5回:ステートメント① プログラムを構成する基本的なステートメント (文)についての注意事項を学ぶ プログラミング特論 第6回:ステートメント② ステートメントの順序 プログラムの制御に関するステートメント(文) についての注意事項を学ぶ 制御構造に関係する問題 条件文に関する注意 プログラムの出入り口,再帰,など テーブル駆動方式 ループ文に関する注意 制御構造に関する一般的な注意 プログラミング特論 第7回:コードチューニング コードのパフォーマンス(実行効率)を高める ためのチューニング(調整)について学ぶ 制御構造に関する論理式の評価,など プログラミング特論 第8回:リファクタリング ソフトウェアを再構成するための技術である リファクタリングについて学ぶ コードチューニングとは リファクタリングの概要 コードチューニングの歴史的な経緯 リファクタリングの具体例 コードチューニングの正しい理解 コードチューニングのテクニック プログラミング特論 プログラミング特論 2 第9回:レイアウトとスタイル プログラムのレイアウトとスタイルについての 基本を学ぶ 第10回:UML モデル化技法 良いレイアウトとは レイアウトのスタイル モデル化 オブジェクト指向のモデル化技法 UML: Unified Modeling Language レイアウトの基本テクニック UMLの概要 コメントのガイドライン UMLの構成要素(表記法) プログラミング特論 プログラミング特論 第11回:デザインパターン① 第12回:デザインパターン② ソフトウェアパターン デザインパターンの概要 プログラムからデザインパターンを学ぶ① Singleton Template Method Factory Method Iterator プログラミング特論 第13回:テスト駆動開発 プログラムからデザインパターンを学ぶ② XPなどのアジャイル・ソフトウェア開発手法に おけるテスト駆動の概念・手法を学ぶ Adapter Strategy Composite Decorator Observer State Command Façade Chain of Responsibility アンチパターン プログラミング特論 第14回:コードリーディング ソースコードを読むための基礎的な知識と 技術を学ぶ アジャイル開発の概要 コードを読む理由と読み方 (eXtreme Programming)の概要 テスト駆動開発の概念・手法 コードリーディングの手法と事前準備 XP eclipseによるコードリーディング 実践例:JUnit4.1のコードを読む プログラミング特論 プログラミング特論 3
© Copyright 2024 Paperzz