シラバス参照

講義概要/Course Information
2024/06/20 現在

科目基礎情報/General Information
授業科目名
/Course title (Japanese)
ソフトウェア工学
英文授業科目名
/Course title (English)
Software Engineering
科目番号
/Code
COM601b COM602a COM602e COM603c COM603d
開講年度
/Academic year
2024年度 開講年次
/Year offered
3
開講学期
/Semester(s) offered
後学期 開講コース・課程
/Faculty offering the course
情報理工学域
授業の方法
/Teaching method
講義 単位数
/Credits
2
科目区分
/Category
専門科目
開講類・専攻
/Cluster/Department
Ⅰ類
担当教員名
/Lecturer(s)
佐藤 重幸
居室
/Office
西2-512
公開E-mail
/e-mail
se-2024-group@gl.cc.uec.ac.jp
授業関連Webページ
/Course website
Google Classroom
更新日
/Last update
2024/03/25 04:14:25 更新状況
/Update status
公開中
/now open to public
講義情報/Course Description
主題および
達成目標(2,000文字以内)
/Themes and goals(up to 2,000 letters)
テストと形式手法を軸に,ソフトウェアに関する基礎概念と方法論を学ぶ.
これにより,

* ソフトウェアを理解・作成・改善する際の適切な態度
* テストや形式手法をソフトウェア開発に取り入れる技術

の獲得を目指す.
前もって履修
しておくべき科目(1,000文字以内)
/Prerequisites(up to 1,000 letters)
特定の科目の履修を前提にすることはないが,

* 基本的なプログラミング(例えば「プログラミング通論」相当)
* 集合論と記号論理の数学記法(例えば「離散数学」相当)

についての知識は前提とする.
前もって履修しておくこ
とが望ましい科目(1,000文字以内)
/Recommended prerequisites and preparation(up to 1,000 letters)
本科目の理解の助けになるであろう科目や経験は次の通り:

* 「言語処理系論」(2024年度)
* 「オペレーティングシステム論」
* 他者のプログラムを読み書きした経験
* 他者のためにプログラミングした経験
教科書等(1,000文字以内)
/Course textbooks and materials(up to 1,000 letters)
授業教材はオンライン資料として配布する.
その中に,参考資料を適宜記載する.
授業内容と
その進め方(2,000文字以内)
/Course outline and weekly schedule(up to 2,000 letters)
授業内容:

1. ガイダンス,イントロダクション
2. ソフトウェアとは何か
3. 可読性と保守性
4. モジュール性と抽象性
5. 表明と契約
6. テストとテストケース
7. テスト技法とツール
8. GitとGitHub
9. 形式手法:Alloy
10. 時相論理とモデル検査:TLA+
11. ソフトウェアモデル検査:SLAM
12. ホーア論理と分離論理:Infer
13. 静的型検査とカリー・ハワード同型
14. 現代的な型システム
15. まとめ

進め方:

* 11回以降は発展的内容なので,授業進度に合わせて内容を取捨選択をする.
* 各回にコメントフィードバックを求め,次回で適宜取り上げる.
実務経験を活かした
授業内容
(実務経験内容も含む)
/Course content utilizing practical experience
授業時間外の学習
(予習・復習等)(1,000文字以内)
/Preparation and review outside class(up to 1,000 letters)
* 各回のコメントフィードバック,及びそれに係る復習・自習
* 期末試験,及びそれに係る復習
* レポート課題,及びそれに係る自習(プログラミングを含む)
成績評価方法
および評価基準
(最低達成基準を含む)
(1,000文字以内)
/Evaluation and grading
(up to 1,000 letters)
成績評価方法:

各回のコメントフィードバック・期末試験・レポート課題から総合的に判断する.
ただし,コメントフィードバックは,補助的な位置付けであり,レポート課題は,発展的なオプション課題である.


評価基準:

授業で扱ったソフトウェアに関する基礎概念と方法論を理解し,自ら扱うことができるかを評価する.
期末試験の受験は,単位取得において必須とする.
尚,オプションのレポート課題を提出しなくても,他が十分良くできていれば,「優」が取れるように調整する見通しである.
オフィスアワー:
授業相談(1,000文字以内)
/Office hours(up to 1,000 letters)
Google Classroomで受け付ける.
学生へのメッセージ(1,000文字以内)
/Message for students(up to 1,000 letters)
ソフトウェアを使っているだけでは,「ソフトウェア」は分からない.
プログラミングをしているだけでも,「ソフトウェア」は分からない.
ソフトウェアを作れるようになるには,「ソフトウェア」を学ばなければならない.
その他
/Others
火2開講
キーワード
/Keywords
抽象化,仕様記述,テスト,形式手法