


C/C++ Programming IV: Advanced Programming with Objects
CSE-40478
Expanding on serveral topics in C++ Programming III,
this course encompasses object-oriented analysis, design, and programming. Additionally, advanced memory management, stream and file I/O, persistence, multiple inheritance, advanced polymorphic programming, templates, STL libraries, C++ style, and efficiency will also be covered.
Course Highlights:
- 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 Materials: The instructor will provide students with a pdf copy of his custom course reader to be used for the duration of this course. There is no other textbook required for this course.
Course Typically Offered: Online in Winter, Summer, and Fall quarters.
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 infotech@ucsd.edu.