JCCC PHYS/MATH191 Math and Physics for Games I
International Game Developers Association
Full name:
| Games Education |
|---|
| |
| Course |
Contents |
Teachers
Instructors
Guest speakers
- Name of guest here
Course Background Information
Location
Johnson County Community College http://www.jccc.edu/
Classification
See: Areas for classifing for your course.
Primary classification: Game Programming
Secondary classification:
- Newtonian physics
- Computational mechanics
- Linear algebra
Student background needed
Students must have successfully completed a college algebra course and a first course in C++ programming. We anticipate students to have had a couple of courses in both game design and game programming before taking this course, but its not a requirement.
Course prerequisites
MATH 171 (College Algebra) or MATH 173 (Precalculus) with grade of ‘C’ or higher or appropriate score on the math assessment test. CS 200 (Programming Algorithms Using C++) or equivalent programming experience.
Time periods
This is a traditional 16-week course that meets twice a week. There are three lecture hours, two on the Tuesday session and one on the Thursday session, and two lab hours during the Thursday session making for five contact hours per week. It is expected that students will work on assignments outside of class in addition to the lab time.
Course Structure
Course description
This introductory course focuses on the mathematics and physics concepts needed to program a variety of video game scenarios. Students will learn to use vectors and matrix transformations to model the motion of physical objects in two and three dimensions. Students will also learn various computer programming methods in order to model these mathematical and physical concepts.
Course learning objectives
Upon successful completion of this course, the student should be able to:
- Use coordinates and vectors to describe objects and space in two and three dimensions.
- Use matrices to transform between coordinate systems.
- Model particle and rigid body kinetics.
- Use the principles of physics to model the motion and collision of objects.
- Create programs which simulate the motion and collision of objects.
Week by week topics
Unit One
Geometry and Trigonometry
Collision Detection
Vector Properties and Basic Operations
Kinemetics and Projectile Motion
Unit Two
Newton's Laws of Motion
Gravitation and Orbital Motion
Vector Dot Products
Matrix Properties and Basic Operations
Unit Three
Scaling and Transformation Matrices
Work, Energy, and Power
Impulse and Momentum
Collisions
Unit Four
Rotation Matrices
Cross Products
Rotational Kinematics
Torque and Rotational Dynamics
Course Materials & Facilities Used
Here you can link to and/or describe books and other materials you used for this course. Feel free to create new pages for each item here if a page for it does not yet exist.
Books Stahler, “Beginning Math and Physics for Game Programmers”, 2004, New Riders Publishing
We're considering other texts for adoption. If you have any experience with other texts, please send me at email at dpatter@jccc.edu.
Other materials
Papers, magazines, videos (add links to online materials)
Software (engines, tools) Microsoft Visual Studio (C++)
This could me a mix of external links to software on other servers and links to other wiki pages outlining those tools, which could be useful.
Syllabus
http://staff.jccc.edu/dpatter/phys191/mpgsyllabus.pdf
Slides
(link to each file's storage location)
Assessment materials
e.g. tests, quizzes, assignment requirements, project requirements
Digital media used in class
e.g. Video, Multimedia sources, Audio
(link to each file's storage location)
Case studies
(link to each file's storage location) or each respective wiki page
Tutorial files
(link to each file's storage location)
Other materials
(link to an uploaded resources -- e.g. research papers -- or external storage location)
Analysis of learning methods
What worked
Team teaching this course with one math professor and one physics professor worked very well. Both Steve and I certainly have knowledge of each other's field on the level that its being taught in this course, but knowing a thing well and teaching a thing well are very different. Integrating the math and physics topics as we did rather than having the math first and then the physics was another successful feature of the course. The basic flow of the course was to learn some mathematics, learn where those mathematics are used in physics, and finally learn how to apply those mathematical and physical concepts in a computational simulation.
What didn't work
This last semester was our first time through with the course. Although things went relatively well, we did encounter some issues we didn't anticipate. We spent more time reteaching some algebraic topics than we expected, and we didn't realize that classes and structures were not part of the CS 200 course. We're also not entirely convinced that students were spending enough time outside of the classroom working on their programming projects. We're not sure just how to encourage that for future semesters.
If you have comments or suggestions, please email me at dpatter@jccc.edu.
