Instructor: Dr. Lihong Zhang, Faculty of Engineering and Applied Science, Memorial University of Newfoundland, Email: email@example.com, Tel: (709) 864-4638, EN-3031
Lectures: Three lectures per week. Mondays, Wednesdays, and Fridays 15:00 – 15:50, all in EN-1054
Office Hours: Tuesdays and Thursdays
Assignment Due Dates (Tentatively): A0 (Sept. 20), A1 (Sept. 27), A2 (Oct. 4), A3 (Oct. 18), A4 (Oct. 25), A5 (Nov. 1), A6 (Nov. 8), A7 (Nov. 15), A8 (Nov. 22)
Labs: 9 lab sessions in EN-3000/3029
Midterm Test (Tentatively): Oct. 16
Assignments: 12 %
Midterm exam: 30 %
Final exam: 58 %
Website: The formal D2L-based course website is available at http://online.mun.ca/
Review: commands and operators, control structures; functions and variables: scope, lifetime, storage class, pass-by-value, declaration vs. definition, privacy; arrays & string; library objects.
Pointers: notation, equivalence of pointer notation to array notation, passing by pointer, pass-by-reference.
Structures: declaration, definition and usage, pointers to structures, structure assignment, abstract data types.
Classes: data and function hiding, member functions, access control, objects, declaration versus instantiation, static members, inline functions.
Object Creation: constructors and destructors, default constructors, overloading, default arguments, copy constructors, shallow vs. deep copying.
Ad Hoc Polymorphism: conversions, binary operator overloading, unary operator overloading, friend functions, assignment and subscript overloading.
Inheritance: code reuse, derived and base classes, the protected access control, code reuse, virtual functions, abstract base classes, multiple inheritance.
Parametric Polymorphism: function templates, signature matching, class templates, inheritance.
Although not formally taught, examples and assignments will emphasize and explore such fundamental data structures as arrays, stacks, and queues.
Frank L. Friedman and Elliot B. Koffman, Problem Solving, Abstraction and Design Using C++ (5th Edition), Addison Wesley, 2006, ISBN: 0-321-45005-1. (Note: The textbook is not mandatory. It is specified only as a backup. The lecture notes are the primary resource and are available on the web in a form that may readily be printed.)
Last Modified: Thu., Aug. 29, 2013 (at 16:00) by Lihong Zhang