CS350-2017Spring

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

Instructor
Doo-Hwan Bae (bae@se.kaist.ac.kr)
Office Hours: 14:30-16:00 Mon/Wed @ #503, N1
* by appointments via. Email

Teaching Assistants
Youngmin Baek (ymbaek@se.kaist.ac.kr)
Mingyu Jin (mgjin@se.kaist.ac.kr)
Office Hours: 14:30-17:30 Tue/Thu @ #402, N1
* It would be helpful to send your question list via Email. in advance.

Lecture Hours & Room
13:00-14:15 Monday & Wednesday, #422, N1 Building

Text: Fundamentals of Software Engineering Principles and Practice by Hans van Vilet,
Wiley (Source: will be provided)
Lecture notes will also be given via. KLMS.
Additional materials will be given:
Mythical Man Month by Brooks,
Fundamentals of Software Engineering by Ghezzi, et al.

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

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

Course Schedule (tentative)
* 02/27: Overview, Assignment 1
* 03/01: Holiday
* 03/06: Intro. SE (1)
* 03/08: Intro. SE (2) (cond.)
* 03/13: Intro. SE (3) (cond.)
* 03/15: UML Overview (1)
* 03/20: UML Overview (2), Empty project file for StarUML, Project 1
* 03/22: Intro. SE (4) (cond.)
* 03/27: Software Development Life Cycle (1) 
* 03/29: Software Development Life Cycle (2)
* 04/03: Requirements Engineering (1), Project 2, UML supplements, Project 1 Feedback
* 04/05: Requirements Engineering (2), Project 2 Addendum
* 04/10: Requirements Engineering (3)
* 04/12: SE Principles
* 04/17: Midterm Week (Exam)
* 04/19: Midterm Week
* 04/24: Software Quality (1), Additional Materials 
* 04/26: Software Quality (2)
* 05/01: Software Quality (3), Project 3
* 05/03: Holiday
* 05/08: Software Design (1), Project 2 Feedback
* 05/10: Software Design (2)
* 05/15: Software Design (3), Project 03 Document Format (Updated)
* 05/17: Software Design (4), Object-oriented Design Patterns
* 05/22: No class (Conference Trip, ICSE), Assignment 2
* 05/24: No class (Conference Trip, ICSE), Project 4
* 05/29: Software Testing (1), Additional Materials
* 05/31: Software Testing (2), Guideline for Project Presentation
* 06/05: Software Testing (3), Assignment 2
* 06/07: Software Testing (4), Project Presentation (PM 19:00~22:00)
* 06/12: Final Week (Exam)
* 06/14: Final Week

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.