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
CC attribution This course content is offered under a CC attribution license. Content in this course can be considered under this license unless otherwise noted.