| |
Dec 07, 2025
|
|
|
|
|
2025-2026 Binghamton University Academic Guide
|
CS 440 - Adv Topics - Obj Oriented Prog Credits: 3
Object-oriented programming and its concomitant design patterns provide rich abstractions for program development. These programs will eventually execute on real hardware, however. This course will investigate advanced object-oriented techniques and how they interact with hardware and operating system issues. We will ground our topics in C++, but the goal of the course will be to develop understanding that can be applied across languages. We will examine different design techniques for things such as memory management, and explore how and why they differ in performance and robustness. We will also cover idioms such as “”Resource Acquisition Is Initialization”” (RAII) and how they can be used to provide robust resource management for exceptions (exception safety). We will also devote time to covering generic programming and related topics such as expression templates. This is a growing area that seeks to decouple algorithms and data structures through the use of templates and other meta-programming techniques. These techniques exploit the fact that the C++ template mechanism is a language-within-a-language that is executed at compile-time rather than run-time. Additional topics include dynamic linking for techniques such as “”plug-ins”“, template instantiation mechanisms, template specialization, idioms for memory management, thread-safety issues, thread-safety, C++ reflection.
Prerequisites: Either CS 240 or CS 310 and CS 350. Term offered varies.
|
|