Spring 2022 - IAT 265 D100

Multimedia Programming for Art and Design (3)

Class Number: 7631

Delivery Method: In Person

Overview

  • Course Times + Location:

    Jan 10 – Apr 11, 2022: Mon, 12:30–2:20 p.m.
    Burnaby

  • Exam Times + Location:

    Apr 14, 2022
    Thu, 3:30–6:30 p.m.
    Burnaby

  • Prerequisites:

    Completion of 21 units and IAT 167 with a minimum grade of C- and one of MATH 130, MACM 101, MATH 150, MATH 151, MATH 154, or MATH 157, with a minimum grade of C-.

Description

CALENDAR 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. Quantitative.

COURSE DETAILS:

This is the third programming course that will enhance students’ programming knowledge and skills in order that they will be able to propose, design, implement and test complete interactive graphics/multimedia programs. These skills will prepare students for the more advanced topics they encounter in upper division courses. Students will explore fundamental programming concepts and techniques related to graphics and animation, and use these skills to develop larger interactive multimedia applications. This course reinforces fundamental concepts of object-oriented programming such as classes, objects and inheritance acquired in IAT 167. Students will work with additional objected-oriented concepts such as Java interfaces and abstract classes. Student will learn to use and apply UML diagrams and design patterns, and learn to write appropriate program documentation. They will learn to use event-driven programming to support interactivity. Students will be introduced to simple data structures and to the use of external libraries to add features to their programs. They will develop individual complete multimedia applications in an industry-standard professional IDE using Java and previously learned skills in Processing. Student will be introduced to simple development tools such as debugging techniques and code refactoring to optimize their code construct. Finally, students will demonstrate proficiency in designing, implementing and testing their own unique interactive graphics/multimedia applications.

COURSE-LEVEL EDUCATIONAL GOALS:

Learning Outcomes

On completion of this course, students will be able to:

  1. explain the fundamentals of software architecture, OOP (eg. interfaces and abstract classes), and multimedia programming within the context of interactive graphics applications.
  2. design and document software making appropriate use of UML diagrams and best practices.
  3. implement a complete interactive graphic/multimedia program, starting from a specification, by applying concepts and techniques of object-oriented programming. Such programs should include interaction, graphics, animation, and text.
  4. make use of design patterns, appropriate data structures (eg. 1/2/3D arrays, lists, vector and trees), established external libraries and APIs in designing and implementing more complex applications.
  5. explain and implement linear search algorithm and classic sorting algorithms such as quicksort.
  6. use testing, debugging and refactoring to improve performance, readability, and maintainability of their code.

 

Grading

  • Assignments 40%
  • Lab Challenges and Participation 10%
  • Quizzes 15%
  • Final Exam 30%
  • Lecture participation 5%

NOTES:

1. The grading scheme may be updated and announced in the first lecture.

Materials

MATERIALS + SUPPLIES:

Resources:
Sun's Java tutorial (http://download.oracle.com/javase/tutorial/index.html )
Java class library documents (http://download.oracle.com/javase/8/docs/api/ )
Eclipse IDE tutorial (http://www.vogella.de/articles/Eclipse/article.html )


REQUIRED READING:

Readings provided via Canvas

RECOMMENDED READING:

“Generative Art” (2011) by Matt Pearson; Manning Publications; E- version is available via SFU library
ISBN: 9781935182627

“The Nature of Code” (2012) by Daniel Shiffman; Nature of Code

Electronic edition is accessible for free for online reading or purchased for $10 at: http://natureofcode.com/book/

ISBN: 9780985930806

David Flanagan, Benjamin Evans, Java in a Nutshell: A Desktop Quick Reference
7th ed, O'Reilly Media,  2019 (available online via SFU Library)

Registrar Notes:

ACADEMIC INTEGRITY: YOUR WORK, YOUR SUCCESS

SFU’s Academic Integrity web site http://www.sfu.ca/students/academicintegrity.html is filled with information on what is meant by academic dishonesty, where you can find resources to help with your studies and the consequences of cheating.  Check out the site for more information and videos that help explain the issues in plain English.

Each student is responsible for his or her conduct as it affects the University community.  Academic dishonesty, in whatever form, is ultimately destructive of the values of the University. Furthermore, it is unfair and discouraging to the majority of students who pursue their studies honestly. Scholarly integrity is required of all members of the University. http://www.sfu.ca/policies/gazette/student/s10-01.html

TEACHING AT SFU IN SPRING 2022

Teaching at SFU in spring 2022 will involve primarily in-person instruction, with safety plans in place.  Some courses will still be offered through remote methods, and if so, this will be clearly identified in the schedule of classes.  You will also know at enrollment whether remote course components will be “live” (synchronous) or at your own pace (asynchronous).

Enrolling in a course acknowledges that you are able to attend in whatever format is required.  You should not enroll in a course that is in-person if you are not able to return to campus, and should be aware that remote study may entail different modes of learning, interaction with your instructor, and ways of getting feedback on your work than may be the case for in-person classes.

Students with hidden or visible disabilities who may need class or exam accommodations, including in the context of remote learning, are advised to register with the SFU Centre for Accessible Learning (caladmin@sfu.ca or 778-782-3112) as early as possible in order to prepare for the spring 2022 term.