
Windows System Programming and Application Development
for Windows 7, Vista, XP, Server 2008/2003
With Windows System Programming and Application Development, you
learn the Windows (Win32/64) API quickly and effectively. The course
concentrates on the core operating system services, including file and directory
management, memory management, dynamic link libraries (DLLs), structured
exception handling (SEH), process and thread management, thread synchronization,
interprocess communication, and networking.
The course has been completely revised and updated to
cover the latest Windows releases (Windows 7, Vista, Server 2008, XP). New material, backed by lab exercises, provides enhanced
treatment of parallelism, threads, synchronization, and performance issues, making this course
especially useful for development of servers and other systems where performance and
reliability are essential.
The course duration is 3 or four days, depending on the options
selected. Upon successful completion of this lecture-lab course, you will be
able to:
- Describe the Windows API and its role in Windows
- Develop, debug, and test Windows application programs using current Microsoft Visual Studio versions (2005, 2008,
2010)
- Describe and use the Windows system services and the Windows API
- Use basic I/O, including the file and console I/O, along with file and directory management and (optional module) registry programming
- Use structured exception handling (SEH) to simplify programming and increase reliability
- Use memory management and memory-mapped files to improve performance and share memory between processes
- Develop dynamic link libraries (DLLs) that can be shared by multiple processes and loaded dynamically at run time
- Understand process management and interprocess communication using pipes
- Create networked client/server applications using named pipes as well as Windows Sockets
(sockets are discussed in an optional module)
- Manage and synchronize threads
- Understand when to synchronize threads using mutexes, semaphores, events, CRITICAL_SECTION objects,
slim reader/writer (SRW) locks, and conditon variables and describe related performance issues
- Use Windows services to deploy manageable server systems (optional module)
- Develop scaleable multithreaded applications using thread pools and the client/server, boss/worker, and
pipeline models (optional module) on multiprocessor systems
- Use new features introduced with Windows Vista and Windows 7
- Assure efficient 32-bit and 64-bit operation
- Secure Windows objects (optional module)
Course exercises use the Microsoft Visual Studio environment to develop,
debug, and run a wide variety of programs that exercise the Windows API.
The exercises allow course participants to repair, understand, and enhance realistic
programs that often become the basis for larger programs. Correct solutions are provided.
This course can be tailored to student needs and has been successfully
completed by software engineers of all experience levels who wish to master
Windows system programming. Many course participants leveraged their experience in UNIX, Linux,
or other operating systems, although such experience is not required.
Optional course modules provide in-depth coverage of Windows
Sockets, advanced synchronization, the registry, and Windows security.
Overhead slides and a copy of Windows System Programming,
Fourth Edition are provided to all participants, along with solutions to
all exercises.
Text: Windows System Programming, Fourth Edition by Johnson M.
Hart, Addison-Wesley, 2010.
Course Schedule
Core Modules, with Approximate Times:
- Getting Started with Windows (1.5 Hours)
- Input/Output with File and Directory Processing (3.0 Hours)
- Structured Exception Handling (2 Hours)
- Memory Management, Memory Mapped Files, & DLLs (4 Hours)
- Process Management (2 Hours)
- Interprocess and Network Communication (3 Hours)
- Thread Management (3 Hours)
- Synchronization (3.5 Hours)
Optional Modules:
- Advanced Synchronization with Performance Trade-offs (4 Hours)
- Windows Sockets and Network Programming (2 Hours)
- Registry Programming (2 Hours)
- Securing Windows Objects (3.5 Hours)
- Asynchronous I/O (3.5 Hours)
- Building Scaleable, High-Performance Servers (3.5 Hours)
Contact us at:
JMH Associates
Phone: 781-789-7413
jmh_assoc@hotmail.com, jmhart62@gmail.com