COMS S1007 Object-Oriented Programming and Design in Java July 3, 2007 Teaching staff • Chris Murphy – cmurphy@cs.columbia.edu – Office hours: TR 3:30-4:30pm, 608 CEPSR • This week by appointment only • Hila Becker – hila@cs.columbia.edu – Office hours: MW 4-5pm, 6LE1 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. Prerequisites • COMS W1004 or AP Computer Science with a grade of 4 or 5 • You should be familiar with basic Java concepts and programming principles • You should be able to write a 150-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: 60% • Final exam: 40% • These are “guidelines” for the final grade Homeworks • There will be five homework assignments this semester – You generally have one week to complete them • Homeworks will be posted on the course homepage and in CourseWorks Exams • An in-class final exam will be held on the last day of class: Wednesday, August 9 • Exam covers material from readings and lectures (so come to class!) Textbook • Cay Horstmann Big Java, Third Edition • Available at CU Bookstore or Amazon • Chapter numbers are slightly 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-6 except “T” (Testing) and “G” (Graphics) sections – Second edition, chapters 1-7 but not ch.5 • Designing Java classes – Third edition: Read sections 8.1 – 8.9 – Second edition: Chapter 9 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