INFORMATICS 2 - Software Engineering - 2016/17

Course Description

Week 1

Tuesday's Lecture (20 Sep 2016): Software engineering overview [slides]

Required Readings: Suggested Readings: The aim with the above readings is to deepen your understanding of what software engineering is, why the term was invented and is still used, and why problems still exist.

Thursday's Lecture (22 Sep 2016): Requirements engineering [slides]

Required Readings: Suggested Readings:

Tutorials: No tutorials in Week 1 (or Weeks 2 and 3)

Week 2

Tuesday's Lecture (27 Sep 2016): Use Cases [slides]

Required Readings: Suggested Readings:

Thursday's Lecture (29 Sep 2016): Software design and modelling [slides]

Suggested readings: The last three readings all cover a number of architectural styles (also known as architectural patterns). The 3rd year SAPM course goes into architectural styles in detail. For this course, you should aim for basic familiarity with 2 or 3 styles, enough that you can briefly describe each style and discuss how it realises general design principles such as those outlined in the slides or covered by the last reading.

Tutorials: No tutorials this week

Week 3

Tuesday's Lecture (4 Oct 2016): UML Class diagrams [slides]

Suggested readings:

Thursday's Lecture (6 Oct 2016): UML interaction diagrams [slides]

Required reading: At least one of You should know the idea of the CRC cards technique, including the basics of what each letter in "CRC" refers to.

Suggested reading:

Tutorials: No tutorials this week

Week 4

Tuesday (11 Oct 2016): NO LECTURE

Thursday's Lecture (13 Oct 2016): Design Patterns [slides]

Required reading:
Suggested reading: Read more on design patterns, e.g.

Tutorial 1: Questions to work on before the tutorial.

Week 5

Tuesday's Lecture (18 Oct 2016): Construction I: version control and system building [slides]

Required reading: Suggested reading: Thursday's Lecture (20 Oct 2016): Construction II: good coding [slides]

Required Readings:

Tutorials: No tutorials this week

Week 6

Tuesday's Lecture (25 Oct 2016): Verification, validation and testing [slides]

Thursday (27 Oct 2016): NO LECTURE

Tutorial 2: Questions to work on before the tutorial.

Week 7

Tuesday's Lecture (1 Nov 2016): Refactoring [slides]

Thursday's Lecture (3 Nov 2016): Deployment and maintenance [slides], Bug reporting [slides]

Tutorials: No tutorials this week

Week 8

Tuesday's Lecture (8 Nov 2016): Preview of coursework 3

Thursday's Lecture (10 Nov 2016): Introduction to software processes [slides]

Tutorial 3:

Week 9

Tuesday's Lecture (15 Nov 2016): Agile processes and Extreme Programming [slides]

Thursday's Lecture (17 Nov 2016): Risk management and improving quality [slides]

Tutorials: No tutorials this week

Week 10

Tuesday's Lecture (22 Nov 2016): Non-functional requirements, reliability [slides], Usability [slides]

Thursday's Lecture (24 Nov 2016): IP and licensing [slides], Ethics [slides].

Tutorial 4: Questions to work on before the tutorial.

Week 11


Slides originally authored by Perdita Stevens and adapted by Nigel Goddard, Ajitha Rajan and Paul Jackson.

Home : Teaching : Courses : Inf2c-se 

Informatics Forum, 10 Crichton Street, Edinburgh, EH8 9AB, Scotland, UK
Tel: +44 131 651 5661, Fax: +44 131 651 1426, E-mail:
Please contact our webadmin with any comments or corrections. Logging and Cookies
Unless explicitly stated otherwise, all material is copyright © The University of Edinburgh