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 out of print: Programming Applications for Microsoft Windows, by Jeffrey Richter. This is still by far the best book on Windows fundamentals. We have obtained copies of the book - please see me for more information.

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.