Oct 20, 2021
CIS 278 - C++ and Object-Oriented Programming 4 Credits, 4 Contact Hours
4 lecture periods 0 lab periods
Concepts and implementation of object-oriented programming and design using C++ Includes the language syntax of C++ applications using C++ objects to solve information systems problems, and class libraries created for reuse and inheritance.
Course Learning Outcomes
- Develop programs using both C++ built-in classes and user-defined classes.
- Integrate the concepts of abstraction, inheritance, composition and polymorphism into C++ programs.
- Write programs in C++ which solve information systems problems and which show increased productivity by taking an object-oriented approach.
- Create and use collections (arrays and vectors) of user-defined objects.
- Use pointers to objects in programs.
- Demonstrate Class Libraries and Windows applications which are written in C++ to exploit software reuse and rapid prototyping.
- Use classes from the Standard Template Library in programs.
- Create C++ applications that write data to files and read it from them.
- Write C++ applications that execute SQL statements to select, insert, update and delete rows in database tables.
- Introduction and Overview
- Benefits of object-oriented (O-O) methods
- Structured vs. O-O approaches
- O-O design improvements
- Encapsulation: integrating object state data, as represented by instance variables, with the code that operates upon it
- Features of object-oriented programs
- Strong typing and type hierarchies
- Classes for encapsulation and information hiding
- Using C++
- Introduction to C++
- Design goals of C++
- C++ = C + strong typing + classes
- C++ syntax
- C++ as a better C (small enhancements)
- C++ structs as a step on the path towards classes
- Classes as user-defined types in C++
- O-O programming in C++
- Using C++ built-in classes such as strings
- C++ types, references, and friends
- Object creation (constructors, copy constructors, destructors)
- Inheritance and derived classes
- Composition: using objects of other classes as instance variables within a class
- Dynamic storage allocation of objects
- Collections of objects
- Dynamic function binding using virtual and pure virtual functions
- Advanced C++ Features and the Future of O-O
- Reusable libraries
- Files, stream, and I/O libraries
- Designing a library
- The Standard Template Library
- Container classes
- Generic Libraries
- Using a container class
- Class categories as mechanisms
- Database operations
- Connecting to an external database
- Executing SQL statements from within a program
Full Academic Year 2019-2020
Add to Portfolio (opens a new window)