Module 3 - Program Analysis and Debugging -- Fixing Bad Code - Module Overview
1.) Course Introduction, DLang
2.) Programming Idioms and Memory
3.) Program Analysis and Debugging -- Fixing Bad Code
4.) The Software Development Life Cycle (SDLC)
5.) (No in-person class) Dependency and Library Management
6.) Structural Testing and Functional Testing
7.) Final Project Overview, and Essential 2D Graphics
8.) Exam on canvas online -- no in person class
9.) Tilemaps and Networking
10.) Generic Programming, Message Passing, and Design Patterns
11.) GUI and Continuous Integration
12.) No Class
13.) Work Day/Design/Architecture Patterns Tips
14.) Course wrap up and project work time

Audio/Video Recording


Readings/Warmup (Do before class)

...Commented Code Samples (if any)

For now I am linking code samples here: Github Code Repository for the course

Additional Resources


(Graded) In-Class Activity link

  • In-Class Activity Link
    • This is graded, and only your first response is graded
    • This is an evaluation of what was learned in lecture.
    • Due one week from when the lecture takes place

Module Content

Module Overview

In this module we learn the foundations of debugging -- including static and dynamic analysis techniques

Module Outline

  • Lecture outline
    • Program Analysis
    • Static Analysis
    • Dynamic Analysis
    • Code Refactoring
    • Linters - DScanner
    • Formattters -
    • Profiling and profiling gc
    • Debugging Techniques
    • GDB tutorial
    • Release and Debug Builds


(Optional Notes)

None given, consider this a 'beta' product for common questions I may revise later.

Please do not redistribute or host any materials without e-mailing me first. I generally am happy to share the latest .pdf or slide presentation with those who ask. Thank you for your time!