IAT167 Game & Processing Programming Teaching Portfolio

My Roles

Lab instructor and teaching assistant.
Responsible for leading individual/group discussion sections, technical tutorials, living coding and debugging of 25-50 students, grading assignments, preparing and giving 2-hour lab tutorials once per week throughout the semester.

Course Introduction

This course introduces the basics of game mechanics and systems, and Processing‘s programming methods for implementing video games. Students learn how games are structured and designed as well as the translation of the game design document into programmatic code. Students are introduced to the key ideas of event-driven and object oriented programming as well as basic programming practice including systems design, iterative development and evaluation. The course will use the programming language Java/Processing and its IDE to design and develop games of complexity similar to casual, browser-based games

Course Syllabus

Week Date Topic Reading                    Assignments
1 Lec Overview of course.
Game as a context; Simple shape drawing; Colors.
 Lab Intro Java/Processing;
Simple shape drawing
2 Lec Translation, Rotation, Scale; Data types & variables; Methods; Mouse Interaction
   Lab Drawing with translation; Mouse interactions
3 Lec Conditionals; Loops; Array; Randomness   Assignment 1
   Lab Loops & arrays
4 Lec Classes & Objects
Quiz 1
 
   Lab Classes and Objects; Boundary & collision detection
5 Lec ArrayList; Boundary detection; Collision detection b/w a point & an object; String & Text messages  

 

 

 

Assignment 2
   Lab Text messages
6 Lec Inheritance & Polymorphism  
Lab Inheritance & Polymorphism
7 Lec Collision detection b/w objects; Motion & Vector; Keyboard; Controlling an Avatar.
QUIZ 2
   Lab Vector-based motion; Key-based interaction
8 Lec Motion simulation; Game genres & Mechanics; UML& Software design; Fundamentals on game design Assignment 3
   Lab Game loop.
9 Lec Using images for maps and tokens; Debugging tips   Assignment 4 Proposal
Lab Feedback: check-off Assignment 4 proposal
10 Lec Game level design; Platformer and Level
QUIZ 3
  Assignment 4 Milestone 1
     Lab Create game levels with images.
11 Lec Advanced images: image-based animations; Game Narratives   Assignment 4 Milestone 2
    Lab Image-based animations
12 Lec Animated background; Load and play sound; Add sounds to games    
     Lab Sound Effects
13 Lec  

 

Final Review & Recap   Assignment 4 Final
Lab Open Lab
Final  Exam

Learning Outcomes

Upon successful completion of this course, students will be able to:

  • Designprogram and test a complete, simple game program;
  • Utilize an IDE for program development (file organization, coding and debugging);
  • Define the main concepts in Object-Oriented Programming: Encapsulation, Inheritance, Polymorphism; identify these concepts in code; and explain the benefits of their usage; design/write code that makes good use of these concepts;
  • Apply an event-driven programming architecture to create a traditional update/render game loop and handle user input;
  • Discuss the issues involved in collision detection and solve this problem programmatically for simple cases.

Teaching Methods

Technical Tutorials: Each lab has a 45-60 minute programming tutorial at the beginning, which is closely related to the lecture’s concepts. The students will follow the tutorials through live coding and ask questions.

Lab Challenges: After some programming tutorials, there will be a challenge that must be completed before the beginning of the next lab. These challenges will be simple and are designed to test the students’ knowledge learned in the previous lecture and current lab.

Assignments & Projects: The assignments are all project-based, where the students need to code different simulation environments. The outcomes are open-ended, but the technical requirements are derived from the course concepts.

Quizzes & Exams: Three in-class 30 mins quizzes and the final exam test students’ knowledge of the lecture material, readings, and programming capabilities.

Student Sample Projects

 

 

 

 

 

 

Back to Teaching.