Software Engineering covers the methods for developing software, following rigorous engineering practices and meeting required levels of quality. You will learn how to plan and manage software architectures for practical large-scale development projects, while adopting an academic and rigorous approach which will support you throughout your career. Specifically, you will learn how to understand customer requirements; specify, design and code a computer solution; and test and release your solution to your customer.