Object-Oriented Programming and Design in Java

titteringcluckΛογισμικό & κατασκευή λογ/κού

10 Νοε 2012 (πριν από 5 χρόνια και 1 μήνα)

308 εμφανίσεις

COMS S1007

Object
-
Oriented Programming
and Design in Java

July 8, 2008

Teaching staff


Chris Murphy


cmurphy@cs.columbia.edu


Office hours: Tues 3
-
5pm or by appointment,
608 CEPSR



Swapneel Sheth


swapneel@cs.columbia.edu


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 object
-
oriented 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.


Prerequisites


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 200
-
line program with 4
-
5 classes

Course homepage

http://www.cs.columbia.edu/~cmurphy/1007



Please check the course homepage
frequently for important announcements
and changes to the reading assignments

CourseWorks

http://courseworks.columbia.edu/



Check the “Discussion” section for
questions related to the homeworks



Check the “Gradebook” to make sure our
records match your own

Grading


Homeworks: 35%


Final project: 25%


Final exam: 40%



These are “guidelines” for the final grade


Homeworks


There will be
three

homework assignments
this semester


You generally have one week to complete them



Homeworks will be posted on the course
homepage



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!

Textbook


Cay Horstmann

Big Java,
Third

Edition




Available at CU Bookstore or Amazon



Chapter numbers are different from the
Second Edition

Syllabus


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:

http://www.cs.columbia.edu/education/honesty



It is YOUR responsibility to read and adhere to
the policy

Today


Review of Java basics


Third

edition: Chapters 1
-
7
except “
T”
(Testing) and “G” (Graphics) sections



Development Environments


Eclipse


http://www.eclipse.org



NetBeans


http://www.netbeans.org



JGrasp


http://www.jgrasp.org

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
Iteration


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