1 / 27

CS 180 Problem Solving and Object Oriented Programming Fall 2011

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

frye
Download Presentation

CS 180 Problem Solving and Object Oriented Programming Fall 2011

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Programming and the“Nupe”d! MomentsOh! MomentsWow! Moments

  3. Project 5 Nuped! (Null pointer exception () Black Screen does not show! Nuped! Mushrooms do not show! Nuped! Centipede does not move!

  4. Project 5: and more Centipede moving too fast!! Nuped! Projectiles do not move! Nuped! GameLogic loop does not execute! Oh S…

  5. Project 5: and more and more Ship not moving past the mushrooms Nuped! Projectiles not colliding with the centipede! And more…but then?

  6. Project 5: The End! Finally!!! Aaaaah…It all works! Thanks CS 180!

  7. Centipede Game: Advanced versionDeep Space RemixByDenis Luchkin-Zhou

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

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

  10. Now-- Demo by Denis!

  11. Course Review

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

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

  14. Chapters 4 and 5 • If-then and if-then-else statements • Loops: • while and for statements

  15. Chapter 7 • Arrays: • Single dimension • Double dimension • Array creation • Array index bounds exception • Looping through arrays • Searching and sorting

  16. Chapter 8 • Methods: • Method signature • Parameters • Return type and void • Recursive methods • GCD and Fibonacci • Tree creation and traversal

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

  18. Chapters 10 and 11 • Interfaces and inheritance • Implementation of interface • Interfaces in GUI construction • Access restriction

  19. Chapter 12 • Exceptions • Try-catch-finally

  20. 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()

  21. Chapter 18 • Trees • Creation • Searching • Traversing

  22. Chapter 19 • File objects • Opening and closing files • Reading and writing into files

  23. Final Exam: Friday 12/16: 1-3pm. LAMBF101

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

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

  26. Final Exam: Part B • Recursion: Yes • Threads: Yes • GUI: No (no listeners) • Binary numbers: No • Synchronization (wait and notify): No

  27. Thank you! For this most enjoyable class!Best wishes for success in the rest of your career at Purdue and beyond!

More Related