Expanding on serveral topics in C++
this course includes object-oriented analysis, design, and programming. Advanced memory management, stream and file I/O, persistence, multiple inheritance, advanced polymorphic programming, templates, STL libraries, C++ style, and efficiency are also discussed.
- Generic programming and the C++ standard library
- Exception, safety issues and techniques
- The transactional memory model
- Class design and inheritance
- Compilers, names and interfaces
- Memory management
- Traps, pitfalls and anti-idioms
- Functors and iterators
- Control flow and multiple inheritance
Course Learning Outcomes:
- Gain a foundation for writing efficient, safe C++ code
- Learn how to use STL libraries
- Understand memory pitfalls in C++
- Know how to expand the C++ memory model
- Utilize object-oriented for analysis and design
- Apply multiple inheritance to an application
- Understand how streams work
- See how to persist objects via streams
- Gain experience following C++ guidelines
- Identify potential bugs in code before they occur
Software: Students must have access to program development tools. Free IDE downloads students commonly use for this program include "Visual Studio Community" for Windows, "Xcode" for macOS, and "Code::Blocks" for Linux, Windows, and macOS.
Course Typically Offered: Fall, Winter and Summer.
Prerequisite: Must complete CSE-40477 C/C++ Programming III: Intermediate Programming with Objects or possess a solid understanding of the C++ programming language syntax and a high level understanding of the C++ standard library (streams, containers, iterators, and algorithms).
Next Step: After completing this course, consider taking CSE-40049 Data Structures and Algorithms in C/C++ to continue learning.
Contact: For more information about this course, please email email@example.com.
Course Number: CSE-40478
Credit: 3.00 unit(s)
Related Certificate Programs: C/C++ Programming