Skip to main content

SDM - top navigation

  • Learn
  • Piazza
  • DRPS

Breadcrumb

  1. Home
  2. SDM: Software Design and Modelling
  3. SDM: Course Materials

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 

  • 2024 intro slides and video
  • General course intro slides and video
  • Good Code slides and video

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

Skills videos

UML revision (should be familiar from Inf2):

  • Use cases and revision questions
  • Class diagrams and revision questions
  • Sequence diagrams and revision questions

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:

  • Class diagrams
  • Interaction diagrams

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.

  • Basics of Java.
  • What is a good class?

 

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

Book traversal links for SDM: Week 1

  • SDM: Course Materials
  • Up
  • SDM: Week 2

Navigation links

  • SDM: Course Materials
    • SDM: Week 1
    • SDM: Week 2
    • SDM: Week 3
    • SDM: Week 4
    • SDM: Week 5
    • SDM: Week 6
    • SDM: Week 7
    • SDM: Week 8
    • SDM: Week 9
    • SDM: Week 10
  • SDM: Resource List
  • SDM: Assessment
RSS feed

Opencourse privacy & accessibility statements; contact Informatics, ILTS.