CISC 7124 Object-Oriented Programming
Basic Information and Requirements
- Instructor: Prof. Neng-Fa Zhou
- Class hours: W 06:05-08:10PM 4411 IH
- Office hours: TBA
- Reference Books and Web Sites:
Topics
Principles and implementation issues in object-oriented programming languages, including memory and run-time models; encapsulation, inheritance and polymorphism; collections and other frameworks and hierarchies; effects of binding time considerations on language design and implementation; formal design specifications such as UML; implementation of advanced algorithms, such as divide-and-conquer, dynamic programming, backtracking, and graph search algorithms; the Java Virtual Machine; case studies chosen from C++ and Java.
Prerequisite: CISC 3120 and 3130.
Homework assignments
Homework assignments are available here. Please submit homework by email at nzhou (AT) brooklyn (DOT) cuny (DOT) edu. Please write your name, course number, and the number of the assignment in the subject. I prefer receiving plain text emails. If you include an attachment in your email, please make sure it is in either PDF or txt format. Sample answers to the programming questions
will be given and selected questions will be reviewed in class. There
will be a one-point deduction for each missing homework or late
submitted homework. The total deduction will not exceed 10 points.
Exams and Grading
There will one midterm exam and one accumulative final exam, all open-book. The midterm accounts for 30%, the final accounts for 50%, and the remaining 20% of the grade will be based on projects.
Course Outline
- Review of Java basics (data types, operators, statements, arrays, and static methods)
- An introduction to OOP
- Inheritance in Java
- Review of Generic Collection Classes in Java (MyLinkedList.java)
- EPI (Linked Lists, Stacks and Queues, Binary Trees, Heaps)
- Midterm of Spring 2022
- Recursive Algorithms (Divide and Conquer, Combinatorics, Dynamic Programming, Backtracking)
- Graphs (Graph Traversal Algorithms, Graph Minimization Algorithms, Backtracking)
- Miscellaneous Topics (UML, Concurrent Programming, GUI, JVM)
- Java Virtual Machine
- Final exam Sample final