COMS S1007
Object-Oriented Programming
and Design in Java
July 8, 2008
Teaching staff
• Chris Murphy
– [email protected]
– Office hours: Tues 3-5pm or by appointment,
• Swapneel Sheth
– [email protected]
– Office hours: Thurs 3-5pm, 608 CEPSR
• Starting next week
About the course
• The second course for majors in computer
science. A rigorous treatment of objectoriented concepts using Java as an
example language.
• Development of sound programming and
design skills, problem solving and
modeling of real world problems from
science, engineering, and economics
using the object-oriented paradigm.
• COMS W1004 or AP Computer Science
with a grade of 4 or 5
• Completion of an Intro to Java course at
another university
• You should be familiar with basic Java
concepts and programming principles
• You should be comfortable writing a 200line program with 4-5 classes
Course homepage
• Please check the course homepage
frequently for important announcements
and changes to the reading assignments
• Check the “Discussion” section for
questions related to the homeworks
• Check the “Gradebook” to make sure our
records match your own
• Homeworks: 35%
• Final project: 25%
• Final exam: 40%
• These are “guidelines” for the final grade
• There will be three homework assignments
this semester
– You generally have one week to complete them
• Homeworks will be posted on the course
• Late submissions are not allowed!
Final Project
• The final project can be thought of as a
“big” homework assignment
• As part of Homework #3, you will write a
proposal that describes the functionality
and the design of your application
• At the end of the course, you will demo
your project to the class
Final Exam
• An in-class final exam will be held on the
last day of class: Wednesday, August 14
• Exam covers material from readings and
lectures (so come to class!)
• There are no make-up exams!
• Cay Horstmann
Big Java, Third Edition
• Available at CU Bookstore or Amazon
• Chapter numbers are different from the
Second Edition
• Topics covered include:
– Advanced Java features
– Principles of object-oriented design
– Good programming practices
– Basic graphics
– Data structures
• Check the course homepage for assigned
readings for each lecture
Academic honesty
• Please familiarize yourself with the Computer
Science Department’s policy:
• It is YOUR responsibility to read and adhere to
the policy
• Review of Java basics
– Third edition: Chapters 1-7 except “T”
(Testing) and “G” (Graphics) sections
Development Environments
• Eclipse
• NetBeans
• JGrasp
Chapters 2-3: Using Objects &
Implementing Classes
• Objects and classes
• Methods
• Constructors
• Accessors & mutators
• Object references
• The Java API: String, Scanner
Chapter 4: Data Types
• The 8 primitive Java data types
• Constants
• Assignment, Increment, Decrement
• Math functions
Chapters 5-6: Decisions and
• The “if” statement
• Boolean expressions
• “while”, “do/while”, and “for” loops
• Generating random numbers
Chapter 7: Arrays & ArrayLists
• Arrays
– Everything must be same type
– Fixed size
• ArrayLists
– Address above limitations of Arrays
– Important methods: add, get, contains, remove