MSTU5003 Syllabus Download

Theory and Programming of Interactive Media I is the introductory course of a two course sequence (Theory and Programming of Interactive Media II). This course satisfies part or all of the programming requirements for several tracks within CCTE. The content is divided into two core learning components:

  1. Fundamentals of computational thinking and programming
  2. Multimedia and interactive learning theories

By the end of this course, students will be able to design and develop basic multimedia and interactive web-based applications backed by a rationale rooted in learning theories.

No prior knowledge of computer programming is necessary although it is highly advisable for students to be competent with the basics of computer systems (e.g. navigating file structures, working with different operating systems, etc.)

The primary language that we will use for the programming aspect of the course is JavaScript with jQuery as our library of focus. Note that this class is NOT a Flash programming language class as formerly known.

With regard to multimedia and interaction, we will use the following as a lens to dissect design:

  1. Cognitive Theory
  2. Multimedia Theory and Principles

With regard to programming, this course is concerned with three areas of software development:

  1. Understanding and utilizing concepts of computational thinking and programming theory
  2. Using learning theories and principles to guide design of software projects
  3. Writing code

Attendance is mandatory. Aside from officially sanctioned and documented reasons for absence, failure to attend will have a negative impact on participation. Please notify the me beforehand if you know you cannot attend class. Students are responsible for acquiring all missed materials and lecture notes. Accommodations through various technology such as video conferencing will be permitted but is not an alternative to attending live and will count as a missed class. All such accommodations will be the sole responsibility of the student and conducted between him/herself and his/her fellow peers.

This is an intensive course covering the intersection of two distinct disciplines. A minimum of 10 hours of preparation should be expected.

Readings and Exercises

Students are expected to complete all readings and exercises before the start of class. Discussions will involve content beyond the scope of the reading assignments and online tutorials. Failure to prepare for class will result in a loss of participation points.

Challenge Problems

Challenge problems will be assigned throughout the semester. There are three purposes to these assignments: 1) challenge students to apply learned theories to solving design problems, 2) expose students to a variety of computational problems that can be solved using the programming principles learned, 3) provide an assessment of students' competency with said material.

Pop Quizzes

Periodically, pop quizzes will be presented to students to test their understanding of programming. This includes but is not limited to: 1) conceptual understanding computational logic, 2) pattern recognition of common solutions and errors, 3) memorization of syntax.


There are two major assessments throughout the semester. These are the midterm assessment and the final project. Both will involve designing and developing a web-application utilizing the learning theories and programming concepts learned up to that point. There will be a concise written component to these assessments as well. The detailed specifications of the midterm and final project will be announced before they are assigned.

All assignments are to be submitted on time. If you foresee a conflict, it is your responsibility to discuss the matter with the instructor beforehand. Only under rare circumstances will late assignments be accepted and penalties may be incurred. This will be determined at the discretion of the instructor on a case-by-case basis.

Breakdown of the final grade calculation is as follows:

Category Percentage
Participation 10%
Challenge Problems 30%
Pop Quizzes 10%
Midterm Assessment 20%
Final Project 30%
Performance / Improvement Bonus Extra TBD

Practice makes perfect. Optional assignments may be granted to students who show significant effort and improvement in the performance of their programming and design over the course of the semester. These assignments are not and should not be perceived as "redoes" or "resubmits" for poor performance on assessments. They will be granted on a case-by-case basis.

Specifically all writing assignments (i.e. your portfolio) must follow APA style for citations, including any code examples, technical diagrams, etc. If it is determined that you have plagiarized any portion of a writing assignment, including and especially your portfolio, you will receive an F for the assignment, and other possible charges may result as outlined above.

No portion of your homework should be copied from another student, book, or electronic resource. You are expected, though, to consult with your peers, reference materials, and instructors while working on your coding assignments. Programming is seldom a solo activity and it is often best done in the company of others. If you choose to use existing, third party code in your assignment, it should be including according to the licensing guidelines if it is open source, and should be noted in a comment if it is in the public domain. If it is determined that you copied code directly into your program and represent it as your own creation, you will receive an F for the assignment.