COMS S1007 Object-Oriented Programming and Design in Java - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

COMS S1007 Object-Oriented Programming and Design in Java

Description:

No calculators, books, notes, electronic devices, etc. What's on the final exam? ... No calculators, books, notes, electronic devices, etc. Chapters 1-12, 15-16, ... – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 27
Provided by: programmin
Category:

less

Transcript and Presenter's Notes

Title: COMS S1007 Object-Oriented Programming and Design in Java


1
COMS S1007Object-Oriented Programming and Design
in Java
  • August 12, 2008

2
Final Exam Logistics
  • 825 Mudd (usual classroom)
  • Thursday, 540-840pm
  • Note the start time
  • No calculators, books, notes, electronic devices,
    etc.

3
Whats 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

4
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

5
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!!

6
Whats 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

7
Format of the exam (tentative)
  • 10-15 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

8
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

9
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

10
More advice
  • Concept questions
  • Dont write too much, but try to be detailed
  • Give an example if you cant explain it
  • Problem solving and analysis
  • Show your work to get partial credit
  • Clearly state any assumptions you make

11
More advice
  • Find the bugs question
  • Look for compile-time (syntax, semantic) errors
    before trying to find logic errors
  • Be sure its 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

12
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

13
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

14
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

15
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

16
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

17
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.

18
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

19
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

20
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

21
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

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

23
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

24
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

25
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

26
Final Exam Logistics
  • 825 Mudd (usual classroom)
  • Thursday, 540-840pm
  • Note the start time
  • No calculators, books, notes, electronic devices,
    etc.
  • Chapters 1-12, 15-16, 18, 20, 21
Write a Comment
User Comments (0)
About PowerShow.com