Home

EECS 211 - Fundamentals of Computer Programming II

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

REQUIRED TEXTBOOK:

H. M. Deitel and P. J. Deitel, C++: How To Program, Prentice Hall (latest edition)

COURSE COORDINATOR: Larry Henschen

PREREQUISITES: EECS 110, 111 or any knowledge of any programming language

DETAILED COURSE TOPICS:

  • Introduction to software engineering.
  • Basic data types, variables, computer arithmetic, expressions, parentheses.
  • Basic I/O – cout, cin.
  • Introduction to classes – defining ones 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
  • Introduction to classes:
  •         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

 

Computer Science course tags