SDM: Week 1

Topic: Introduction: from programming to design  

NB no lab this week - labs start in week 2. (Use the time to get on with the reading/video watching: there is a lot this week and next).  
 

Lectures

NB Both lecture and skills videos are available on YouTube as well as on MediaHopper - in practice most people find YouTube more convenient (mediahopper seems to turn off some of youtube's functionality like control of subtitles; on the positive side it won't have ads!). See playlists at my channel:

Lecture videos 

Skills videos 

Week 1 Q&A/discussion: general intro to course and how it runs.

Skills videos

UML revision (should be familiar from Inf2):

Readings

Software engineering revision: you are expected to remember the content of a basic software engineering course, especially:

  • Requirements (Here are some  Quick revision questions)
  • These slides on Design from (a version of) Inf2C-SE: be familiar with the terminology introduced here (e.g. terms coherence, coupling, abstraction, modularisation, encapsulation: you should know what they mean and why they are important).  
     

UML revision: you are expected to have met some basic UML, as covered in these (old) Inf2C-SE slides:


Object orientation revision: you are expected to be fluent in Java (or a closely related language, and willing to learn Java as you go), and more importantly, to understand the fundamental ideas of OO.

 

Lab / Exercise

No lab. Lab starts in Week 2.

Optional exercise to do after absorbing Good Code:

  • Find some Java code that you wrote a year or more ago (maybe something you did in the Inf1 Java course).
  • Critically consider the code. Can you still understand what it does? Could it be improved? How?
  • Make the improvements. Careful not to break anything! How can you tell if you break something?
  • More challenging variants: swap old code with someone else. Do so without giving information about what the code was supposed to do.
License
All rights reserved The University of Edinburgh