Course Syllabus

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:

Required Text:

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.

Important Dates:

Please be sure to avoid scheduling conflicts with these dates.

Student Learning Outcomes:
Design, analyze and evaluate computer programs using the C++ programming language.

Course Outline

  1. 'C' Programming language review
  2. C++ pointers, address arithmetic, array pointers, references, passing addresses
  3. Classes, objects, user defined types, constructors, this pointer, UML, object oriented design
  4. streams, cout/cin, overloading <<, class conversion, class scope, static data, static member functions,
  5. class inheritance, private/public/protected, polymorphism, virtual functions, abstract classes
  6. Overloading vs. overriding, multiple inheritance, file streams, friends, Object Oriented Design and Patterns
  7. structures, records, dynamic allocation, new/delete, linked lists
  8. Exception handling, overloaded constructors/functions/operators
  9. Template classes/functions, Standard Template Library (STL), namespaces, type casts