CS409/CS809 Description of Midterm Examination

Fall, 2024

Midterm Exam: October 21, 2024, 11:30 am, CL 127

The midterm examination will be a closed-book 50-minute exam, set out of 50 marks.  Most questions will be of a problem-solving nature; they will ask you to apply concepts from the class to a specific problem. A few questions will relate to concepts or terminology.

The relevant materials are the course lectures up to October 9, 2024 plus related on-line notes.  The online notes have been updated to mark the relevant materials (make sure to discard cached web pages, which may not show the correct sections as relevant). Assignments and some tutorials are also relevant.

ASSIGNMENTS

·         Review the programming techniques needed to accomplish Assignments 1-3

SECTION 1: Introduction to Entertainment Software

·         Rabin, section 1.1

·         Notes 01-1 “Introduction”

SECTION 2: Introduction to Entertainment Software

·         Rabin, section 2.1 and 2.2

·         Notes 02-1 “Game Architecture: The Main Elements” (learn on your own)

·         Notes 02-2 “The Game Loop”

·         Topics 02-2, 02-3, 02-4, 02-5

SECTION 3: Game Programming: Graphics

·         Rabin, section 5.1

·         falling squares and chess game examples

·         Notes 03-1 “OpenGL and GLUT Programming”

·         Notes 03-1b “General Ideas about 3D Programming”

·         Notes 03-2 “Transformations”

·         Notes 03-3 “OpenGL Chess-Drawing Program” (learn on your own)

·         Notes 03-4 “Meshes and Textures”

·         Notes 03-4b “Example Meshes and Textures”

·         Notes 03-5 “Height Maps”

·         Notes 03-6 “Rendering Scenes” (some to learn on your own)

·         Topics 03-1, 03-3, 03-4

SECTION 4: Game Programming: Physics

·         If any Physics formulas are needed, you will be provided with them.

·         Rabin, section 4.1 and 4.3

·         Notes 04-1 “Motion in a 3D World”. Only these sections:

o   Forward Motion for Objects

o   Converting a 3D Velocity into a Speed and Direction

o   Converting a Speed and Angle into a 2D Velocity

o   Positioning the Camera to Follow a Moving Object

o   Turning a First-Person Camera in 2D

o   Turning a First-Person Camera in 3D

·         Notes 04-7 “Real Time Game Physics”. Only this section:

o   Position, Velocity, and Acceleration

·         Topics 04-1, 04-1b, 04-1c, 04-1d

Tutorials:

·         Tutorials reinforce topics taught in lectures; for examinations, you need to understand at the level taught in lectures

·         Relevant tutorials 1, 4, 6, 10, 17

·         Not needed for midterm or final: Tutorials 2, 5, 7, 8

·         Simple Real-time Input/Output– examples in Tutorial 1

·         Transformations and Updates of Graphical Elements – examples in Tutorial 1; explanation under 3.1 Graphics

·         Loading and Displaying Models – Tutorial 4

·         Local Camera Coordinates – Tutorial 6

·         Displaying a Height Map – Tutorial 10

·         Frame-Rate-Independent Updates – Tutorial 17

 

Priority of Materials

 

The heaviest emphasis will be on material that was both covered in lectures (including the in-class “Topic” exercises) and used in assignments. The second emphasis will be on other material covered during lectures. One question will act as a quiz for Assignment 3. Some essential topics (2-1, 3-3, 3-6) need to be learned on your own from the online notes. Generally, the online notes present material in a more comprehensive fashion than the in-class explanations and exercises.