0% found this document useful (0 votes)
8 views

CPP Module II Lesson Plan

Game Institute Module II Lesson Plan

Uploaded by

kalecgos702
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

CPP Module II Lesson Plan

Game Institute Module II Lesson Plan

Uploaded by

kalecgos702
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

C++ Programming for Game Developers

Module II

(10 Week Lesson Plan)

1
Lesson 1: Templates

Textbook: Chapter Ten

Goals:

• Learn how to design and implement generic classes


• Learn how to define generic functions

Key Topics:

• Class Templates
o Class Template Definition
o Class Template Implementation
o Class Template Instantiation
• A Table Template Class
o Table Data
o Class Interface
o destroy
o resize
o The Overloaded Parenthesis Operator
o The Table Class
• Function Templates

Projects:

Exercise 1.1: Template Array Class


Exercise 1.2: Template Bubble Sort Function
Exercise 1.3: Table Driver

Exams/Quizzes: NONE

Recommended Study Time (hours): 6 - 8

2
Lesson 2: Exception Handling

Textbook: Chapter Eleven

Goals:

• Understand the method of catching errors via function return codes, and an
understanding of the shortcomings of this method.
• Become familiar with the concepts of exception handling, its syntax, and its benefits.
• Learn how to write assumption verification code using asserts.

Key Topics:

• Error Codes
• Exception Handling Basics
• Assert

Projects:

Exercise 2.1: Exception Handling

Exams/Quizzes: 10 Question (multiple choice) quiz. Covers topics from Chapter 10 & 11; 5%
of final grade.

Recommended Study Time (hours): 6 - 8

3
Lesson 3: Number Systems

Textbook: Chapter Twelve

Goals:

• Learn how to represent numbers with the binary and hexadecimal numbering systems,
how to perform basic arithmetic in these numbering systems, and how to convert
between these numbering systems as well as the base ten numbering system.
• Gain an understanding of how the computer describes intrinsic C++ types internally.
• Become proficient with the various binary operations.
• Become familiar with the way in which floating-point numbers are represented
internally.

Key Topics:

• Number Systems
o The Binary Number System
ƒ Counting in Binary
ƒ Binary and Powers of 2
ƒ Binary Arithmetic
ƒ Converting Binary to Decimal
ƒ Converting Decimal to Binary
o The Hexadecimal Number System
ƒ Counting in Hexadecimal
ƒ Hexadecimal Arithmetic
ƒ Converting Hexadecimal to Binary
ƒ Converting Binary to Hexadecimal
• Bits and Memory
• Bit Operations
o AND
o Inclusive OR
o NOT
o Exclusive OR
o Shifting
o Compound Bit Operators
• Floating-Point Number Analysis

Projects:

Exercise 3.1: Binary Arithmetic


Exercise 3.2: Hex Arithmetic
Exercise 3.3: Base Conversions
Exercise 3.4: Bit Operations

4
Exercise 3.5: Binary to Decimal
Exercise 3.6: Decimal to Binary
Exercise 3.7: Bit Operation Calculator

Exams/Quizzes: NONE

Recommended Study Time (hours): 7 – 9

5
Lesson 4: The Standard Template Library

Textbook: Chapter Thirteen

Goals:

• Discover how lists, stacks, queues, deques, and maps work internally, and in which
situations they should be used.
• Become familiar with a handful of the generic algorithms the standard library provides
and how to apply these algorithms on a variety of data structures.
• Learn how to create objects that act like functions, called functors, and learn how to
create and use predicates with the standard library.

Key Topics:

• Linked Lists
• Stacks
• Queues
• Deques
• Maps
• Algorithms
• Functors
• Predicates

Projects:

Exercise 4.1: Linked List


Exercise 4.2: Stack
Exercise 4.3: Queue
Exercise 4.4: Algorithms

Exams/Quizzes: 10 Question (multiple choice) quiz. Covers topics from Chapter 12 & 13;
5% of final grade.

Recommended Study Time (hours): 7 – 9

6
Lesson 5: Win32 Programming I: Basic Windows Programming

Textbook: Chapter Fourteen

Goals:

• Learn how to create a basic Win32 application.


• Gain an understanding of the event driven programming model.

Key Topics:

• The Event Driven Programming Model


o Win32 Programming Theory
o The MSG Structure
• Overview of Creating a Windows Application
o Defining the Window Procedure
o The WNDCLASS Structure
o WNDCLASS Registration
o CreateWindow
o Showing and Updating the Window
o The Message Loop

Projects:

Exercise 5.1: Exit Messages


Exercise 5.2: Horizontal and Vertical Scroll Bars
Exercise 5.3: Multiple Windows
Exercise 5.4: Changing the Cursor
Exercise 5.5: Changing the Background
Exercise 5.6: Custom Icons

Exams/Quizzes: NONE

Recommended Study Time (hours): 10 – 12

7
Mid-Term Examination

The midterm examination in this course will consist of 25 multiple-choice and true/false questions
pulled from the first four textbook chapters. Students are encouraged to use the lecture presentation
slides as a means for reviewing the key material prior to the examination. The exam should take no more
than 60 minutes to complete. It is worth 25% of student final grade.

8
Lesson 6: Win32 Programming II: GDI and Menus

Textbook: Chapter Fifteen

Goals:

• Learn how to output text onto a window, and how to draw several GDI shape primitives
like lines, rectangles and ellipses
• Understand how different pens and brushes can be used to change the way GDI shapes
are colored and drawn
• Learn how to load bitmap (.bmp) images from file into our Windows programs, and how
to draw them on the client area of our windows
• Become familiar with the Visual C++ menu resource editor, and learn how to create
menus

Key Topics:

• Text Output
o The WM_PAINT Message
o The Device Context
o TextOut
o Example Program
• Shape Primitives
o Drawing Lines
o Drawing Rectangles
o Drawing Ellipses
• Bitmaps
o Loading
o Rendering
o Deleting
• Pens and Brushes
• Menus
o Creating a Menu Resource
o Loading a Menu and Attaching it to a Window
o Checking Menu Items
o Selecting Menu Items

Projects:

Exercise 6.1: Changing Colors


Exercise 6.2: Changing Styles
Exercise 6.3: Cube Rendering
Exercise 6.4: Adding an Undo Feature

9
Exams/Quizzes: 10 Question (multiple choice) quiz. Covers topics from Chapter 14 & 15; 5%
of final grade.

Recommended Study Time (hours): 8 - 10

10
Lesson 7: Win32 Programming III: Dialogs and Controls

Textbook: Chapter Sixteen

Goals:

• Learn how to create modal and modeless dialog boxes, and how to distinguish between
the two.
• Discover how to create and design dialog boxes with the Visual C++ resource editor.
• Become familiar with several Win32 controls such as static text controls, picture box
controls, edit box controls, radio button controls, button controls, and combo box
controls.

Key Topics:

• Modal Dialog Boxes


o Static Text Controls
o Button Controls
o Dialog Box Design
• Modeless Dialog Boxes
o Edit Controls
• Radio Buttons
• Combo Boxes

Projects:

Exercise 7.1: List Boxes


Exercise 7.2: Checkbox Controls
Exercise 7.3: File Save and Open Dialogs
Exercise 7.4: The Color Dialog

Exams/Quizzes: NONE

Recommended Study Time (hours): 10 – 12

11
Lesson 8: Sprite Animation

Textbook: Chapter Seventeen

Goals:

• Learn how to use the Windows multimedia timer functions for smooth animation.
• Discover how to do basic 2D computer animation
• Understand the technique of double buffering to avoid flicker
• Learn how to draw complex non-rectangular 2D image bitmaps using the GDI raster
operations.

Key Topics:

• Timing
o Windows Multimedia Timer Functions
o Computing Elapsed Time
o Computing Frames Per Second
• Double Buffering
• Sprites
o Theory
o Implementation
o Art Resources

Projects:

Exercise 8.1: Colors


Exercise 8.2: Drawing Order
Exercise 8.3: Masking
Exercise 8.4: Make Your Own Sprite
Exercise 8.5: Bouncing Ball
Exercise 8.6: Pong

Exams/Quizzes: NONE

Recommended Study Time (hours): 8 - 10

12
Lesson 9: Final Game

Textbook: Chapter Eighteen

Goals:

• Become familiar with the three-stage software development process of analysis, design,
and implementation.
• Practice the three-stage software development process by analyzing an Air Hockey
game, designing an Air Hockey game, and implementing an Air Hockey game.

Key Topics:

• Analysis
• Object Identification
• Game Behavior/Problem Solving
• Design
• Algorithms
o Mouse Velocity
o Paddle Artificial Intelligence
o Puck-Paddle Collision
o Puck-Wall Collision
o Paddle-Wall Collision
o Pausing/Un-pausing
o Keeping Score
• Software Design
• Implementation
• Main Application Code

Projects:

Exercise 9.1: Air Hockey

Exams/Quizzes: 10 Question (multiple choice) quiz. Covers topics from Chapter 16, 17 & 18;
5% of final grade.

Recommended Study Time (hours): 10 – 12

13
Lesson 10: Exam Preparation and Course Review

Textbook: NONE

Goals:

In this final lesson we will leave the student free to prepare for and take their final
examination. Multiple office hours will be held for student questions and answers.

Key Topics:

Projects: NONE

Exams/Quizzes: NONE

Recommended Study Time (hours): 12 - 15

14
Final Examination

The final examination in this course will consist of 50 multiple-choice and true/false questions
pulled from all of the textbook chapters. Students are encouraged to use the lecture
presentation slides as a means for reviewing the key material prior to the examination. The
exam should take no more than two hours to complete. It is worth 55% of student final grade.

15

You might also like