Software Engineering and Cloud Computing, spring 2017

Course Goals

Give the students a broad understanding of the area of software engineering and cloud computing for scalable software-intensive systems, including but not limited to autonomous and smart systems. The course will cover both foundational and advanced topic areas related to software engineering and cloud computing.

After the course the students should be able to:

  • Describe how software-intensive systems are designed, realized, validated, verified, deployed, and maintained.
  • Systematically conduct design-time analysis to determine functional and non-functional system properties (e.g. applying model checking, formal verification, software instrumentation) and identify, measure, and evaluate critical system behavior at run-time (e.g. software metrics, scalability, system monitoring).
  • Explain and apply common methods and the theory behind in each of the topic areas.

Prerequisites

The students are expected to have a background in computer science, computer engineering, electrical engineering or similar. The students are expected to have the foundational mathematics found in most engineering programs and basic programming skills.

Organization

The course consists of three modules where each module starts with two days of lectures and has 1-2 assignments that will be examined locally. The modules and the associated sessions are:

Examination

To pass the course all modules have to be completed.