ECE 39595 - Object-Oriented Programming with C++Lecture Hours: 3 Credits: 3
Experimental Course Offered: Fall 2020
ECE 26400 and ECE 20875
Requisites by Topic:
Programming ability, pointers, memory allocation, objects
This course teaches C++ and the principles of object oriented programming using C++. It covers the basics of the C++ language, including inheritance, virtual function calls and the mechanisms that support virtual function calls. Design patterns and general principles of programming will be covered. If Object-Oriented Programming with Java is also taken, only one will count toward BSCmpE degree credits as a CmpE Selective.
CMPE students may only take this course or ECE 39595 Object Oriented Programming with Java as a CMPE Selective.
- C++ Crash Course: A Fast-Paced Introduction, Josh Lospinoso , No Starch Press, 2019, ISBN No. 10-1593278888.
- Head First Design Patterns, 1st Edition, Eric Freeman, Elisabeth Robson, Bert Bates and Kathy Sierra, O'Reilly Media, 2004, ISBN No. 13: 978-0596007126.
- The Pragmatic Programmer: From Journeyman to Master, 1st Edition, David Thomas and Andrew Hunt, Addison-Wesley Publishing Co., 1999.
- Refactoring: Improving the Design of Existing Code, 2nd Edition, Martin Fowler, Addison-Wesley Publishing Co., 2018, ISBN No. 978-0134757681.
- The Clean Coder, 1st Edition, Robert C. Martin, Prentice Hall, 2011, ISBN No. 978-0132542913.
Learning Outcomes:A student who successfully fulfills the course requirements will have demonstrated:
- the ability to apply a design pattern to a particular problem. 
- an understanding of basic Object Oriented concept of classes, objects, inheritance and polymorphism. 
|.5||virtual and non-virtual functions|
|1||Constructors and constructor call order|
Engineering Design Content:
Engineering Design Consideration(s):