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:
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:
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.