CS 6015: MSD Software Engineering

These videos and slides are for the Spring 2022 offering of a course in the MSD program at the University of Utah. The course uses C++, the content is a combination of programming-languages and practical software-engineering material, and the lectures with videos here were roughly alternated with reading and discussion from Code Complete by Steve McConnell. If you are an instructor, feel free to use this material for your own courses, and contact me for more sources or any questions.

topic videos slides additional files
Intro / C++ / Makefiles / Git playlist slides
More Git (optional) playlist slides
MSDscript Command Line
C++ Testing / C++ Classes playlist slides
Expression Classes
How to Design Programs playlist slides Design recipe summary catch.h cookie.cpp posn.cpp ant.cpp animal.cpp aq.cpp
Interpret
I/O Testing / Accumulators playlist slides
Printing
Test Coverage / Let playlist slides
Test Coverage
Let Binding
Parse playlist slides
Parse
Test Generation playlist slides exec.cpp exec.h
Test Generation
Booleans and Conditionals playlist slides
Refactoring for Values
Booleans and Conditionals
Design Patterns playlist slides
Functions playlist slides
Functions
shared_ptr playlist slides
shared_ptr
Profiling playlist slides
Environments playlist slides
Environments
Optimization playlist slides
Continuations playlist slides corrections to videos calc.zip
Continuations
Libraries playlist slides
Documentation
Safety playlist slides
Garbage Collection Concepts playlist slides
Garbage Collection Implementation playlist slides
Garbage Collection (optional)
Refactoring for Operations playlist slides
More Performance Refactoring playlist slides
Types playlist slides
Git Internals playlist slides
Documentation Final