Object-Oriented Scripting – Competencies

Course Description:

Students combine experience design concepts with advanced programming solutions. Emphasis placed on learning object-oriented approaches to developing dynamic/reusable rich media modules combined with data applications.


Course Focus:

Exploration of OOP principles in web-based programming, with JavaScript used to implement practical, web-based applications. Objects, classes, prototypes, inheritance, encapsulation, and the “Gang of Four” design patterns will be considered.

Students will build a OOP game using JavaScript ES6 modules, also implementing various NodeJS-base tools (Grunt, Babel) along with Git archiving and version control. Students will work together on coding problem in the class Slack Channel.

Students can work together to debug, but all code must be completed by the student. In other words, if you help another student, follow the “look, talk, but don’t touch” rule.

The final game requires that the player “kick” animals back into their cages in order to prevent their escape from the zoo.

You are free to customize this basic game with your own assets, animation, or altered gameplay.

Sample code (combined from the student work in this class) may be found on the GitHub site:



Course Competencies:

Upon successful completion of this course, the student should be able to:

Create compelling communication vehicles for advertisement, entertainment and business solutions

  • Implement JavaScript NodeJS development framework

Explain client-server application concepts

  • Identify components of client-server applications
  • Distinguish between client-side and server-side

Research methods for solving technical problems

  • Conceptualize, design and develop simple client-server Flash applications

Implement programmatically controlled animation effects

  • Write standards-compliant script
  • Style with CSS


Course Focus Competencies:

  • Create OOP systems in JavaScript
  • Use ES6 to create object-oriented programs in ECMAScript 2015
  • Apply OOP Design patterns
  • Apply JavaScript Design patterns.
  • Explore how the JavaScript prototyping model enables new and flexible design patterns (e.g. module patterns)
  • Explore how a Model-View-Controller system (MVC) may be created in JavaScript and ActionScript using OOP methods
  • Use the Web Console for debugging code
  • Use unit test debugging tools.