COSC 3550 Exam 2 study guide

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