CSCI 365: Object Oriented Programming Using C++
CSCI 365 Object Oriented Programming Using C++ Three Credit Hours
Prerequisite: CSCI 223
This course provides a solid foundation for object-oriented programming using the C++ programming language. It emphasizes the effective use of the advanced language features, presented in the context of modern software engineering themes of modularity, abstraction, information hiding, and reusability. Fundamental principles of object-oriented design and programming are stressed while covering the language details.
- C++ data types and control structures
- Constructors and destructors
- Overloading functions and operators
- Derived classes
- Virtual functions and polymorphism
- Multiple inheritance
- Templates and the Standard Template Library
- Object-oriented design
- Class design: advanced topics
- Run-time type identification
Upon successful completion of this course, a student will be able to
- Identify and explain the basic syntax, semantics, and terminology of C++ (e.g., class, virtual function, template, operator overloading, etc.)
- Create, compile, debug, test, and execute C++ programs
- Explain how C++ provides support for object-oriented programming and modern software engineering principles
- Use object-oriented and modern software engineering principles in the development of software written in C++
- Explain how C++ provides support for low-level programming in terms of bit-level operations, bit fields, and memory management
- Use the Standard Template Library (STL)
- Understand potential programming pitfalls such as dangling pointers and memory leaks.
C++ Primer (Fifth Edition) by Stanley B. Lippman, Jose Lajoie, and Barbara E. Moo, Addison-Wesley, 2012.