PA1458 V22 lp3 Programvarudesign
Welcome to the course
Update 2022-01-17: As per the latest guidelines, all lectures are now done online via zoom ( https://bth.zoom.us/j/67447092811 ) and all lectures can be attended by everyone.
This year's lectures are available as a playlist on youtube: https://youtube.com/playlist?list=PLRyU9jMTRIX62vHtu-IZIKuYTWsT4OgVR
Lecture Plan Spring 2022
- Week 2
- Friday: I will post a full schedule for which lectures you should watch and my recommendations as to when you should have watched them.
- Week 3
- Monday Jan 17: Zoom . Introduction Lecture.
- Monday Jan 17: I will post a reminder with which lectures are relevant for you to watch this week.
- Thursday Jan 20: Zoom. New lecture that discuss, explains, and gives examples for this week's recorded lectures.
- Friday Jan 21: Zoom. New lecture that discuss, explains, and gives examples for this week's recorded lectures.
- Week 4
- Monday Jan 24: Zoom . New lecture to put this week's contents into context.
- Monday Jan 24: I will post a reminder with which lectures are relevant for you to watch this week.
- Thursday Jan 27: Zoom. Working through an example from requirements to classes; using what you have learnt from this week's recorded lectures.
- Friday Jan 28: Zoom. Working through an example from requirements to classes; using what you have learnt from this week's recorded lectures.
- Week 5
- Monday Jan 31: Zoom . A more hands-on lecture about Design Patterns
- Monday Jan 31: I will post which lectures are relevant for you to watch this week.
- Thursday Feb 3: Zoom. Working through an example of design patterns and GRASP patterns; using what you have learnt from this week's recorded lectures.
- Friday Feb 4: Zoom. Working through an example of design patterns and GRASP patterns; using what you have learnt from this week's recorded lectures.
- Week 6
- No lectures planned.
- Work on assignments, I am available via online channels.
- Week 7
- No lectures planned.
- Work on assignments, I am available via online channels.
- Week 8
- Monday Feb 21: Zoom . Working through an example of design patterns and GRASP patterns.
- Work on assignments, I am available via online channels.
- Week 9
- Monday Feb 28: Zoom . Working through an exam example.
---
Prerecorded Lectures
Week | Theme | Lecture | Link | Comment |
---|---|---|---|---|
3 | Do the right thing | Requirements Engineering | https://youtu.be/MIM7yLJiYCY (Swedish) | PA1458 Background lecture |
the right way | https://youtu.be/I5iDw9luVXQ (English) | |||
Use Cases | https://youtu.be/VKfQqpf8eW4 (Swedish) | Used on Jan 20/21 and for PA1458 in assignment "create detailed use cases" | ||
https://youtu.be/QcuFZm6z_JA (English) | ||||
Software Testing | https://youtu.be/d1Sqlfcwllo (Swedish) | Used on Jan 20/21 | ||
(English not available) | ||||
Development Process | https://youtu.be/snfAsD4shyc (Swedish) | Input to PA1458 assignment "WBS and Project Plan" | ||
https://youtu.be/IwCKKgeoq0Y (English) | ||||
Architectures (PA1460) | Quality Attributes | https://youtu.be/gftNxfrEOQo (Swedish) | PA1460 input to assignment "Quality Attributes and Software Architecture" | |
Introduction to Architectures | https://youtu.be/93so4dPskwE (Swedish) | PA1460 input to assignment "Quality Attributes and Software Architecture" | ||
Documenting Architectures | https://youtu.be/e788pDG_rQE (Swedish) | PA1460 input to assignment "Quality Attributes and Software Architecture" | ||
4 | Model all the things | Modelling Structure | https://youtu.be/5_jplldguKc (Swedish) | Used on Jan 27/28 and from assignment "Class and Package Diagram" |
https://youtu.be/wVLKFPIpa0A (English) | ||||
Modelling Behaviour | https://youtu.be/E3gyQFxDiPs (Swedish) | Used on Jan 27/28 and from assignment "Interaction Diagrams" | ||
https://youtu.be/wVLKFPIpa0A (English) | ||||
Design Patterns | https://youtu.be/R9L7gaVhCCQ (Swedish) | Used on Feb 3/4 and from assignment "Discussion of GRASP patterns" | ||
https://youtu.be/oU54ETOBcxU (English) | ||||
5 | Put it together | From Design to Code | https://youtu.be/zUVRWNsOUJc (Swedish) | Gives a deeper understanding and a practical example |
(English not available) | ||||
Example: JSPonies | https://youtu.be/jzVU5NCib10 (Swedish) | An example of the "State" design pattern | ||
https://youtu.be/4FkqQUJR2G0 (English) | ||||
Example: Wizards Apprentice | https://youtu.be/nlY4EgXVIdU (Swedish) | An example of the "Strategy" design pattern | ||
https://youtu.be/GvlvfeEgvXc (English) |
---
Information which is added to continuously throughout the course:
- Start with the Course Introduction and work your way through the Modules .
- The assignments PA1458 Assignments are done in teams of 3--5 persons.
- Are you looking for a team or a team member: Start a Discussion and ask. If you can't find any, please check with me.
- There is a chat on Gitter: OODesign where you can always reach me when I am working, or on Discord: mickesv#1513
- You can always start a discussion here on Canvas
- E-mail works too, of course. We can then schedule a zoom meeting if you prefer supervision with video.
- Old exams (Sorry, mostly in swedish): old_exams
- Books that I may mention during the course (not mandatory):
- Ernesto che Guevara "Guerilla Warfare" -- A good introduction to agile software development
- Robert M Pirsig "Zen and the art of motorcycle maintenance" -- What is quality?
- Tom deMarco "The Deadline" -- A novel that describes a collection of basic assumptions and experiments in project planning and project management.
- Steve McConnell "Code Complete" -- Become a better programmer/designer/architect. Focus on all levels of software development and what you may do better.
- Robert C. Martin "Clean Code" -- A similar book, but even more focus on good programming practices.
- How to set up GoogleTest in visual Studio: Unit-Testing-Visual-Studio-Guide_v6.pdf
- Java for the Reluctant -- A video series that goes through differences between C++ and Java:
Course summary:
Date | Details | Due |
---|---|---|