Videos of lectures based on the book Object-Oriented Software Engineering: Practical Software Development using UML and Java

Downloaders of these videos are swamping our server with broken connections. If you are downloading and it bogs down and gets slow, please do not just retry as this leaves the old connection live. Please just wait patiently, or try again after several hours. We will likely shortly have to add a password to these videos if the problem persists.

By Timothy C. Lethbridge and Robert Laganière

During the period Sept-Dec 2002, lectures from Tim Lethbridge's course SEG 2100, based on this book, were recorded.

Videos of the lectures are available below. The lectures are based on the powerpoint slides prepared for the book, and should help you to learn the material better. Some of the lectures involve interactive solving of problems on the board.

The lectures are provided in RealVideo format from RealNetworks. You can download a free RealOne viewer from RealNetworks for Windows, Macintosh, etc. Once you have the viewer installed, you can click on the streaming video links below; the video should then immediately start playing. However, if you prefer to wait a while but get greater control over playback as well as higher audio and video quality, you can use the 'download' links. Depending on how your browser is configured, you may find that to download properly you need to use your browser's 'save link as' or 'download' functions (and remember to choose 'source' in some browsers when the save dialog appears).

The streaming videos should be viewable over a 56K modem if your line is of good quality. The average size of each downloaded video of lectures 1-9 is 250MB. Starting with lecture 10, we provide separate versions for 56Kbps and 256Kbps connections; this helps people who want to download the videos, since each file is smaller (the 56kbps versions average 20MB and the 256kbs versions average 125MB)

Note: If too many people end up streaming at once, you will notice response problems ... just try again a few hours if that occurs.

Producer of the videos is Adam Murray.

Dr. Lethbridge will also be available to deliver live versions of lectures based on the book at corporate sites, or via distance education. If interested, please email him.

  1. Lecture 1: Chapter 1 - Software and Software Engineering

  2. Lecture 2: Start of Chapter 2 (Slides 1-21 - basics of object-orientation)

  3. Lecture 3: Continuation of Chapter 2 (Slides 21-37 - inheritance, polymorphism and review of key Java concepts)

  4. Lecture 4: Remainder of Chapter 2 (to slide 45) and start of Chapter 3 (slide 1-14 - reuse, frameworks, and basic client-server concepts)

  5. Lecture 5: Continuation of Chapter 3 (Slide 12-25 - client-server architecture, network concepts, and networking in Java)

  6. Lecture 6: Continuation of Chapter 3 (Slides 25-39 - The Object Client-Server Framework)

  7. Lecture 7: Remainder of Chapter 3 (to slide 48 - Simplechat), and start of Chapter 4 (Requirements - to slide 4.10)

  8. Lecture 8: Remainder of Chapter 4 (Slides 9-22, plus discussion of example requirements in the book)

  9. Lecture 9: Start of Chapter 5 - Class Diagrams (Slides 1-19: diagramming classes, associations, multiplicity, association classes and reflexive associations)

  10. Lecture 10: Continuation of Chapter 5 (Slides 19-39: abuses of generalization, aggregation, OCL, genealogy example, suggested process for developing diagrams)

  11. Lecture 11: Continuation of Chapter 5 (Problem-solving on the board of E 5.18/19/20 part a - developing a class diagram for the Bank Account Management System, plus slides 39-46 - process for identifying classes, attributes and associations)

  12. Lecture 12: Continuation of Chapter 5 (Slides 47-64 onwards; Airline System; identifying operations) plus start of Chapter 6 - Patterns - (Slides 1-6)

  13. Lecture 13: Continuation of Chapter 6 (Slides 7-24; General Hierarchy [Composite]; Player-Role; Singleton; Observer; Delegation)

  14. Lecture 14: Remainder of Chapter 6 (Slides 25-42; Adapter; Facade; Read-Only Interface; Proxy, etc.) plus start of Chapter 7 (Focusing on Users and Their Tasks - to Slide 4)

  15. Lecture 15: Continuation of Chapter 7 (Slides 5-32 - Use Cases and User Interface Design)

  16. Lecture 16: Conclusion of Chapter 7 (Slides 33-43 - Evaluating a UI; Implementing a UI in Java) and start of Chapter 8 (Modelling Interactions and Behaviour - Slides 1-19 - Interaction Diagrams)

  17. Lecture 17: Conclusion of Chapter 8 (Slides 20-49 - State and Activity Diagrams)

  18. Lecture 18: Start of Chapter 9 (Architecting and Designing Software - Slides 1-32 - Design process, cohesion and coupling)

  19. Lecture 19: Continuation of Chapter 9 (Slides 32-77 - Design Principles and Software Architecture)

  20. Lecture 20: Conclusion of Chapter 9 (Slides 79-96 - Pipe-and-Filter Architecture and Design Documents) and Start of Chapter 10 (Testing and Inspecting to Ensure High Quality - Slides 1-18)

  21. Lecture 21: Continuation of Chapter 10 (Slides 18-56)

  22. Lecture 22: Conclusion of Chapter 10 (From Slide 57, Testing process and Inspections) and much of Chapter 11 (Software Engineering Process Models, Cost Estimation, Team Building etc., to slide 40)

Back to the support material page.

Back to the book's main page

Direct links to buy the book from or logo or a wider list of bookstores.