Malware banner

Windows System Programming

Welcome to the new class website of Windows System Programming. This page links to all the slides for the current class, plus assignment information.

Syllabus

The goal of the class is to introduce you to the practical aspects of low-level Windows programming. As such, we will cover Unicode, DLLs, DLL injection, Advanced Windows Debugging, Semaphores, Processes, Multi-threaded programming and, time permitting, elementary device driver programming.

Prerequisites

The class is rather intensive. To benefit from it fully, you need to be concentrating on the message, not the medium. As such, you need to be very comfortable in C, Assembly, C++ (to a lesser extent) and the CLR (loose working knowledge). The workload for the class is high: my firm belief is that when it comes to programming constructs, practice makes perfect! Thus, there are over 10 programming assignments, ranging from trivial to very difficult.

The book for the class is no longer out of print. It has been reissued as "Windows via C/C++" by Jeffrey Richter and Christophe Nasarre and is available through Microsoft Press.

This course would not have been possible without the cooperation of Jeffrey Richter, whom I thank for his assistance.

Slides

This deck changes as a function to time. Please check back for additional materials covered in class.