140 likes | 262 Vues
Welcome to CIS 280 - Object-Oriented Programming! This course builds upon your knowledge of Object-Oriented Analysis and Design (OOAD) to enhance your programming skills in Java. You will learn core OOP principles, such as separating GUI from business logic, preparing for changes, programming to interfaces, and employing design patterns. By the end, you will develop a medium-complexity OOP application. Key topics include RMI, double dispatch, MVC setup, and much more. Prerequisite: proficiency in Java and basic software engineering knowledge.
E N D
CIS 280 Object-Oriented Programming Professor Zavodnik
Course Objectives • Apply what you learned in OOAD to OOP. This means everything from use-cases to Java code from UML • Learn the basics of OOP
Some OOP Basics • Separate GUI from business logic • Prepare for Change/Exension • Program to an Interface • Use Design Patterns in your program. • Learn distributed architecture (RMI)
Advanced Java Features • Double Dispatch • Wrapping classes • MVC setup • Packaging and compilation
Main Objective • Write an OOP application of medium complexity (20 + classes) of your choice • Practice on a tiered application with Java code “answers.”
Prerequisite • Ability to program in Java • Some knowledge of SW Engineering, e.g. requirements analysis and use-cases.
Grading Policy • 2 quizes 15% • Class participation 6% • Practice project 13% • Project 25% • Homework 6% • Final 35%
Essentials • See 274 Discussion
Office Hours • See 274 Discussion
Textbook • Budd, Tim. Introduction to OOP using Java • Lecture Notes by Barry Levine • Both required by CIS department
Recommended • Horstmann, Kai. Advanced Core Java Programming, V II (for RMI) • Deitel & Deitel. Advanced Java with J2EE • Larman, Craig. Object Oriented Analysis with UML • Gamma, et al. Design Patterns
Note on API • NetBeans and Eclipse are available. • You are responsible also for what goes on behind the scenes, e.g. compilation options, class libraries, jar files, etc. • Batch files are often useful