Computer Science 236 C++ Object Oriented Programming
Course Description: Object Oriented Programming (OOP) using the
C++ language. Topics covered will be C++ classes/objects, input/output
streams, overloading, inheritance, templates and exception handling. This
is a second semester course in C/C++; students entering the course should
already be familiar with the C programming language.
Please check the web page http://www.canyons.edu/departments/comp_sci/ferguson/cs236
each week for:
- Weekly Lecture Notes
- Weekly Reading Assignments
- Project Assignments and Deadlines
Grading: Grading will be based on the following breakdown:
Quiz 1 10% 20 points
Midterm 20% 40 points
Quiz 2 10% 20 points
Final 30% 60 points
Project 1 10% 20 points
Project 2 10% 20 points
Project 3 10% 20 points
Needed Point Totals: A – 175 points, B – 150 points, C
– 120 points, D – 100 points
Makeup exams will not be allowed.
Surfing the Internet during class time is reserved for class related
web sites. EBay, chat rooms, sports sites and other non-class related
surfing is strictly prohibited and may result in penalty reduction of points.
Please be sure to avoid scheduling conflicts with these dates.
Student Learning Outcomes:
Design, analyze and evaluate computer programs using the C++ programming language.
'C' Programming language review
C++ pointers, address arithmetic, array pointers, references, passing addresses
Classes, objects, user defined types, constructors, this pointer, UML, object oriented design
streams, cout/cin, overloading <<, class conversion, class scope, static data, static member functions,
class inheritance, private/public/protected, polymorphism, virtual functions, abstract classes
Overloading vs. overriding, multiple inheritance, file streams, friends, Object Oriented Design and Patterns
structures, records, dynamic allocation, new/delete, linked lists
Exception handling, overloaded constructors/functions/operators
Template classes/functions, Standard Template Library (STL), namespaces, type casts