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
- Describe the process by which high level process is deconstructed into a sequence of atomic logical steps and then transformed in a manner compatible with the syntactic rules of a programming language into an executable computer program. Think critically in linking theory, research and implementation.
- Design and implement; programming with C++ language.
- Write assignments consisting of design, documented code, description of testing methodology, critical contemplation of the difficulties faced, possible improvements
- Accomplish a specific purpose, ethnically and legally(e.g., demonstrate critical interpretation of required reading; and/or primary data gathering by observation and experimentation; and/or finding and evaluating internet resources)
Course Prerequisites: ENG 101 and MAT 271
Requirements/Your course policies
- Attendance: Regular attendance is required. Please sign the attendance sheet as you enter the classroom. Students having more than four(4) unexcused absences may receive the grade of "F" for the course. If you are tardy, please enter quietly and take a seat at the back of room. If you are late 20 minutes, you will be counted as absent. In addition, once you enter the classroom, you are expected to remain there until the end of the period.
- Homework Policy: Homework will be assigned weekly and collected every Wednesday. A major key to success in this class is doing homework completely and on time. All homework must be handed in at the beginning of the class. Late homework will not be accepted!! Any student with more than 5 missing assignments will not receive a final course grade better than a "C".
- Tests and Quizzes: There will a test or quiz every Wednesday. Only in the event of an unavoidable emergency will a make-up test be considered. No make-up quizzes will be given. However, I will drop your 2 lowest quiz scores. If you are absent for a quiz, the missed quiz becomes one of your dropped scores.
- Code of Conduct: All the students are expected to be in class on time, prepared and ready to learn. Anything that disrupts the learning environment will not be tolerated. Cell phones and pagers must be turned off before entering. Students who disturb class by talking, eating, walking about or any other disruptive behavior will be asked to leave and may not return to class until they have spoken privately with me in my office.
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:
- 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.
- Correctness. Your program should work as required in the homework. (70%)
- 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%)
- 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