![]() ![]() |
科目一覧へ戻る | 2024/09/20 現在 |
開講科目名 /Course |
プログラミング言語2/Programming Languages 2 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
時間割コード /Course Code |
S1407840_S1 | ||||||||||||||||||||||||||||
開講所属 /Course Offered by |
システム工学部/Faculty of Systems Engineering | ||||||||||||||||||||||||||||
ターム・学期 /Term・Semester |
2024年度/Academic Year 第2クォーター/2Q | ||||||||||||||||||||||||||||
曜限 /Day, Period |
木/Thu 1 | ||||||||||||||||||||||||||||
開講区分 /Semester offered |
第2クォーター/2Q | ||||||||||||||||||||||||||||
単位数 /Credits |
1.0 | ||||||||||||||||||||||||||||
学年 /Year |
3,4 | ||||||||||||||||||||||||||||
主担当教員 /Main Instructor |
福安 直樹 | ||||||||||||||||||||||||||||
科目区分 /Course Group |
_ | ||||||||||||||||||||||||||||
授業形態 /Lecture Form |
講義 | ||||||||||||||||||||||||||||
教室 /Classroom |
北1号館A103/北1号館A103 | ||||||||||||||||||||||||||||
開講形態 /Course Format |
|||||||||||||||||||||||||||||
ディプロマポリシー情報 /Diploma Policy |
|
教員名 /Instructor |
教員所属名 /Affiliation |
---|---|
福安 直樹 | システム工学部(教員) |
伊原 彰紀 | システム工学部(教員) |
授業の概要・ねらい /Course Aims |
プログラム開発においては,プログラムの実装技術だけでなく,効率的なデバッグや効果的なテストの技術も必要である. また,リファクタリングにより保守性の向上が図られることもある.この授業では,デバッグやテスト,リファクタリングといったプログラム開発に関連する技術について学習するとともに,これらを支援するプログラム解析技術を理解することで,より品質の高いプログラムが実装できるようになることを目指す. |
---|---|
到達目標 /Course Objectives |
・効率的にバグを見つけて修正することができる. ・プログラムスライスを計算することができる. ・適切なテスト技法を選択しテストケースを記述することができる. ・プログラムの品質を評価するためのコードメトリクスについて説明できる. ・プログラムの保守性を向上するためのリファクタリングについて説明できる. |
成績評価の方法・基準 /Grading Policies/Criteria |
プログラムのデバッグやテスト技法,リファクタリング技法に対する理解度を,毎回の授業中に指示する課題(70%)と最終課題(30%)の取り組み状況およびその内容により評価する.品質の高いプログラムを実装するためのデバッグやテスト,リファクタリングの各技術について理解できれば合格とする. |
教科書 /Textbook |
記載事項なし |
参考書・参考文献 /Reference Book |
プログラミング作法(B.W.カーニハン/R.パイク 著、福崎俊博 訳、ISBN 978-4048930529、3,080円) ソフトウェア・テストの技法 第2版(J.マイヤーズ/T.バジェット/M.トーマス/C.サンドラー 著、長尾真/松尾正信 訳、ISBN 978-4764903296、3,520円) リファクタリング 第2版~既存のコードを安全に改善する(M.ファウラー 著、 児玉公信/友野晶夫/平澤章/梅澤真史 訳、ISBN 978-4274224546、4,840円) リーダブルコード(D.ボズウェル/T.フォシェ 著、角征典 訳、ISBN 978-4873115658、2,640円) |
履修上の注意 ・メッセージ /Notice for Students |
数百行程度のプログラミング経験(言語は問わない)があることを前提としている。説明は主にC言語を用いて行うが、内容に応じて他の言語を使用することもある。 |
履修する上で必要な事項 /Prerequisite |
課題実施(プログラミングやレポート作成)のために授業内でPCを使用するので、各自持参すること。 |
履修を推奨する関連科目 /Related Courses |
プログラミング言語1 |
授業時間外学修についての指示 /Instructions for studying outside class hours |
授業計画に沿って、計30時間の授業時間外学修(予習・復習など)を⾏うことが必要である。また、授業内容に関連する課題への調査・考察を含めた⾃主的学修を求める。 |
その他連絡事項 /Other messages |
本講義のガイダンス資料を事前公開しています. https://drive.google.com/file/d/1SZYOEOJ6T07AcO-cBNYaOlBGV_e-zmdl/view?usp=sharing |
授業理解を深める方法 /How to deepen your understanding of classes |
通常の課題に加えて、毎回の授業の中で発展的な課題を提示することにより、各自の理解度に応じた学習を促す。 【「アクティブ・ラーニング」実施要項 ⑦】 |
オフィスアワー /Office Hours |
非常勤講師のため、授業前後に対応 |
科目ナンバリング /Course Numbering |
S60053J11100K315 |
No. | 回(日時) /Time (date and time) |
主題と位置付け /Subjects and instructor's position |
学習方法と内容 /Methods and contents |
備考(担当) /Notes |
---|---|---|---|---|
1 | 1 | プログラムのデバッグ | シラバスおよび授業の進め方の説明 バグの再現とデバッグ デバッグツールの活用 |
|
2 | 2 | プログラム解析 | 静的解析 プロファイラによる解析 動的解析に基づくプログラムの変更 |
|
3 | 3 | プログラムスライシング | 静的依存関係 スタティックスライス スライシング技術の活用 |
|
4 | 4 | プログラムのテスト | アサーション カバレッジ テスティングフレームワーク |
|
5 | 5 | メトリクス | コードメトリクス メトリクス計測ツール オブジェクト指向メトリクス |
|
6 | 6 | リファクタリング | リファクタリングカタログ リファクタリングの例 不吉な匂いとリファクタリング |
|
7 | 7 | ソフトウェアの品質 | 品質特性 リーダブルコード |
|
8 | 8 | まとめ | 学習内容のおさらい 最終課題の実施 |