SEOC Schedule

This page links to the slides, videos, exercise sheets etc. used this year. Note that since some lecture slots are used for problems and discussion, not all slots have slides.

You may want to consult Previous years' pages for additional material. I will be making some adjustments to the course based on feedback last year, but for anyone who wants to read ahead, last year's page is a pretty good guide. Lecture slides, exercise sheets, readings and videos (as applicable - we won't have all of those every week) will appear no later than 7pm on Friday of the week before you are expected to attend/do/read/watch them (at least, that's my aim: apologies if I occasionally don't make it).

All office hours take place in my office, room 5.05 of the Informatics Forum, unless otherwise stated.

Week Date Topic Videos Readings Exercise sheet to work on
1 22/09/15


Slides, handout.

Slides, handout.
Topic diagram.
Please do the preassessment - thanks!
Some notes on your answers.

If you need a reminder: Use cases.
Everyone: Class diagrams; Sequence diagrams.
Revise Requirements from Inf2C-SE (let me know if there are major differences between this version and the one you saw last year).
Quick revision questions
Martin Fowler's page on three ways of using UML (do follow one level of links).
Quick revision questions
None (first one coming next week)
2 29/09/15


Office hours: Monday 11-12, Tuesday 12-1

Conceptual modelling
We will also talk about issues arising from the preassessment. Slides, handout
Notes on Friday session
State diagrams Revise Class diagrams and Interaction diagrams from Inf2C-SE.
Read A laboratory for object-oriented thinking, the original paper on CRC cards
Quick revision questions
Read something on UML2 sequence diagrams: Ch10 of Using UML if you have it, or this or this but note slight syntax errors in these links:
  • lifeline headings, name : type, should not be underlined (they used to be in UML1, but that changed with UML2)
  • messages that cause an activation should go in at the very top of the activation bar,
  • and synchronous messages should be shown with filled in arrow heads.
For exam the fragments I want you to be able to use are loop, alt and opt.
Basic class and sequence diagrams
Harder class and sequence diagram exercises (optional)
3 6/10/15

Office hours: Monday 10-11, Tuesday 11-12

Conceptual modelling (see slides in wk2 above) continued, and an in-class modelling and design exercise with discussion. Brief notes. Conceptual modelling
Activity diagrams
More on class diagrams
Revise Design from Inf2C-SE.
Read Scott Ambler's article on conceptual class modelling. Read Doug Rosenberg's article Successful Robustness Analysis.
Conceptual modelling
To read only after you've done the sheet: Notes
4 13/10/15


Office hours: Wednesday 11-12, Friday 12-1

UML Big Picture (slides, handout)
and looking at the UML standard, plus activity diagram exercises/discussion (using this: Activity diagrams and these Notes).
None Read blog post Five Reasons Developers Don't Use UML and Six Reasons to Use It
Quick revision questions

Read something on state diagrams, e.g.

  • Robert C. Martin's article, stopping (if you wish) at Implementing State Machines on p5. NB states are drawn in slightly the wrong shape. (While that link isn't working, probably temporarily: I didn't find another official looking source for that one, but googling the author with the title "UML Tutorial: Finite State Machines" may find you an unofficial version; or read anything else that leaves you confident you understand state diagrams.)
  • and/or Chs 11 and 12 of Using UML (but NB this doesn't cover history nodes, which you do need to know).
State diagrams
Notes (only look at this after you've made your own attempt!)
Harder state diagram exercises (optional)
5 No meetings None None What is a good class? (notes also linked from notes of a session, but read it now if you haven't)
Browse (but do not print!) the UML2.5 specification
Spend a little more time on Activity diagrams (Notes) as discussed last week, then go on to:
Borg Calendar exercise
6 27/10/15

Office hours: Tuesday 12-1, Friday 11-12

Design principles (including patterns)
(slides, handout):
may or may not get on to
More on patterns
(slides, handout: NB in the list of patterns at the end, the asterisked ones (also coded in red for exercises or blue for lectures) are the ones you need to know for exam.)

None Read The Four Elements of Simple Design - browse the comments too! Then read this follow-up: Putting an Age-old Battle to Rest.
Quick revision questions
Read Robert Martin's article on dependency inversion (if the link doesn't work for you get it from here)
Quick revision questions
Instructions: Patterns (I)
Problem sheets for this week, see instructions: 1 3 8 10
No notes.
7 3/11/15
Office hours: Monday 10-11, Wednesday 11-12
Continuing with patterns (slides in week 6)
Contracts and OCL
Slides, handout
Java Brains Spring Tutorial 01 Dependency Injection Note:
  • There's not much about Spring in this video, and I don't expect you to know about Spring for this course! However, it's good to know about - the other videos in this series might interest you.
  • Diagrams in the video are not UML. Consider how it'd look if they were.
  • There are some "in this class" mentions that aren't strictly true, but if you keep watching it will be come clear.
Read Derick Bailey's article on SOLID design
Quick revision questions
Browse and google as necessary to grok the patterns: e.g. start here.
Read Chapter 7 of the OCL Specification but see here for some parts you can leave out.
Patterns (2)
Problem sheets for this week, see instructions: 2 4 5 6 7 9
No notes
8 10/11/15

Office hours: Wednesday 10-11, Friday 12-1

Interfaces and interaction
Slides, handout
Story with patterns

Model-driven development
Slides, handout

How to Design a Good API and Why it Matters, lecture by Joshua Bloch Model-driven Development of Complex Software: A Research Roadmap by Robert France, Bernhard Rumpe.
Quick revision questions
Empirical Assessment of MDE in Industry by John Hutchinson, Jon Whittle, Mark Rouncefield, Steinar Kristofferson.

9 17/11/15

Office hours: Monday 10-11, Tuesday 10-11

Model-driven development, continued.

Summary and exam tips
Slides, handout.

None This week's reading is all optional
DSMLsUtilizing Domain-Specific Modelling for Software Testing (linked from MetaCase case study). Contrasted with use of UML Testing Profile: see e.g. the introductory slides from here; here is the profile itself
Agile: The Agile Manifesto followed by 10 Years Experience with Agile and Model Driven Software Development
Devops: What is devops? followed by Devops: Model First, Automate Later
Exam revision Notes
10 Will probably not use these slots: 24/11/15
but may if we need them.
S2WRevision 22/4/16 2pm LT1 7 Bristo Square: Revision session

This page is maintained by Perdita Stevens (

Home : Teaching : Courses : Seoc : 2015_2016 

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