# Syllabus

**Credit Hours**: 4.0

**Lecture**: MWF 2:00 to 2:50 in RC 378

**Lab**: M 3:00 to 4:50 in RC 378

**Instructors**:

- Rob Grondahl, CLB 244, 469-8500 x2802, email: ude.cccj|lhadnorgr#ude.cccj|lhadnorgr.
- J. Douglas Patterson, CLB 302, 469-8500 x4268, e-mail: ude.cccj|rettapd#ude.cccj|rettapd.

**Office Hours**:

- Grondahl: MWF 1:00-1:50pm, TR 11:00-11:50a; By Appointment:https://calendly.com/rgrondahl/student-meeting
- Patterson: MW 0800-0900, MWF 1300-1400

**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.

**Prerequisites**:

MATH 171 (College Algebra) or MATH 173 (Precalculus) with a grade of ‘C’ or higher or an appropriate score on the math assessment test. GAME 121 (Game Programming I) or equivalent programming experience.

**Text**: You're looking at it! This wiki will be the location for all of the textbook and laboratory material.

**Supplies**: Calculator with trigonometric functions, your brain.

**Objectives**

- Locate, describe and transform objects in two and three dimensions.
- Model linear motion kinematics and dynamics.
- Detect and resolve collisions between objects.
- Model rotational motion kinematics and dynamics.
- Construct code to carry out the basic functions of a physics engine.

**Content Outline and Competencies:**

I. Vector Algebra and Transformations

- A. Use trigonometry to determine the components and direction angles of a vector.

- B. Compare the concepts of scalar and vector.

- C. Compute vector arithmetic graphically and numerically.

- D. Compute the angle between two vectors.

- E. Normalize vectors.

- F. Compute the normal vector to a surface.

- G. Construct code that will perform vector arithmetic and normalization.

- H. Convert between polar and rectangular coordinates.

- I. Convert units of measurement.

- J. Compute matrix arithmetic graphically and numerically.

- K. Describe scaling using matrices and homogeneous coordinates.

- L. Construct code that will perform scaling on vectors and geometric objects using matrices.

II. Linear Motion

- A. Compute distance, displacement, velocity, speed and acceleration for one-dimensional motion.

- B. Use vectors to describe displacements, velocities and accelerations in two and three dimensions.

- C. Use Newton's Laws to determine the effect of forces on the motion of an object.

- D. Derive and solve the equations of motion of an object.

- E. Calculate the work done by a force on an object.

- F. Calculate the kinetic energy, potential energy, and momentum of an object.

- G. Compute the force vector acting on an object resulting from a scalar potential energy field.

- H. Describe the Forward Euler and Velocity Verlet integration methods.

- I. Compare the advantages and disadvantages of the Forward Euler and Velocity Verlet integration methods.

- J. Construct code that can simulate the motion of an object according to Newton’s Laws of Motion.

- K. Describe translations using matrices and homogeneous coordinates.

- L. Construct code that will perform translation on vectors and geometric objects using matrices.

III. Collision Detection and Resolution

- A. Determine the distance between an object and a line or plane.

- B. Construct code that will compute the distance between an object and a line or plane.

- C. Determine if two circles or two spheres are intersecting.

- D. Calculate the point of intersection of two line segments.

- E. Determine if two axially-aligned bounding boxes are intersecting.

- F. Construct code that will detect collisions between circles, spheres, axially aligned bounding boxes and line segments.

- G. Use conservation of energy and conservation of momentum to model the collision of objects.

- H. Construct code that can simulate the collision between two objects.

IV. Rotational Motion

- A. Describe rotations using matrices and homogeneous coordinates.

- B. Construct code that will rotate an object using matrices.

- C. Compute angular displacement, angular velocity and angular acceleration.

- D. Determine the angular motion caused by a torque on an object.

- E. Calculate the rotational kinetic energy and angular momentum of a rotating object.

- F. Construct code that can model the two-dimensional motion of a rigid body incorporating the concepts of the conservation of energy and momentum and Newton’s Laws of Motion.

- G. Compute quaternion arithmetic numerically.

- H. Construct code that will rotate an object using quaternions.

**Course Requirements**:

*Lectures*:

The lecture will consist of traditional instructive lectures, class discussions, video material, and laboratory demonstrations. Not all material in the lecture will appear in the text and not all material in the text will be discussed in the lecture. Students are responsible for material covered in lecture as well as in the text.

*Homework*:

Homework will be assigned and collected on a regular basis. Doing the homework problems is just as essential to success in this course as a daily practice is in sports. No late homework will be accepted.

*Labs*:

There will be weekly laboratory assignments. A technical design document including a flowchart and class diagram is due at the beginning of the lab period. This will help you plan for the lab. Working code is to be demonstrated before the end of the lab period. A type-written post-mortem report will be due at the beginning of the next lab session. No late work will be accepted. There will be no make-up labs during the semester except if the lab was missed because of an excused absence as described in the Student Handbook.

*Tests*:

There will be unit tests and a final exam. Unit tests will cover material from lecture, homework, lab, and the text. The final exam will be comprehensive.

*Grading Standards*:

Grades will be based upon the following:

Assignment | Points Possible |
---|---|

Homework | 16% |

Lab Reports | 24% |

Unit Tests | 40% |

Final Exam | 20% |

Total | 100 % |

Letter grades will be assigned as follows:

- 90 - 100% = A
- 80 - 89% = B
- 70 - 79% = C
- 60 - 69% = D
- below 60% = F

**CAVEATS**:

The majority of mathematics and physics courses are sequential. Students must earn a grade of C or higher in a prerequisite course to progress to its subsequent course.

In accordance with the assertion made on your billing statement, during the first two weeks of the semester, if a student is found not to have successfully fulfilled the prerequisite(s) for this course, the student will be dropped from the course. He/she will be allowed to enroll in the appropriate lower-level course on a space-available basis with an even exchange of tuition. After the first two weeks, students who have not met the prerequisite(s) will be dropped from the course with no refund of tuition.

*Computer Literacy Expectations*:

Students will need basic word processing and Internet searching skills for the completion of some papers, exercises, and projects.

*Academic Dishonesty Policy Statement*:

Academic dishonesty will not be tolerated and will be subject to the appropriate penalties. Please make every effort to avoid the appearance of dishonesty in all course activities. All cases of academic dishonesty will be brought to the attention of the Program Director for the Division.

*Disability Statement*:

JCCC provides a range of services to allow persons with disabilities to participate in educational programs and activities. If you are a student with a disability and if you are in need of accommodations or services, it is your responsibility to contact Access Services and make a formal request. To schedule an appointment with an Access Advisor or for additional information, you can contact Access Services at (913) 469-3521 or ude.cccj|secivresssecca#ude.cccj|secivresssecca. Access Services office is located in the Success Center on the second floor of the Student Center. Read the JCCC Accessibility Statement.

*Counseling Resources*

For academic, career, and personal counseling, visit the JCCC Counseling Center on the second floor of the Student Center.

*Math and Science Resource Centers*

There are resource centers for both math and science help with free tutoring available on demand. The Math Resource Center and the Science Resource Center are located on the first floor of the Billington Library. These resource centers are not free, you've ALREADY PAID FOR THEM! Be sure to get your money's worth!

*Tentative Course Schedule*

The tentative schedule of lecture topics, lab assignments, and exam dates can be found on the schedule page.

*Building Emergency Plan*

Regnier Center Emergency Response Plans

*Student Code of Conduct*

Students are bound by all sections of the JCCC Student Code of Conduct as well as the Student Handbook.

*Drop Deadlines*

View the drop deadlines for this course.

After the 100% refund date, you will be financially responsible for the tuition charges: for details, search on Student Financial Responsibility on the JCCC web page. Changing your schedule may reduce eligibility for financial aid and other third-party funding. Courses not dropped will be graded. For questions about dropping courses, contact the Student Success Center at 913-469-3803.

*Campus Health and Safety Measures*

Follow all College Wellness and Safety guidelines.

*Campus Safety*

Information regarding student safety can be found at http://www.jccc.edu/studentsafety.

Classroom and campus safety are of paramount importance at Johnson County Community College and are the shared responsibility of the entire campus population. Please review the following:

- Report Emergencies: to Campus Police (available 24 hours a day)
- In person at the Midwest Trust Center (MTC 115)
- Call 913-469-2500 (direct line) – Tip: program in your cell phone
- Phone app – download the JCCC Guardian free campus safety app (http://www.jccc.edu/guardian)
- Instant panic button and texting capability to Campus Police
- Edit your account to specify language (English/Spanish) for alerts

- Anonymous reports to KOPS-Watch – “If you see something…say something”
- KOPS-Watch Reporting Site (http://www.jccc.edu/kops-watch)
- or 888-258-3230

- Be Alert:
- Be an extra set of eyes and ears to help maintain campus safety
- Trust your instincts
- Report suspicious or unusual behavior/circumstances to Campus Police (see above)

- Be Prepared:
- Identify the red/white stripe Building Emergency Response floorplan posters (https://www.jccc.edu/about/campus/maps/buildings) throughout campus and online that show egress routes, shelter, and equipment
- View ALICE training (critical incident response training – Alert, Lockdown, Inform, Counter and/or Evacuate) – Student training video (http://www.jccc.edu/alice).
- Familiarize yourself with the College Emergency Response Plan (http://www.jccc.edu/emergencyresponse).

- During an Emergency: Notifications/Alerts (emergencies and inclement weather) are sent to all employees and students using email and text messaging
- students are automatically enrolled, see JCCC Alert – Emergency Notification (http://www.jccc.edu/alert).
- My JCCC/Links/JCCC Alert (RAVE) and keep your information current.
- Edit your profile to receive alerts in English/Spanish

- students are automatically enrolled, see JCCC Alert – Emergency Notification (http://www.jccc.edu/alert).