HomeMy WebLinkAboutCIS-287Bergen Community College
Computer Science Department
Course Syllabus
Instructor: _____________________________ Phone: __________________
Email: _______________________ Office hours_________________________
Course Title: CIS-287 Object-Oriented Programming
Prerequisites: CIS-265 Advanced Programming Concepts
Credits/Hours: 3 Credits/ 4 hours (3 Lecture, 1 Lab)
Gen’l Ed. Course: No
Course Description:
This course is an introduction to the object-oriented approach to program development. Topics
considered include classes and their implementation, static members, friend functions,
composite classes, functions and operator overloading, inheritance, polymorphism and an
introduction to object-oriented analysis and design.
Student Learning Outcomes: Upon completion of the course, the student will:
1. understand the fundamental differences between the procedural approach and the
object-oriented approach to programming;
2. understand the fundamental techniques of object-oriented analysis and design;
3. be able to implement classes and their data and methods;
4. be able to write programs using encapsulation, inheritance, and polymorphism concepts;
5. be able to implement graphical user interfaces using swings, multithreading, and
exception handling;
6. be able to implement applets in HTML files.
Student Learning Outcomes Assessment Measurement:
Each of the above listed student learning outcomes will be assessed by: (1) written
assignments, programming projects, and/or quizzes; (2) written examinations and a
comprehensive final exam.
Course Grade and Evaluation :
The student will be evaluated using a variety of methods which may include, but are not
limited to, some of the following: quizzes, exams, written assignments, programming
assignments, and projects.
Textbook: Absolute Java, 5th Edition, Walter Savitch, Pearson/Addison-Wesley, 2012
ISBN-13: 978-0132834230 ISBN-10: 0132834235
Course Content:
1. Introduction to Java
Review of non-object-oriented features of C++
Java objects and methods
Java basic syntaxes: variables, assignment, constants, String class, arrays, console input/output,
flow of control, and loops
2. Defining Classes
Instance variables and methods
public, private, and protected modifiers
Overloading
Constructors
Static variables and methods
Using references
Packages and javadoc
3. Inheritance
Derived and deriving classes
Overriding methods
super and this constructors
encapsulation
4. Polymorphism and Abstract Classes
Late binding
final modifier
toString method
Abstract classes Exam I
5. Exception Handling
try-throw-catch mechanism
throws clause
The finally block
Types of exceptions
6. File I/O
Streams
The File class
Text files: writing, reading, and appending
Binary files: writing, reading, and random access
7. Recursion
Recursive void methods
Recursive methods that return a value
8. Interfaces and Inner Classes
Abstract classes implementing interfaces
Derived interfaces
Use of inner classes
Static inner classes
Public inner classes Exam II
9. Data Structures
ArrayList and Generics
Linked data structures
Collections, Maps and Iterators
10. Swings
Events and listeners
Buttons, text fields, text areas, icons, scroll bars, colors, fonts, and menus
Containers, layout managers, window listeners, Graphics class, and drawString method
11. Advanced Topics
Multithreading
JDBC
Applets with HTML Final
Rev: 11/2014 dw