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 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. Work on Midterm
• Finish Midterm
› 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 and the Analytical Engine
• 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
› Week 9 | Class 17 | April 6
1. Midterm Due
› Spring Break | March 29 – April 5
› Week 16 | Class 31 | May 20
1. Final Projects Due
