COMS S1007 Object-Oriented Programming and Design in Java August 12, 2008.

Slides:



Advertisements
Similar presentations
Chapter 1 Object-Oriented Concepts. A class consists of variables called fields together with functions called methods that act on those fields.
Advertisements

Java How to Program, 9/e CET 3640 Professor: Dr. José M. Reyes Álamo © Copyright by Pearson Education, Inc. All Rights Reserved.
Georgia Institute of Technology Workshop for CS-AP Teachers Chapter 3 Advanced Object-Oriented Concepts.
Slides 4/22 COP Topics Final Exam Review Final Exam The final exam is Friday, April 29 th at 10:00 AM in the usual room No notes, books, calculators,
COMS S1007 Object-Oriented Programming and Design in Java July 8, 2008.
Chapter 41 Defining Classes and Methods Chapter 4.
COMS W1004 Introduction to Computer Science June 24, 2009.
1 Programming for Engineers in Python Autumn Lecture 5: Object Oriented Programming.
CMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
Aalborg Media Lab 23-Jun-15 Inheritance Lecture 10 Chapter 8.
COMS S1007 Object-Oriented Programming and Design in Java July 24, 2008.
COMS S1007 Object-Oriented Programming and Design in Java August 7, 2007.
Review CSC 171 FALL 2004 LECTURE 21. Topics Objects and Classes Fundamental Types Graphics and Applets Decisions Iteration Designing Classes Testing and.
ASP.NET Programming with C# and SQL Server First Edition
Chapter 10 Classes Continued
Data Structures Using C++1 Chapter 1 Software Engineering Principles and C++ Classes.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter N - 1 Chapter 13 Polymorphism is-a relationships Interfaces.
COMS W1004 Introduction to Computer Science June 29, 2009.
COMS S1007 Object-Oriented Programming and Design in Java July 3, 2007.
Networking with Java CSc 335 Object-Oriented Programming and Design Spring 2009.
Chapter 6: Graphical User Interface (GUI) and Object-Oriented Design (OOD) J ava P rogramming: Program Design Including Data Structures Program Design.
New experiences with teaching Java as a second programming language Ioan Jurca “Politehnica” University of Timisoara/Romania
Chapter 12 Inheritance and Exceptions Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas,
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 3 The Structure and Syntax of Java.
Syllabus (1) WeekChapters 1Introduction to the course, basic java language programming concepts: Primitive Data Types and Operations 1, 2 2Methods, Control.
CSC 113 Java Programming II
CSCA48 Course Summary.
Java Programming: From Problem Analysis to Program Design, Second Edition1  Learn about basic GUI components.  Explore how the GUI components JFrame,
ICS 102 Computer Programming University of Hail College of Computer Science & Engineering Computer Science and Software Engineering Department.
CSE115: Introduction to Computer Science I Dr. Carl Alphonce 343 Davis Hall
CIS 644 Aug. 25, 1999 tour of Java. First … about the media lectures… we are experimenting with the media format please give feedback.
CS1101: Programming Methodology Aaron Tan.
Selected Topics in Information Technology Programming Language - JAVA Semester 1/2554.
Java Programming: Guided Learning with Early Objects
1 Java: AP Curriculum Focus and Java Subset Alyce Brady.
ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
More on Hierarchies 1. When an object of a subclass is instantiated, is memory allocated for only the data members of the subclass or also for the members.
Data Structures Using C++1 Chapter 1 Software Engineering Principles and C++ Classes.
Object-Oriented Design CSC 212. Announcements This course is speeding up and we are starting new material. Please see me if you feel this is going too.
Data Structures Using Java1 Chapter 2 Inheritance and Exception Handling.
Chapter 12 Handling Exceptions and Events. Chapter Objectives Learn what an exception is Become aware of the hierarchy of exception classes Learn about.
Chapter 14 Abstract Classes and Interfaces. Abstract Classes An abstract class extracts common features and functionality of a family of objects An abstract.
Programming with Java © 2002 The McGraw-Hill Companies, Inc. All rights reserved. 1 McGraw-Hill/Irwin Chapter 5 Creating Classes.
Java Programming: From Problem Analysis to Program Design, 3e Chapter 6 Graphical User Interface (GUI) and Object-Oriented Design (OOD)
Java Programming: From Problem Analysis to Program Design, Second Edition1 Lecture 5 Objectives  Learn about basic GUI components.  Explore how the GUI.
Week101 APCS-AB: Java Miscellaneous Topics: Snippets we missed in Chapters 1-6 of book November 11, 2005.
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved Chapter 6 Objects and Classes.
Chapter 11: Advanced Inheritance Concepts. Objectives Create and use abstract classes Use dynamic method binding Create arrays of subclass objects Use.
JAVA: An Introduction to Problem Solving & Programming, 6 th Ed. By Walter Savitch ISBN © 2012 Pearson Education, Inc., Upper Saddle River,
Programming & Debugging. Key Programming Issues Modularity Modifiability Ease of Use Fail-safe programming Style Debugging.
Introduction to Objects and Encapsulation Computer Science 4 Mr. Gerb Reference: Objective: Understand Encapsulation and abstract data types.
Terms and Rules II Professor Evan Korth New York University (All rights reserved)
Data Structures Using Java1 Chapter 1 Software Engineering Principles and Java Classes.
Chapter 6 Graphical User Interface (GUI) and Object-Oriented Design (OOD)
Review IS Overview: Data  Inside the application Collections  Outside the application Database XML  Getting/displaying Swing  Communicating.
Chapter 5 Introduction to Defining Classes Fundamentals of Java.
Java Programming: Guided Learning with Early Objects Chapter 9 Inheritance and Polymorphism.
CSc 020: Programming Concepts and Methodology II
EE2E1. JAVA Programming Revision Lecture.
About the Presentations
Java Programming: From Problem Analysis to Program Design,
Object-Orientated Programming
Programming in Java Text Books :
CSE 1030: Data Structure Mark Shtern.
Review CSE116 2/21/2019 B.Ramamurthy.
Review B.Ramamurthy 4/6/2019 BR.
Final Review B.Ramamurthy 5/8/2019 BR.
Presentation transcript:

COMS S1007 Object-Oriented Programming and Design in Java August 12, 2008

Final Exam Logistics 825 Mudd (usual classroom) Thursday, 5:40-8:40pm –Note the start time No calculators, books, notes, electronic devices, etc.

What’s on the final exam? All material covered in lecture Programs discussed in lecture and posted on the class website Assigned readings –Emphasis will be on material covered in class

Assigned Readings Java basics –chapters 1-7 Designing classes –8.1 – 8.9 Software Engineering –chapter 12 Software Testing –2.8, 3.6, 5.5, 7.8, 8.10; slides from 7/10 Interfaces, Inheritance –9.1 – 9.5, 10.1 – 10.8 Graphics –2.11 – 2.13, 3.9, 10.9 – 10.11, chapter 18

Assigned Readings Event handling –9.6 – 9.10 Threads –chapter 20 Networking –chapter 21 Exceptions –chapter 11 Data structures –chapters 15 & 16 Design patterns –not in the book!!

What’s NOT on the final? Extra material in textbook, such as: –Common Errors –How Tos –Quality Tips –Productivity Hints –Random Facts –….unless covered in lecture!! Advanced Topics covered last week

Format of the exam (tentative) short-answer “concept” questions 2-3 problem solving and analysis 4-5 writing Java methods 1-2 writing Java classes 1-2 “Find the bugs” questions 3-4 determining output of Java code

Studying for the exam Review your class notes, particularly the descriptions of Java classes and APIs Review and make sure you understand the source code that we looked at in class and in the textbook from the assigned readings Review the comments made on your homeworks Office hours by appointment on Thursday

Taking the exam Note how much each question is worth Look through the entire exam and start by working on problems that you think you can do quickly and that are worth a lot of points Read the questions carefully to see what is expected of you Ask the proctor if you have any questions

More advice Concept questions –Don’t write too much, but try to be detailed –Give an example if you can’t explain it Problem solving and analysis –Show your work to get partial credit –Clearly state any assumptions you make

More advice “Find the bugs” question –Look for compile-time (syntax, semantic) errors before trying to find logic errors –Be sure it’s a bug (look out for tricks) Writing Java code –You are graded on accuracy of syntax and semantics (your code must “compile”) –Pay attention to stylistic issues –You will not be provided with any API docs, except for classes not previously seen

Classes you should know well Math : random, pow, sqrt… String : charAt, indexOf, size… Scanner : constructors, hasNext, next, nextLine… JFrame : setSize, setVisible, add… Graphics : setColor, drawString, fillOval… Object : equals, hashCode, toString, clone… These are not the only ones that may appear on the exam, but are the ones you should know best

Java Basics (chapters 1-7) OOP: classes and objects Encapsulation: public and private Methods and constructors Object references and aliases Pre- and post-increment Lazy evaluation of boolean expressions Call-by-reference vs. call-by-value

Coding style Avoid calling the same method multiple times Use lazy evaluation Use constants User errors vs. programmer errors Avoid side effects Member variables vs. local variables Aliasing a parameter

Designing classes (8.1 – 8.9) Classes vs. methods –Classes are nouns, methods are verbs Cohesion: everything belongs together Coupling: co-dependence Side effects: modifying an object passed as an explicit parameter

Interfaces & Inheritance (9.1 – 9.5, 10.1 – 10.8) Interfaces: collection of abstract methods Polymorphism Inner classes Inheritance Abstract classes Object : the global superclass

Graphics and Java GUIs (2.11 – 2.13, 3.9, 18.1 – 18.4) JFrame and its methods JComponent Drawing with the Graphics object Java Swing components –JPanel, JTextField, JButton, etc.

Testing (2.8, 3.6, 5.5, 7.8) The “assert” statement Unit testing –White box and black box testing –Boundary values and equivalence classes Integration and systems testing Regression testing

Event handling (9.6 – 9.10) Event sources and listeners –Not just for GUI events Java GUI Listeners –MouseAdapter –MouseMotionAdapter –KeyAdapter –ActionListener MouseEvents, KeyEvents, ActionEvents

Networking (21.1 – 21.5) The ServerSocket class –constructor binds to a port –“accept” method waits for a connection The Socket class –“connect” method connects to a port Input and Output streams

Threads (20.1 – 20.5) Why use threads? The Thread class and Runnable interface Invoking a new Thread and important methods –start: begins a new thread of execution –run: starting point of executable code Race conditions Locks and synchronization

Exceptions (11.1 – 11.6) Exception hierarchy The try/catch/finally blocks Throwing exceptions Custom exceptions

Data structures (15.1 – 15.4) Linked Lists –LinkedList and ListIterator class Stack: LIFO, push/pop Queue: FIFO, add/remove –Either can be implemented with arrays or with LinkedLists

More Data Structures (16.1 – 16.10) Set: add, remove, contains Map: get, put Hashing functions and hash tables Trees and traversal techniques Heaps and Heapsort

Design Patterns What are design patterns used for? What are the three GoF classes of patterns? Singleton: limit to a single instance Composite: treat a collection of objects with the same interface as individual ones Observer: publish/subscribe

Final Exam Logistics 825 Mudd (usual classroom) Thursday, 5:40-8:40pm –Note the start time No calculators, books, notes, electronic devices, etc. Chapters 1-12, 15-16, 18, 20, 21