===== Course Description ===== The goal of software engineering is to control the quality of software by following engineering principles during development. In this course, students will study automated techniques towards this goal. At the end, the students are expected to deeply understand the principles, get familiar with the tools, and acquire experience in applying these techniques. ===== Topics ===== Program analysis; Debugging; Testing; Model checking; Verification. ===== Grading ===== *Project (3 small and 1 term projects): 55% *3 small: 25% *Term project: 30% *Home work: 15% *15 minutes presentation (replaceable with a small project): 5% *Midterm: 10% *Final: 20% *Challenges: extra credits