Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 180 Problem Solving and Object Oriented Programming Fall 2011 Notes for the Final Lecture Dec 7, 2011 Aditya Mathur Department of Computer Science Purdue.

Similar presentations


Presentation on theme: "CS 180 Problem Solving and Object Oriented Programming Fall 2011 Notes for the Final Lecture Dec 7, 2011 Aditya Mathur Department of Computer Science Purdue."— Presentation transcript:

1 CS 180 Problem Solving and Object Oriented Programming Fall 2011 Notes for the Final Lecture Dec 7, 2011 Aditya Mathur Department of Computer Science Purdue University West Lafayette, IN, USA http://www.cs.purdue.edu/homes/apm/courses/CS180Fall2011/ This class: 12/7 1.Centipede game 2.Review 3.Final Exam 4.Best wishes

2 Programming and the “Nupe”d! Moments Oh! Moments Wow! Moments

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

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

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

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

7 Centipede Game: Advanced version Deep Space Remix By Denis 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!


Download ppt "CS 180 Problem Solving and Object Oriented Programming Fall 2011 Notes for the Final Lecture Dec 7, 2011 Aditya Mathur Department of Computer Science Purdue."

Similar presentations


Ads by Google