cs 180 problem solving and object oriented programming fall 2011

Post on 24-Feb-2016

36 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

CS 180 Problem Solving and Object Oriented Programming Fall 2011. http://www.cs.purdue.edu/homes/apm/courses/CS180Fall2011/. This class:. Centipede game Review Final Exam Best wishes. 12/7. Notes for the Final Lecture Dec 7, 2011. Aditya Mathur Department of Computer Science - PowerPoint PPT Presentation

TRANSCRIPT

CS 180 Problem Solving and Object Oriented Programming Fall 2011

Notes for the Final LectureDec 7, 2011

Aditya MathurDepartment of Computer SciencePurdue UniversityWest Lafayette, IN, USA

http://www.cs.purdue.edu/homes/apm/courses/CS180Fall2011/

This class:

12/7 1. Centipede game2. Review3. Final Exam4. Best wishes

Programming and the

“Nupe”d! MomentsOh! Moments

Wow! Moments

Project 5

Black Screen does not show!

Mushrooms do not show!

Centipede does not move!

Nuped! (Null pointer exception ()

Nuped!

Nuped!

Project 5: and more

Centipede moving too fast!!

Projectiles do not move!

GameLogic loop does not execute! Oh S…

Nuped!

Nuped!

Project 5: and more and more

Ship not moving past the mushrooms

Projectiles not colliding with the centipede!

Nuped!

And more…but then?

Project 5: The End!

Finally!!!

Aaaaah…It all works!

Thanks CS 180!

Centipede Game: Advanced versionDeep Space Remix

By

Denis Luchkin-Zhou

Java classes Used

• Graphics: Draw screen and game characters• Point, Dimension, Rectangle: Positioning and

collision• Font, Font Metrics: Drawing text• Robot: Locking the mouse• Image: Ship, asteroids, centipede, background• Use of texturing• Animation: modified implementation of circular

buffer

Additional Game Features

• Weapon upgrades• Debugging mode• Object pooling: efficiency of memory usage• Mega laser• Chained asteroid explosion: Asteroids around an

exploding asteroids are damaged based on hit-points

• Game menu• Overall design

Now-- Demo by Denis!

Course Review

Chapter 1

• No questions from this chapter on the final exam• Number systems (binary, hexadecimal, octal)• Integers and floating point numbers• Conversion across bases (e.g., int to binary)• Errors in number representation• Overflow and underflow

Chapters 2 and 3

• Program structure• Variables, constants, operations (+, -, %, /, etc.)• Statements• Strings• Primitive types: int, long, double, boolean etc.• Conversion across types• Math library• Classes and objects• Scanner

Chapters 4 and 5

• If-then and if-then-else statements• Loops:– while and for statements

Chapter 7

• Arrays:– Single dimension– Double dimension– Array creation– Array index bounds exception– Looping through arrays– Searching and sorting

Chapter 8

• Methods:– Method signature– Parameters– Return type and void– Recursive methods– GCD and Fibonacci– Tree creation and traversal

Chapter 9

• Classes and objects:– Constructors– Instance variables– Instance methods– Access modifiers (public, private)– Object creation and use– Arrays of objects

Chapters 10 and 11

• Interfaces and inheritance– Implementation of interface– Interfaces in GUI construction– Access restriction

Chapter 12

• Exceptions– Try-catch-finally

Chapter 14

• Creating a thread• The run() method• Passing data to a thread• Getting data from a thread• Dividing work amongst thread• start() and join()

Chapter 18

• Trees• Creation• Searching• Traversing

Chapter 19

• File objects• Opening and closing files• Reading and writing into files

Final Exam:

Friday 12/16: 1-3pm. LAMBF101

Part A

• Closed book/notes• 10 Multiple choice questions• Chapters 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 18, 19• You may ignore the chapters NOT listed above• To prepare, review:– the quiz questions during in class quizzes – the conceptual problems at the end of the chapters

mentioned above.

Final Exam: Part B

• Open book/notes; no laptop, etc; no internet connection

• Chapters 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 14, 18, 19• Two programming questions• Q1: You will be asked to write several short

methods.• Q2: You will be asked to write one concurrent

program.

Final Exam: Part B

• Recursion: Yes• Threads: Yes• GUI: No (no listeners)• Binary numbers: No• Synchronization (wait and notify): No

Thank you!

For this most enjoyable class!

Best wishes for success in the rest of your career at Purdue and beyond!

top related