EECS 211: Fundamentals of Computer Programming II

Quarter Offered

Fall : 12:30-1:50 TuTh ; Sood
Winter : 2-3:20 TuTh ; Tov
Spring : 1-1:50 MWF ; Sood


EECS 111


CATALOG DESCRIPTION:  Object-oriented programming, classes and data hiding, dynamic object construction and destruction, derived classes and inheritance, virtual functions; functions, call by value/reference, overloading; abstract data types; standard template libraries; exception handling; introduction to UNIX, file processing, process management.

  • This course is a required Core course in the CS curriculum in McCormick and Weinberg

Both sections of this course have required discussions that are on Tuesday and can be either 1- 1:50  or 2- 2:50 (check with instructor).

REQUIRED TEXTBOOK: Cay S. Horstmann, "C++ for Everyone", 2nd edition, John Wiley & Sons, Inc. (2010); ISBN-13: 978-0470927137, ISBN-10: 0470927135

COURSE INSTRUCTOR: Prof. Sara Owsley Sood (Fall & Spring) Jesse A. Tov (Winter)

COURSE COORDINATOR: Prof. Sara Owsley Sood



  • C/C++
    • Introduction to software engineering.
    • Basic data types, variables, computer arithmetic, expressions, parentheses.
    • Basic I/O – cout, cin.
    • Introduction to classes – defining one's own data types
    • Flow of control – sequential, test-and-branch, and iteration. Boolean expressions.
    • Arrays, pointers, and strings.
    • Functions: call by value and call by reference, references vs. pointers, stack frames.
    • Function overloading
    • Structures and classes, data hiding and encapsulation.
    • Public and private members, constructors, unions.
    • Interface vs. implementation.
    • Class destructors and copy constructors, the = operator, deep versus shallow copies.
    • C++ operator overloading.
    • Heap space, the new/delete operators.
    • Inheritance and derived classes, is-a hierarchies and composition of classes.
    • Virtual functions and polymorphism.
    • Linked list processing: stacks and queues, trees and recursion.
  • Introduction to UNIX – processes, file management, redirection and piping, make files.

GRADES: Varies by instructor