Rebuilding...

Interaction Design with Multimedia Programming: Spring 2010 Syllabus

BMCC MMP 230

Borough of Manhattan Community College
The City University of New York
Multimedia Programming & Design

Course Number: MMP 230
Course Title: Interaction Design with Multimedia Programming
Instructor: Matthew Belanger
Semester: Spring 2010
Lecture Hours per Week: 3
Lab Hours per Week: 2
Credits: 4

A. Description

Students will learn to design interfaces and manipulate text, graphics, images, audio and video in Adobe Flash CS3 using ActionScript 3.0. An emphasis will be placed on planning projects and using programming concepts for the development of websites, games and dynamic multimedia applications.

B. Prerequisites

Prerequisite: MMP 100
Co-requisite: MAT 051
Basic Skills: ENG 088, ESL 062, RDG 062, MAT 010/011

C. Student Learning Objectives

By the end of the course students will be expected to:
• Understand the basic structures of a programming language, including functions, conditional statements, repeat loops and variables
• Demonstrate an understanding of the terminology and concepts of object oriented programming
• Create custom functions and objects, dynamically create movie clips & text fields
• Demonstrate the ability to control animation, sound and video with ActionScript
• Develop an interface for dynamically loaded data, such as XML or PHP, for game design or e-commerce

D. Readings

Required Texts

Title: Learning ActionScript 3.0
Authors: Rich Shupe with Zevan Rosser
Publisher: O’Reilly
ISBN: 9780596527877

Recommended Texts

Title: Essential ActionScript 3.0
Authors: Colin Moock
Publisher: O’Reilly
ISBN: 9780596526948

Additional readings may be assigned by the instructor.

E. Evaluation and Requirements of Students

Class and Homework: 30%
Midterm Project: 25%
Final Project: 35%
In Class Performance and Attendance: 10%

F. Attendance Policy

The College’s attendance policy states: “At BMCC, the maximum number of absences is limited to one more hour than the number of hours a class meets in one week. In the case of excessive absence the instructor has the option to lower the grade or assign an ‘F’ or ‘WU’ grade.”

G. Disability Accommodation Policy

Students with disabilities who require reasonable accommodations or academic adjustments for this course must contact the Office of Services for Students with Disabilities (Room N769; Telephone # 220-8180). BMCC is committed to providing equal access to all programs and curricula to all students.

H. BMCC Policy Statement on Plagiarism

Plagiarism is the presentation of someone else’s ideas, words, or artistic, scientific, or technical work as one’s own creation. Using the idea or work of another is permissible only when the original author is identified. Paraphrasing and summarizing, as well as direct quotations, require citations to the original source. Plagiarism may be intentional or unintentional. Lack of dishonest intent does not necessarily absolve a student of responsibility for plagiarism.

Students who are unsure how and when to provide documentation are advised to consult with their instructors. The library has guides designed to help students to appropriately identify a cited work. The full policy can be found here.

I. Outline of Topics

1. ActionScript Programming
• Architecture of Flash CS3
• Sprites, MovieClips and Buttons
• Variables and Properties
• Conditionals
• Repeat Loops
• Functions and Methods
• Arrays

2. Using ActionScript to Control Interface Elements
• Drawing
• Animation
• Sound
• Video
• Text

3. Object Oriented Programming
• Definition of Objection Oriented Programming
• Manipulating the Built-In Objects of Flash
• Creating Custom Objects
• Inheritance

4. Project Management
• Developing Logic Through Pseudo Code
• Managing Assets

5. Dynamically Loaded Data
• Flash and XML
• Flash and PHP

J. Office Hours

Contact me to schedule an appointment. I am generally available before or after class.

K. Weekly Breakdown

Week 16 | Class 29 | May 20

1. Final Projects Due

Week 15 | Class 28 | May 13

1. Work On Final Projects

Week 15 | Class 27 | May 11

1. Work On Final Projects

Week 14 | Class 26 | May 6

1. Work On Final Projects

Week 14 | Class 25 | May 4

1. Work On Final Projects

Week 13 | Class 24 | April 29

1. Future of Flash
• Read Steve Jobs open letter, “Thoughts on Flash”, and discuss in class

2. HTML 5
<canvas> tag
Processing.js

Week 13 | Class 23 | April 27

1. ActionScript
• Saving XML with PHP
XMLSocket Class

2. Assignment P: Read Chapter 15 of Textbook

Week 12 | Class 22 | April 22

1. ActionScript
• Creating, Deleting & Searching XML

Week 12 | Class 21 | April 20

1. ActionScript
• Loading External Files

2. ActionScript
• Video
  • CuePoints
  • Captions

2. Assignment O: Read Chapter 14 of Textbook

Week 11 | Class 20 | April 15

1. Video
• Working with Pre-Built Flash Video Players

2. ActionScript
• Video
  • FLVPlayback Component
  • Video Class

2. Assignment N: Read Chapter 13 of Textbook

Week 11 | Class 19 | April 13

1. ActionScript
• Sound

2. Assignment M: Read Chapter 12 of Textbook

Week 10 | Class 18 | April 8

1. ActionScript
• Sound

2. Assignment L: Read Chapter 11 of Textbook

Week 10 | Class 17 | April 6

1. Midterm Due

Week 9 | Class 16 | March 25

1. Creating Games in ActionScript
• Create a Space Shooting Game in Class

2. Work on Midterm

Week 9 | Class 15 | March 23

1. Creating Games in ActionScript
• Create a Space Shooting Game in Class

2. Work on Midterm

2. Work on Midterm

Week 8 | Class 14 | March 18

1. Working with Text in ActionScript
• Creating & Controlling Text Fields
   • The TextField Class
   • TextField Properties, background, backgroundColor, textColor, selectable, multiline, wordWrap, autoSize
   • TextField Methods, appendText()
   • Text Input
   • Text Selections
• Formatting Text
   • Embedding Fonts & Custom Anti-Aliasing
   • The TextFormat Class
   • Using HTML & CSS in Flash
   • Supported HTML Tags, Supported CSS
     • Triggering ActionScript from HTML Links

2. Work on Midterm

Week 8 | Class 13 | March 16

1. Assignment J: Due March 16
• Turn in Assignment J

2. Drawing Rasters with ActionScript
• Changing Color, ColorTransform, ColorMatrixFilter Classes
Matrices
• Advanced Filters, The ConvolutionFilter, DisplacementMapFilter Classes
• Image Encoding & Saving with JPGEncoder Class & PHP

3. Work on Midterm

4. Assignment K: Read Chapter 10 of Textbook

Week 7 | Class 12 | March 11

1. Presentation of Flash Content
• Publishing
   • Creating a Projector
   • Embedding in HTML
SWF Object

2. The Early Stages of Flash Development
• Concepting
• Wireframes (Layout & Interaction)
• Design Mockups
• Prototyping

3. Assignment J: Due March 16
• Work on Assignment J in Class

Week 7 | Class 11 | March 9

1. Drawing Vectors with ActionScript
• Review Last Class’s Topics
• Combining Drawing & Motion
• Using Matrixes to Scale DisplayObjects

2. Drawing Rasters with ActionScript
• The Bitmap & BitmapData Class
• Creating Bitmaps
• Using Bitmaps from the Library
• Basic Filters

3. Assignment J: Create Midterm Outline: Due March 16
• If you are creating a game:
   • Describe the gameplay in general
   • Describe how in-game characters will behave
   • Describe how you will make use of custom classes
   • Create pseudocode for your primary character
• If you are creating an animation:
   • Describe the animation in general
   • Create a storyboard
   • Explain the methods and techniques you will use to animate each element
• If you are creating a website or application:
   • Describe the website or application in general
   • Explain how the website or application will make the most of Flash
   • Create a wireframe to help organize your content

Week 6 | Class 10 | March 4

1. Motion with ActionScript
• Review Last Class’s Topics

2. Computer Drawing Principles
Drawing
Computer Graphics
   • Vector Graphics
   • Raster Graphics

3. Drawing Vectors with ActionScript
The Graphics Class
The Geometry Package
The MatrixTransformer Class

4. Discuss Midterm Proposals

5. Assignment I: Read Chapter 9 of Textbook

Week 6 | Class 9 | March 2

1. Motion with ActionScript
• Timeline Animations with ActionScript
  • ActionScript Motion and Animator Classes
  • Motion XML
Particle Systems
  • Snow

2. Assignment H: Due March 4
• Start thinking about the midterm. Write a paragraph proposal of what you’d like to produce. Your proposal should include an explanation of what you’d like to do. Your proposal could be for a small website, game, or animation. Strive to make use of several of the techniques and ActionScript Classes we’ve learned in class and from the readings. We’ll discuss your proposals in Thursday’s class.

Week 5 | Class 8 | February 25

1. Motion with ActionScript
• Basic Movement and Physics
  • Newton’s Laws of Motion
  • 12 Basic Principles of Animation
  • Velocity
  • Acceleration
  • Distance
  • Gravity
  • Friction
  • Elasticity
• Timeline Animations on the Timeline
  • Motion Tween (CS4)
  • Motion Tween (Classic Tween in CS4)
  • Shape Tween
• Programatic Animation
  • Adjusting MovieClip Properties Over Time
  • ActionScript Tween Class
  • ActionScript TransitionManager and Easing Classes

2. Assignment G: Read Chapter 8 of Textbook

Week 5 | Class 7 | February 23

1. Object Oriented Programming with ActionScript
• Review Last Class’s Topics

2. Assignment F: Read Chapter 7 of Textbook

Week 4 | Class 6 | February 16

1. Finish and Turn In Assignment D
• Upload to mmp230/assignmentD Folder on MMP-Data Server

2. The Fundamentals of Programming with ActionScript
• Review Last Class’s Topics

3. Object Oriented Programming with ActionScript
Object Oriented Programming
Object Oriented Programming with ActionScript
Classes
  • ActionScript Keywords, package, import, class
Class Interfaces
  • Class Namespaces, public, private
Creating a Class
  • Document Class
  • Symbol Class
  • Constructors
Inheritance
  • ActionScript Keyword, extends
Project Organization

3. Assignment E: Read Chapters 5 and 6 of Textbook

4. In Class Demonstration
Download

Week 3 | Class 5 | February 11

1. Rich Internet Applications Overview
RIAs
• Can be deployed in Browsers or on the Desktop
• Often Flash Based but can also be built with AJAX, Microsoft Silverlight, Java and more
• Custom / highly interactive interfaces
Asynchronous I/O

2. Demonstration of Lumens
Lumens
Greylock Arts
Building Lumens
• Lumens makes use of:
  • ActionScript’s Socket Class
  • PHP Based Socket Server
  • REALbasic Based Socket to Serial Proxy Application
  • Custom built electronics based on the Arduino Platform

2. The Fundamentals of Programming with ActionScript
• Review Last Class’s Topics

3. Continue working on Assignment D

Week 3 | Class 4 | February 9

1. The Fundamentals of Programming with ActionScript
• Review Last Class’s Topics
• DisplayObjectContainer Methods, addChildAt(), getChildIndex(), setChildIndex(), swapChildren(), swapChildrenAt(), removeChild(), removeChildAt()
• Timeline Controls
• Frames, Key Frames and Frame Labels
• Movie Clip Methods, play(), stop(), gotoAndPlay(), gotoAndStop()
• Movie Clip Properties, currentFrame, totalFrames, currentLabel

2. Assignment D: Due February 16
• Create at least 1 Movie Clip and add it to the Display List from the Library by assigning a Class
• Use at least 3 Movie Clip Properties
• Assign at least 1 Event Listener to your Movie Clip
• Use at least 3 Variables, 1 Number, 1 String, 1 Boolean
• Use the trace() Function to track Variable values
• Use at least 2 Conditionals
• Use at least 2 Operators
• Use at least 1 Loop

3. In Class Demonstration
Download

Week 2 | Class 3 | February 4

1. The Fundamentals of Programming with ActionScript
• Review Last Class’s Topics
• Quick Introduction to Objects
DisplayObject, AVM1Movie, Bitmap, InteractiveObject, MorphShape, Shape, StaticText, Video
InteractiveObject, DisplayObjectContainer, Sprite and MovieClip
DisplayObject Properties, x and y, scaleX and scaleY, width and height, rotation, alpha and visible
• Sprite Methods, startDrag() and stopDrag()
MouseEvent and KeyboardEvent
The Display List
• Adding Symbols to the Display List, new Symbol()
• DisplayObjectContainer Method, addChild()
Event.ENTER_FRAME

2. Assignment C: Read Chapter 4 of Textbook

3. In Class Demonstration
Download

Week 2 | Class 2 | February 2

1. Review Flash Platform and Interface

2. The Fundamentals of Programming with ActionScript
• Review Last Class’s Topics
Conditionals, if, else, else if, switch
Operators, . (Dot), + (Addition), – (Minus), *(Multiplication), / (Division), < (Less Than), <= (Less Than or Equal To), > (Greater Than), >= (Greater Than or Equal To), = (Assignment), ++ (Increment), — (Decrement) , (Equality), != (Inequality), = (Strict Equality), !== (Strict Inequality), && (Short-Circuit And), || (Logical Or)
Repeat Loops, for, for..in, for each..in, while, do..while
Functions
• Execution Order and Evaluating Expressions
• Variable and Function Scope
• Identifiers, this and parent
Arrays, Constructor, push(), pop() and length
Events and Event Handling

3. Assignment B: Read Chapter 3 of Textbook

Week 1 | Class 1 | January 28

1. Introductions

2. Class Structure and Overview

3. History of Computation and Programming
Antikythera Mechanism
Al-Jazari and his Mechanical Automata
Joseph Marie Jacquard and the Jacquard Loom
Charles Babbage, the Analytical Engine and Ada Lovelace
Alan Turing, Bletchley Park and the Enigma Machine
Electronic Memory
Binary and Punch Cards
Assembly Language
FORTRAN, COBOL and BASIC
Early Personal Computers
C, C++, Objective-C and Java
ECMAScript, JavaScript and ActionScript

3. What it Means to be a Programmer
• Software Architecture
• Data Integration
• Coding
• Compilation
• Documentation
• Testing and Debugging
• Maintenance

4. The Flash Platform
Platform
ActionScript 1.0, 2.0 and 3.0
Adobe Flash Player
Adobe Flash CS3 / CS4
Adobe Flex Builder
Adobe AIR
Flash Media Server

5. Adobe Flash CS3 Interface
• Stage, Timeline and Properties Panels
• Design, Align, Color and Transform Panels
• Creating & Saving A New Document & Basic Document Settings
• Symbols, Buttons and Movie Clips
• Library Panel
• Symbol Names vs. Instance Names
• Actions Panel
• Help Panel

6. Programming Concepts
• Syntax, Logic, Math and Pseudo Code
• Sequential, Procedural and Object Oriented Programming Practices
• Classes, Encapsulation and Inheritance

7. The Fundamentals of Programming with ActionScript
Variables
Data Types, Number, String, Boolean, etc.
Syntax
Functions & Parameters (Arguments), trace();
• Commenting Your Code, //, /*
• Testing Your Movie
• Output Panel
• File Types, swfs vs. flas

8. Assignment Aa: Email me at prof@fatbits.net. Please include the course number (MMP230) and your full name in the subject. Feel free to include links to your work in the body.

9. Assignment Ab: Read Chapter 2 of Textbook

BMCC Main Page