Course Syllabus
MMART 168 ONLINE GAMES & INTERACTIVITY
Instructor
Joshua Dickinson <joshuadaviddickinson@gmail.com>
Meeting
Welcome to Online Games & Interactivity. This is an online course so meetings will be on an "as needed" basis, along with in-class labs held for those of you taking the course through Berkeley High School. Please feel free to reach out via email at any time for help or questions. If we meet online it will usually be at this link for video office hours using Zoom (similar to Skype):
You are not required to attend anything in person. All lecture videos and assignments are available here in canvas.
Contact
Please feel free to email me at any time throughout the semester (24/7). I will try to answer as quickly as possible. You can also ask questions on the classroom Discord server. I will be available there most days. Discord is a popular closed forum chat environment. Many companies use this or Slack for managing their teams so it's a good thing to get used to:
Overview
Students taking this course will receive a broad introduction to programming and designing interactive web applications through Javascript. You will be guided through the creation of simple games and web applications to develop these skills.
We will be using P5.js or "Processing" as the programming language this semester. It is a wonderful framework being used by programmers all over the world. It is inherently visual so I believe it is the best way to learn code and a great way to expand your portfolio if you already have some familiarity with code.
Topics will include basic programming concepts such as variables, arrays, loops, and OOP. We will also cover high-level issues such as UX/UI, interaction, motion, animation, generative art, image processing, and physical simulation.
The goal of the Final Project will be to create a complete project that would be suitable to add to a personal website or portfolio, demonstrating knowledge of interactive web applications.
This course will NOT be covering the foundations of Html or CSS. If you are unfamiliar with that content material, it is recommended you take MMART 167: Mobile + Cross Platform Design OR MMART 164/165.
Note that students of ALL levels of technical skill are welcome in this class. You do not need to have a background in programming. Advanced students can elect to work on more complex projects instead of the assignments as long as they check with me before hand. Please send me an email if you feel that you are falling behind or are bored with the assignments. I'm happy to make accommodations in both cases.
The way you will turn in your homework is through Canvas where you should provide a link to your P5.js sketch or written answers. We will go over this process as a group in the first weeks.
Learning Objectives
PROGRAMMING FUNDAMENTALS
JAVASCRIPT
ANIMATION
INTERACTIVITY
GAMES
GRAPHICS
P5.JS
PROCESSING
GENERATIVE ART
Course Description
Principles of interactive design and virtual environments: User experience, game design, dynamic graphics, and integration of interactive content for online environments.
Lecture & Lab Topics
I. Introduction to This Course and P5.js
How to sign up
How to submit homework
Hello World
Coding Train
Resources for Learning More
II. Important Javascript and Programming Concepts
Primitives
Variables
Logical Operators
Loops
Arguments
Functions
III. Object Oriented Programming
Arrays
Objects
IV. Drawing and Image Processing
Shapes
Brushes
Painting
Uploading Images
Pixel Manipulation
V. Movement and Interactivity
Animation
Mouse/Keyboard interaction
State
VI. Game Dynamics
Timers
Gravity and Physics
Hit detection
Basic AI
State saving
VII. Game Examples
Pong
Platformers
Space Invaders
VIII. Advanced Topics
3D Coordinates and Drawing
Audio Visualization
Generative Art
Artificial Life
Play Canvas and Other Engines
IX. Final Project
Methodology
This course will provide text, links, example code, online resources, and tutorials to enhance student’s skills. Smaller projects within the course will grow to larger more substantial manifestations for course work.
Evaluation Criteria
Grades will be calculated based on a point scale in regard to acumen of Projects, Comprehension with Readings, Homework/Lab Sessions, and Participation.
Homework/Projects/Participation = 80%
Final Project = 20%
Required Text, Reading, and Material
All required reading and material will be provided via Canvas. This is an OER course so there are no required books for purchase
Means of Communication
Berkeley City College faculty and staff will employ the student’s assigned Berkeley City College email account as a primary method of communication. Students are responsible to check their email account regularly. All assignments will be posted in Canvas as well as the Discord server.
Academic Dishonesty
Cheating & Plagiarism: Berkeley City College demands intellectual honesty. Proven plagiarism or any form of dishonesty associated with the academic process can result in the offender failing the course in which the offense was committed or expulsion from school. See the Berkeley Student Code of Conduct.
ADA Accommodations Policy
It is the policy of Berkeley City College to provide appropriate accommodations to any student with a documented disability. If you have a need for accomodation in this course, please make an appointment with our Accommodative Services at 510-981-2929. The email for Maricela Becerra is mbecerra@peralta.edu and Lynn Massey is cmassey@peralta.edu.
Veterans
There are additional resources for Veterans on campus. If possible, please inform me in advance of any information that may be helpful pertaining to class time, class activities, etc. Jennifer Lenahan is a representative here on campus and her email is bccvets@gmail.com.
LGBTQ
There are additional LGBTQ resources available on campus. Please contact the student representative at rrerin@gmail.com. There is also a single bathroom on the first floor (past financial aid) that is now for transgender use, but available for all.
Course Summary:
| Date | Details | Due |
|---|---|---|