CSCI 272 Object-Oriented Programming


Syllabus

Meeting Time: M/W 9:25-10:40am
Meeting Room: NB 06.64
Office Location: TBD
Office Hour: M/W 11:00am-11:30am
E-mail: jchu1@gradcenter.cuny.edu

Course Description: This course is a continuation of algorithmic problem solving, introducing more advanced methods, particularly objected-oriented design. Topics include procedural abstraction, user defined static dynamic and generic data types, linked structures, sorting and searching, event driven programming and recursion. Abstract data types, inheritance and polymorphism are examined in detail. Principles of rigorous programming practice and software development are emphasized.

Learning Outcomes

Course Prerequisites: ENG 101 and MAT 271

Requirements/Your course policies

Required Texts: C++ How to Program Late Objects Version, by Harvey & Paul(7th Edition)

Grading Policy: Your final grade will be based on the following:

Item Percentage
Homework (3 lowest dropped) 25%
8 Quizzes (2 lowest dropped) 15%
Midterm Exam 25%
Final Exam 30%
Class attendance and participation 5%

Programming Homework Grading Criteria: Your programming homework will be graded based on the following criteria:

  1. NO SYNTAX ERROR!!! If your program doesn't compile, you will not get any credit for you assignment. After successfully compiling your code, I will evaluate your program in the following aspect.
  2. Correctness. Your program should work as required in the homework. (70%)
  3. Coding style. Including but not limited to: identifiers should be given meaningful names; your code should be well formatted with proper indentation; easy to read and understand the structure of the program. (20%)
  4. Good documentation. Comment your code whenever possible, especially for the self-defined function, describe its functionality, parameters and return value if applicable. Organize your file with clear file name and folder structure, zip all files and submit the file instead of uploading them individually. (10%)

Schedule of Topics:

Sections Topics
7.1 - 7.12 Pointers
5.1 - 5.22 Functions and an Introduction to Recursion
9.1 - 9.13 Classes
10.1 - 10.7 Classes: A Deeper Look
11.1 - 11.15 Operator Overlaoding
12.1 - 12.7 Objected-Oriented Programming: Interitance
13.1 - 13.9 Objected-Oriented Programming: Polymorphism
Other topics Template Class & Linked List

Resources