— CS350-2018Fall

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

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
Youngjun Shin(yjshin@se.kaist.ac.kr)
Sangwon Hyun(swhyun@se.kaist.ac.kr)
Office Hours: TBD
* It would be helpful to send your question list via Email. in advance.

Lecture Hours & Room
09:00-10:15 Monday & Wednesday, N1 #111

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

Lecture Topics (but are not limited to)
1. Introduction to Software Engineering:
    – Why, What, SE cs. Coding, etc
    – SE for Cyber-Physical Systems, Safety Critical Systems, Internet Services, System of Systems
2. SE Principles: Abstraction, Modularity, Maintainability, etc
3. Software Development Process: Agile, Heavy development process, Prototyping, DevOps, etc
4. Software Requirements
5. Software Quality: Correctness, Reliability, Safety, Security, etc.
6. Software Modeling: Unified Modeling Language
7. Software Design: Modularity, Resilient Design Patterns, Microservice
8. Software Testing: Black-box and White-box testing
9. SE trends & other issues such as mesh-up environment, low-code platform, docker and container technology,..

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

Course Schedule (tentative)

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.