— CS350-2018Spring

* This course uses KLMS, where lecture notes and announcements will be delivered.

Instructor
Doo-Hwan Bae (bae@se.kaist.ac.kr)
Office : #503 N1 Building, Phone: 042-350-3539
Office Hours: Tuesday & Wednesday 14:30-16:00 and by appointments
* by appointments via. Email

Teaching Assistants
Youngmin Baek (ymbaek@se.kaist.ac.kr)
Sumin Park (smpark@se.kaist.ac.kr)
Office Hours: TBD
* It would be helpful to send your question list via Email. in advance.

Lecture Hours & Room
13:00-14:30 Monday & Wednesday, #2443

Text: No required textbook; Lecture notes will also be given.
Lecture notes will also be given via. KLMS.
Recommended:
Mythical Man Month by Brooks,
Fundamentals of Software Engineering by Ghezzi, et al.
Fundamentals of Software Engineering Principles and Practice by Hans van Vliet

Lecture Topics
1. Introduction to Software Engineering: Why, What, SE vs. Coding, etc
2. SE for ICBM
3. Software Engineering Principles: Abstraction, Modularity, Maintainability, etc
4. Software Life Cycle: Agile, Heavy development process, Prototyping, etc
5. Software Requirements
6. Software Quality: Correctness, Reliability
7. Software Modeling: Unified Modeling Language
8. Software Architecture & Design
9. Software Testing
10. Trends & other issues if time is available

Grading
Assignment & Project: 40% / Presentation & Attendance: 10%
Midterm Exam: 25% / Final Exam: 25%

Course Schedule (tentative)
CS 350 Syllabus 2018 Spring
* 02/26: Overview, Assignment 1
* 02/28: Intro. SE(1) 
* 03/05: Intro. SE (2)
* 03/07: Intro. SE (3)
* 03/12: Requirement Engineering (1)
* 03/14: Requirement Engineering(2)
* 03/19: Requirement Engineering (3)
* 03/21: Requirement Engineering (4)
* 03/26: UML Overview(1)
* 03/28: UML Overview(2)
* 04/02: Software Development Lifecycle(1)
* 04/04: Software Development Lifecycle(2), Midterm (2017 Fall)
* 04/09: Software Development Lifecycle(3)
* 04/11: Software Engineering Principles(1)
* 04/16: Midterm Week (Exam) 
* 04/18: Midterm Week
* 04/23: Software Design(1)
* 04/25: Software Design(2)
* 04/30: Software Design(3)
* 05/02: Software Design(4)
* 05/07: Software Design(1)
* 05/09: Resilient Design(1)
* 05/14: Software Quality(1)
* 05/16: Software Testing (1)
* 05/21: Software Testing (2)
* 05/23: Software Testing (3)
* 05/28: No Class (ICSE 2018)
* 05/30: No Class (ICSE 2018)
* 06/04: SE trends & Other issues(1)
* 06/06: Holiday, Final exam 2017 Fall
* 06/08: Final Presentation
* 06/11: Final Week (Exam)
* 06/13: Final Week

Important Notes
* Each assignment/project will be open at least 7 days before the due date.
* If you miss the due date of a homework or project, there will be a penalty of points off, by 15% per day.
* Cheating during this course will result in a harsh penalty.
* The instructor reserves the right to change the grading policy if needed.