The second exam this semester will be a take-at-home exam because that's about the only thing you can do under a stay-at-home order :-) This note contains a general description of the exam, the technical details needed to make the exam work on your computer, and a list of topics.
OVERVIEW
This is an online exam in that the questions involve running JavaFX programs as part of the questions. If you want a rough idea of what such an exam is like, here are a few questions off an exam from several years ago. See TECHNICAL below for details on how to get the questions to run.
I'll be posting the exam at 7PM Thurs, Apr 2 and the answers will be due in the Exam 2 dropbox on D2L by 7PM Fri, Apr 3. Students are usually given 1 hour to work on the exam. You are welcome to take longer if you wish, but I wouldn't suggest spending more than 2 hours on it. You surely have better things to do with your time (even under these strange circumstances).
You should do your own work. You can write your answers on separate paper and then scan/photograph that to submit, or if you choose to type your answer, so can just submit that file.
You are allowed to look at any class notes you may have, anything on the class website/D2L site, the Java and JavaFX APIs.
Please do not discuss the exam with anyone else from 7PM Thurs until 7PM Fri. That includes not posting questions on computing websites, etc.
TECHNICAL
YOU WILL NEED TO KNOW HOW TO RUN JAVAFX PROGRAMS WITH JNLP/WEB START in current browsers. You can find a description of the process in
this note.
YOU CAN TEST your settings by loading this practice page and clicking the link to run SpinDemo. And also by loading the
sample questions mentioned above.
TOPICS
Questions might involve anything that we've discussed in class this semester,
especially topics since the first exam. Here is a list of some
of those topics.
Probabilistic state machines Scrolling Maze generation Cell-based worlds Side-scroller Parallax scrolling Animated scenery Moving/Jumping with gravity Sound-effects: AudioClip Sprite-based game design/implementation Intro screens Keeping score Game over screen General concepts: Reading game source code to find bugs/features. Developing a game idea. Designing the classes for an effective game implementation. Incremental program development. Using Finite State Machines to control individual objects (e.g. animated scenery). Using sound/music to enhance game effects. Code you should be familiar with: AlienLanding BigForest WallMazes: Dfs.java BBeanie iceblox SoundSkeet-Sampled SoundSkeet-Midi