Course Videos - SMA and OOD

Content:

This page provides links to videos of the lectuers and help sessions in CSE687 - Object Oriented Design, Spring 2016. I just started this page and will be adding video links throughout the semester.

Videos from CSE681 - Software Modeling & Analysis, Fall 2015

I started taping at the very end of the Fall Semester.
  1. Last CSE681 Help Session Video, Fall 2015

    Project #5 Help Session

    Discussion of ideas needed for CSE681 - Software Modeling & Analysis, Project #5. We are developing the architecture for a large distributed collaboration system devoted to support for software development.

Videos from CSE687 - Object Oriented Design, Spring 2016

Note: The cited Lecture #s are not all sequential. In order to provide information relevant to Projects when needed I've skipped around some. The lecture #s refer to the lecture page most closely related to the topics discussed in class.
  1. Video of Help Session, Fri 4/29/2016
    Discussed Project #4.

    Video of Lecture #27, Thurs 4/28/2016
    Finished Template Metaprogramming and continued with Object Models and the Go Programming Language.

    Video of lecture #25, Tues 4/26/2016
    Discussed template metaprogramming.

    Video of help session, Friday 4/22/2016
    Discussed Project #4 implementation ideas. This session resulted in two video files, only one of which is available now. The link above points to that file. I will post the second file if and when it becomes available.

    video of Lecture #25, Thursday 4/21/2016>
    Discussed design ideas with illustrations from the MockDepAnal prototype.

    Video of Lecture #23, Tuesday 4/19/2016
    Finished Standard Template Library discussion and presented Dynamic Link Library Demo.

    I said during the DLL demo that you didn't need to use the __declspec(dllexport) qualifiers for Project #4. That's not accurate. You need to build all your channel code used by the client as a native DLL and will need those qualifiers. That's exactly as it was done in the MockChannel demo. You must be careful to provide an interface and object factory (just like the MockChannel demo) and access the channel only through them. Otherwise implementation detail leaks into the managed code and it won't build due to the visible dependencies on Win32 mutexes, sockets, and threads which are not compatible with managed code, e.g., anything compiled with the /clr option.
  2. Video of Lecture #22, Tuesday 4/12/2016
    Discussed Project #4 requirements, Structure of communication channel, Http Messages, Server dependency structure, Examples of C++\CLI code, WPF

    Video of Lecture #22, Thursday 4/14/2016
    STL containers, STL structure, Invalid Iterators, Finding Duplicates is an example of building complex data structures by simply combining STL containers and iterators.

    Video of help session, Friday 4/15/2016
    Project #4 requirements, HttpMessages, Server implementation.
  3. Video - Lecture #19, Tues 4/5/2016
    Project #3 Prototype - MockDepAnal, Sockets Example code

    Video - Lecture #24, Thurs 4/7/2016
    Project #4 MockChannel Prototype and Managed C++\CLI presentation

    Video - Help Session, Fri 4/8/2016
    Project #4 Requirements and some implementation issues
  4. Video for Lecture #19 - Introduction to Streaams
    Video for Lecture #20 - Exceptions
  5. Video for Lecture #18 - Introduction to Sockets
    Help Session Video - 3/25/2016
  6. Video for Lecture #17 - Exam Results
  7. Help Session Video, Friday 3/11/2016
    We discussed Projects #2 and #3.
  8. Lecture #14 Video, Help Session Audio for 4 March 2016
    Examples of C++11 threads, more on lambda capture, and Thread Techniques.

    Note: I made an incorrect statement while discussing the BlockingQueue in Lecture #14. The enQ(...) and deQ() functions use std::unique_lock<std::mutex> because that lock wrapper provides lock() and unlock() methods which Windows uses to manage locking associated with the condition variable used in enQ(...) and deQ(). std::lock_guard<std::mutex> locks in its constructor and unlocks in its destructor. It does not provide the locking interface needed for condition variable management.

    The Help session focused on Project #2 and Midterm Review.
  9. Lecture #13 Video
    Presentation about processes and threads.
  10. Lecture #12 Video, Help Session Video
    Dependency Inversion Principle, Interfaces and Object Factories, supporting more than one interface.
  11. Help Session (2/19/2016) Video
    This help session focused on Project #2 and the helper code supplied in Project2HelpS16.
  12. Lecture #11 Video
    Open/Closed Principle and Callable Objects.
  13. Lecture #10 Video
    In Lecture #10 we discussed implementations that result in substitution errors and how to avoid them.
  14. Lecture #9 Video
    Presentation of code examples for composition and inheritance.
  15. Lecture #8 Video
    Discussion of specific template techniques with code demos.
  16. Lecture #7 Video
    Continuation of C++ Templates presentation.
  17. Lecture #6 Video
    Introduction to Templates.
  18. Help Session Video, Friday, 29 Jan 2016

    Help Session #2 Video
    Demonstration of how to build multi-project solutions with Visual Studio, 2015. We build a small part of the code required for Project #1. The conversation starts slowly, but starts to move more quickly as we start building code.
  19. Lecture #5 Video

    Lecture #5 Video

    Continuation of abstract data types via Str class.

  20. Lecture #4 Video

    Lecture #4 Video

    This lecture dives into abstract data types with a detailed study of an example Str class. Each of the class methods is described showing declaration, definition, and invocation syntax.

    The first six minutes have no computer screen input, as we did't turn on the feed until then - operator error - sigh! Visible content starts at about 7:00 minutes after the start. You can just pull the slider to get there quickly.

  21. Lecture #3 Video:

    Lecture #3 Video,

    Lecture #3 discussed encapsulation briefly, but focused mostly on getting started with Project #1.

  22. Help Session #1 Video:

    Help Session #1 Video

    This help session was devoted to questions that were centered on Project #1.

  23. Lecture #2 Video:

    Lecture #2 Video,

    Lecture #2 provided a survey of the C++ Language and Standard Libraries.

campus at night