270 likes | 408 Views
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
E N D
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 Purdue University West Lafayette, IN, USA
Project 5 Nuped! (Null pointer exception () Black Screen does not show! Nuped! Mushrooms do not show! Nuped! Centipede does not move!
Project 5: and more Centipede moving too fast!! Nuped! Projectiles do not move! Nuped! GameLogic loop does not execute! Oh S…
Project 5: and more and more Ship not moving past the mushrooms Nuped! Projectiles not colliding with the centipede! And more…but then?
Project 5: The End! Finally!!! Aaaaah…It all works! Thanks CS 180!
Centipede Game: Advanced versionDeep Space RemixByDenis 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
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
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!