Upload
frye
View
36
Download
0
Tags:
Embed Size (px)
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
Citation preview
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!