CSCI-2312: Object Oriented Programming
Undergraduate course, PLAZA-112, 2017
Programming topics in the C++ language. The emphasis is on problem solving using object oriented and Generic Programming. Topics include advanced I/O, classes, inheritance, polymorphism and virtual functions, abstract base classes, exception handling, templates, and the Standard Template Library.
Course objectives
By the end of the course you are expected to gain the following skills:
- Ability to apply object oriented modeling and programming in software development
- Ability to apply generic programming in software development
- Ability to apply error handling techniques such as exception handling
- Ability to use C++ language for all of the above
Prerequisites
- ENGL 1020 : Core composition I with grade of C- or higher,
- CSCI 1410 : Fundamentals of Computing with grade of C- or higher,
- CSCI 1411 : Fundamentals of Computing lab with grade of C- or higher.
Topics covered
- Introductions; Review: C++ basics, Control Flow, Procedural Abstraction - functions
- Review: Parameters, overloading, references, arrays
- Structures and Classes
- Constructors
- Operator Overloading
- Friend Functions and Automatic Type conversion
- Software Architecture/Design; Patterns; UML Overview
- Inheritance
- Polymorphism
- Exception handling
- Pointers
- Mock Industry Interview session
- Linked Lists
- Copy Constructors and deconstructors
- Templates and inheritance
- Debugging and troubleshooting
- Debugging and troubleshooting
- Binary File I/O
- JAVA Swing / Python
- Putting it all Together - The bigger picture