CSC 222: Object-Oriented Programming Spring 2017: Course Goals: See Online Syllabus at
CSC 222: Object-Oriented Programming Spring 2017: Course Goals: See Online Syllabus at
Spring 2017
Course goals:
§ To know and use basic Java programming constructs for object-
oriented problem solving (e.g., classes, polymorphism, inheritance,
interfaces).
§ To appreciate the role of algorithms and data structures in problem
solving and software design (e.g., objected-oriented design, lists, files,
searching and sorting).
§ To be able to design and implement a Java program to model a real-
world system, and subsequently analyze its behavior.
§ To develop programming skills that can serve as a foundation for
further study in computer science.
Assumed background
technically, CSC 221 is a prerequisite for this course
§ what is really needed is basic programming & problem-solving experience
§ early on, I will map Java constructs back to their corresponding Python
§ if you learned a different language, will need to make your own connection
1
When problems start to get complex…
Object-oriented programming
OOP is the standard approach to software engineering
§ develop a software model of the objects in the form of abstract data types (ADTs)
an ADT is a collection of data items and the associated operations on that data
in Java, ADTs are known as classes
2
Getting started
recall: you got a sneak peek at OO at the end of 221
§ e.g., Die, DeckOfCards, RowOfCards
BlueJ screenshot