This is an undergraduate course taught at EPFL by Prof. George Candea . It covers the basics of modern software development, focusing on techniques and practices used to build computer software that meets high standards of quality, reliability, security, and maintainability.

You can see the course webpage for Fall 2018, or previous versions (up to 2017) in the Archive.