As revised and approved at the FAS UCC meeting of March 12, 2004.
Course Number: CMPT 265 and IAT 265
Course Title: Multimedia Programming for Art and Design
Credit Hours: 3 Vector: 0-0-3
Course Description
Using cases from topics such as animation, cinema, music and design, this course introduces a variety of programming tools and techniques. Practical use of multimedia scripting languages and authoring environments is covered in the context of a series of composition and design projects. Code libraries and programming techniques for specific media will be introduced. Assessment will be based on both programming and the expressive use of programs in their case context.
Prerequisite:
CMPT 125 (or equivalent first programming course).
Recommended: None.
Corequisite: None.
Special Instructions: Students with credit for IART 206, 207 and 208 may not take this course for further credit.
Course(s) to be dropped if this course is approved:
IART 206-1 Programming Multimedia: Encoding Interactivity
IART 207-1 Scripting in the Network Environment
IART 208-1 Authoring Multi-user Environments
This course consolidates three 1-credit module-based (5 week) courses into a single 3-credit semester-based course and changes the emphasis of the course to the middle of these three modules.
Will this be a required or elective course in the curriculum; probable enrolment when offered?
Indicate Semester and Year this course would be first offered and planned frequency of offering thereafter.
2004-3 and annually thereafter.
Which of your present CFL faculty have the expertise to offer this course? Will the course be taught by sessional or limited term faculty?
Many SIAT and CMPT faculty members can teach this course.
Are there any proposed student fees associated with this course other than tuition fees?
No.
Is this course considered a `duplicate' of any current or prior course under the University's duplicate course policy? Specify, as appropriate.
This course duplicates IART 206-1, IART 207-1, IART 208-1. CMPT 265 and IAT 265 are identical courses; at most one may be taken for credit.
Note: Senate has approved (S.93-11) that no new course should be approved by Senate until funding has been committed for necessary library materials. Each new course proposal must be accompanied by a library report and, if appropriate, confirmation that funding arrangements have been addressed.
Provide details on how existing instructional resources will be redistributed to accommodate this new course. For instance, will another course be eliminated or will the frequency of offering of other courses be reduced; are there changes in pedagogical style or class sizes that allow for this additional course offering.
This course will use the resources already in place for the three 1-credit modules it replaces.
Does the course require specialized space or equipment not readily available in the department or university, and if so, how will these resources be provided?
No.
Does this course require computing resources (e.g. hardware, software, network wiring, use of computer laboratory space) and if so, describe how they will be provided.
No new resources are required by virtue of this course consolidation.
In this course students will learn to:
Write programs that use text, sound, graphics, and animation.
Use debuggers, profiles, testing tools, rapid prototyping tools, and integrated development environments to improve their programs and the process used to develop them.
Use and apply event-oriented and object-oriented programming techniques.
Use and design large libraries of code.
Design and manage medium-size software projects.
This course consists of three inter-related components. First, it discusses the basic issues related to using and representing text, sound, graphics, and animation. This includes basic representation formats, and standard algorithms for manipulating multimedia objects. This includes a detailed understanding of object-oriented and event-oriented programming techniques. Second, it introduces students to sophisticated programming tools such as debuggers, profilers, testing tools, rapid prototyping tools, and integrated development environments. Third, basic issues in managing a medium-sized software project are studied, including issues in user-centered design, design patterns, and the use and organization of large libraries of software. The course will include a significant multimedia programming project.
Delivery Method: Lectures and tutorials
40% Lab activities and programming assignments (multiple activities and assignments spread throughout the course)
30% Multimedia programming project
30% Quiz
Text: Python programming language (free); Learning Python, Second Edition by Mark Lutz, David Ascher; on-line materials from IART 206-1, IART 207-1, IART 208-1 will also be re-used as much as possible.