About the Program
As a Digital Media student, you will devise and use tools to create engaging, interactive digital objects and experiences that integrate imagery and sound, including effects and animation, 3D modelling and simulation, and responsive interfaces bridging the physical and virtual world.
You will also study larger concepts like aesthetic theories and the cultural impact of digital media as a catalyst for artistic, social and industrial evolution. Most importantly, you will learn to simulate, build and create.
You will begin the program by completing a common core of courses in first year. You will then select from one of three streams based on your interest.
Digital Media Development focusing on design of core tools and technologies for digital media practices.
Digital Media Arts focusing on the creation and application of digital media for creative production in the visual, performing and screen arts.
Digital Media Game Arts focusing on allied artistic and scientific aspects of innovative game design.
We offer courses in a range of subjects, for example, virtual reality user interfaces, graphics, games and animation.
A minimum of 30 course credits and at least half (50 per cent) of the course credits required in each undergraduate degree program major/minor must be taken at York University.
Most 2000-, 3000-, and 4000-level EECS courses require the following general (that is, common) prerequisite, in addition to other course-specific prerequisites: a cumulative grade point average of 4.50 or better over all completed major EECS courses.
For requirements by degree, visit York’s academic calendar.
Most 2000-, 3000-, and 4000-level EECS courses require the following general (that is, common) prerequisite, in addition to other course-specific prerequisites: a cumulative grade point average of 4.50 or better over all completed major EECS courses.
For requirements by degree, visit York’s academic calendar.
Degree Checklists are a complete listing of all program-specific courses required for successful graduation.
• A strong foundation in the algorithmic and computational basis for the creation of digital imagery, sound, animation and simulations
• Software development for applications such as 3D graphics, sound/music, games and mobile apps
• Comprehensive portfolio development with a blend of digital media creation, understanding and applying computational tools and artistic concepts
• Software development for applications such as 3D graphics, sound/music, games and mobile apps
• Comprehensive portfolio development with a blend of digital media creation, understanding and applying computational tools and artistic concepts
• Beyond Media
• CIBC
• Interac Corp
• University of Twente (Holland)
• CIBC
• Interac Corp
• University of Twente (Holland)
Sample Courses (Ordinary Stream)
For information on course requirements for other streams, refer to degree checklists above)
First Year
DATT 1010, 3 Credits
Exploration of interactive digital media using a programming environment designed for creative use, such as Max/MSP. The primary content of this course will be presented in a series of themes that provide the basis for the exploration of computational art through fundamental tools needed for the analysis, evaluation, and creation of interactive computational art works, including the exploration of generative art, sound manipulation and effects, video manipulation and effects, and 2D graphics in run-time environments. Emphasis on cultural analysis about the important role that computational media have in the arts, as well as integration of key ideas and computer programming methods. Students will put these concepts in practice through the development their own projects. Course Credit Exclusion: DATT 1000.
Exploration of interactive digital media using a programming environment designed for creative use, such as Max/MSP. The primary content of this course will be presented in a series of themes that provide the basis for the exploration of computational art through fundamental tools needed for the analysis, evaluation, and creation of interactive computational art works, including the exploration of generative art, sound manipulation and effects, video manipulation and effects, and 2D graphics in run-time environments. Emphasis on cultural analysis about the important role that computational media have in the arts, as well as integration of key ideas and computer programming methods. Students will put these concepts in practice through the development their own projects. Course Credit Exclusion: DATT 1000.
DATT 1020, 3 Credits
Explores the creation of interactive and immersive virtual worlds in run-time environments using a programming environment designed for creative use, such as Max/MSP. Built on a foundation of skills gained in DATT 1010, this course will focus on real-time 3D and the creation of real-time generative 3D object transforms, worldbuilding, mise-en-scene in real time interactive 3D, and simple agent-based systems. The content of this course will be presented in a series of themes that provide the basis for the exploration of 3D worldbuilding in computational art. Emphasis on cultural analysis about the important role that computational media have in the arts, as well as integration of key ideas and computer programming methods. In developing their own projects, students will put these concepts in practice. Open to non-majors. Prerequisite: DATT 1010 Introduction to Interactive Digital Media I, or by permission of the instructor. Course Credit Exclusion: DATT 1000.
Explores the creation of interactive and immersive virtual worlds in run-time environments using a programming environment designed for creative use, such as Max/MSP. Built on a foundation of skills gained in DATT 1010, this course will focus on real-time 3D and the creation of real-time generative 3D object transforms, worldbuilding, mise-en-scene in real time interactive 3D, and simple agent-based systems. The content of this course will be presented in a series of themes that provide the basis for the exploration of 3D worldbuilding in computational art. Emphasis on cultural analysis about the important role that computational media have in the arts, as well as integration of key ideas and computer programming methods. In developing their own projects, students will put these concepts in practice. Open to non-majors. Prerequisite: DATT 1010 Introduction to Interactive Digital Media I, or by permission of the instructor. Course Credit Exclusion: DATT 1000.
DATT 1100, 3 Credits
Exploration of interactive digital media using a programming environment designed for creative use, such as Max/MSP. The primary content of this course will be presented in a series of themes that provide the basis for the exploration of computational art through fundamental tools needed for the analysis, evaluation, and creation of interactive computational art works, including the exploration of generative art, sound manipulation and effects, video manipulation and effects, and 2D graphics in run-time environments. Emphasis on cultural analysis about the important role that computational media have in the arts, as well as integration of key ideas and computer programming methods. Students will put these concepts in practice through the development their own projects. Course Credit Exclusion: DATT 1000.
Exploration of interactive digital media using a programming environment designed for creative use, such as Max/MSP. The primary content of this course will be presented in a series of themes that provide the basis for the exploration of computational art through fundamental tools needed for the analysis, evaluation, and creation of interactive computational art works, including the exploration of generative art, sound manipulation and effects, video manipulation and effects, and 2D graphics in run-time environments. Emphasis on cultural analysis about the important role that computational media have in the arts, as well as integration of key ideas and computer programming methods. Students will put these concepts in practice through the development their own projects. Course Credit Exclusion: DATT 1000.
EECS 1012, 3 Credits
The objectives of 1012 are threefold: providing a first exposure to event-driven programming, teaching students a set of computing skills (including reasoning about algorithms, tracing programs, test-driven development, unit testing), and providing an introduction to computing within a mobile, net-centric context. It uses problem-based approach to expose the underlying concepts and an experiential laboratory to implement them. A mature mobile software infrastructure (such as HTML, CSS, and JavaScript) is used so that students can pick up key programming concepts (such as variables and control flow) within a client-server context without being bogged down in complex or abstract constructs. Laboratory exercises expose students to a range of real-world problems with a view of motivating computational thinking and grounding the material covered in lecture. Prerequisites: One of (1)-(3) below must be met: (1) (New high school curriculum): One 4U Math course with a grade of at least 75%. (2) Completion of six credits from York University MATH courses (not including courses with second digit 5) with a GPA of 5.00 or better over these credits; (3) Completion of six credits from York University mathematics courses whose second digit is 5, with an average grade not below 7.00 (B+). Course credit exclusions: AP/ITEC 3020 3.00, SC/CSE 2041 4.00 (prior to Summer 2013) Previously offered as: LE/CSE 2041 4.00, LE/EECS 2041 4.00.
The objectives of 1012 are threefold: providing a first exposure to event-driven programming, teaching students a set of computing skills (including reasoning about algorithms, tracing programs, test-driven development, unit testing), and providing an introduction to computing within a mobile, net-centric context. It uses problem-based approach to expose the underlying concepts and an experiential laboratory to implement them. A mature mobile software infrastructure (such as HTML, CSS, and JavaScript) is used so that students can pick up key programming concepts (such as variables and control flow) within a client-server context without being bogged down in complex or abstract constructs. Laboratory exercises expose students to a range of real-world problems with a view of motivating computational thinking and grounding the material covered in lecture. Prerequisites: One of (1)-(3) below must be met: (1) (New high school curriculum): One 4U Math course with a grade of at least 75%. (2) Completion of six credits from York University MATH courses (not including courses with second digit 5) with a GPA of 5.00 or better over these credits; (3) Completion of six credits from York University mathematics courses whose second digit is 5, with an average grade not below 7.00 (B+). Course credit exclusions: AP/ITEC 3020 3.00, SC/CSE 2041 4.00 (prior to Summer 2013) Previously offered as: LE/CSE 2041 4.00, LE/EECS 2041 4.00.
EECS 1019, 3 Credits
Introduction to abstraction. Use and development of precise formulations of mathematical ideas. Informal introduction to logic; introduction to naïve set theory; induction; relations and functions; big O-notation; recursive definitions, recurrence relations and their solutions; graphs and trees. Prerequisites: SC/MATH 1190 3.00, or two 4U Math courses, including MHF4U (Advanced Function). Course credit exclusions: LE/EECS 1028 3.00, SC/MATH 1028 3.00, SC/MATH 2320 3.00.
Introduction to abstraction. Use and development of precise formulations of mathematical ideas. Informal introduction to logic; introduction to naïve set theory; induction; relations and functions; big O-notation; recursive definitions, recurrence relations and their solutions; graphs and trees. Prerequisites: SC/MATH 1190 3.00, or two 4U Math courses, including MHF4U (Advanced Function). Course credit exclusions: LE/EECS 1028 3.00, SC/MATH 1028 3.00, SC/MATH 2320 3.00.
EECS 1710, 3 Credits
Introduction to program design and implementation focusing on digital media projects including sound, images, and animation; includes algorithms, simple data structures, control structures, and debugging techniques. Course credit exclusions: LE/EECS 1530 3.00, LE/CSE 1530 3.00, SC/CSE 1530 3.00, AP/ITEC 1620 3.00. NCR: Students who completed or are taking LE/EECS 1021 3.00 or LE/EECS 1022 3.00 or LE/EECS 1020 3.00 or LE/CSE 1020 3.00, SC/CSE 1020 3.00.
Introduction to program design and implementation focusing on digital media projects including sound, images, and animation; includes algorithms, simple data structures, control structures, and debugging techniques. Course credit exclusions: LE/EECS 1530 3.00, LE/CSE 1530 3.00, SC/CSE 1530 3.00, AP/ITEC 1620 3.00. NCR: Students who completed or are taking LE/EECS 1021 3.00 or LE/EECS 1022 3.00 or LE/EECS 1020 3.00 or LE/CSE 1020 3.00, SC/CSE 1020 3.00.
EECS 1720, 3 Credits
A second course teaching more advanced programming concepts within the context of image, sound and interaction using an object-oriented language; introduction to interactive systems, user interfaces, event-driven programming, object design and inheritance; implementation using debuggers, integrated development environments, user interface builders. Prerequisite: LE/EECS 1710 3.00. Course credit exclusions: LE/EECS 1020 3.00, LE/EECS 1022 3.00, AP/ITEC 1620 3.00. PRIOR TO FALL 2014: course credit exclusions: LE/CSE 1020 3.00. PRIOR TO SUMMER 2013: course credit exclusions: SC/CSE 1020 3.00.
A second course teaching more advanced programming concepts within the context of image, sound and interaction using an object-oriented language; introduction to interactive systems, user interfaces, event-driven programming, object design and inheritance; implementation using debuggers, integrated development environments, user interface builders. Prerequisite: LE/EECS 1710 3.00. Course credit exclusions: LE/EECS 1020 3.00, LE/EECS 1022 3.00, AP/ITEC 1620 3.00. PRIOR TO FALL 2014: course credit exclusions: LE/CSE 1020 3.00. PRIOR TO SUMMER 2013: course credit exclusions: SC/CSE 1020 3.00.
MATH 1025, 3 Credits
Topics include spherical and cylindrical coordinates in Euclidean 3-space, general matrix algebra, determinants, vector space concepts for Euclidean n-space (e.g. linear dependence and independence, basis, dimension, linear transformations etc.), an introduction to eigenvalues and eigenvectors. Prerequisites: 12U Advanced functions (MHF4U) or equivalent. Course credit exclusions: SC/MATH 1021 3.00, SC/MATH 2221 3.00, GL/MATH/MODR 2650 3.00.
Topics include spherical and cylindrical coordinates in Euclidean 3-space, general matrix algebra, determinants, vector space concepts for Euclidean n-space (e.g. linear dependence and independence, basis, dimension, linear transformations etc.), an introduction to eigenvalues and eigenvectors. Prerequisites: 12U Advanced functions (MHF4U) or equivalent. Course credit exclusions: SC/MATH 1021 3.00, SC/MATH 2221 3.00, GL/MATH/MODR 2650 3.00.
6 credits from:**
FA/DANC 1900 3.00, FA/FILM 1900 3.00, FA/MUSI 1900 3.00, FA/THEA 1900 3.00, FA/VISA 1900 3.00,
FA/YSDN 1900 3.00
Second Year
DATT 2050, 3 Credits
Introduces the concepts and techniques of digital signal processing and their application in both sound and image resulting in the development of works that are cross-modal hybrids between sound and image, such as found in the Visual Music aesthetic. Course credit exclusion: FA/FACS 2935 3.00. Prerequisites: FA/FACS 2930 6.00 or FA/DATT 1000 6.00 or FA/DATT 1020 3.00.
Introduces the concepts and techniques of digital signal processing and their application in both sound and image resulting in the development of works that are cross-modal hybrids between sound and image, such as found in the Visual Music aesthetic. Course credit exclusion: FA/FACS 2935 3.00. Prerequisites: FA/FACS 2930 6.00 or FA/DATT 1000 6.00 or FA/DATT 1020 3.00.
DATT 2100 , 3 Credits
Introduces techniques and strategies for the documentation and dissemination of work in the digital age. Students will expand their skills in traditional and internet-based research in tandem with developing competence in the clear, concise communication of ideas through appropriate integration of text, visual, sonic and interactive components. Overview of tools such as image processing, web development, mobile content development, and content management systems. Course credit exclusion: FA/FACS 2500 3.00.
Introduces techniques and strategies for the documentation and dissemination of work in the digital age. Students will expand their skills in traditional and internet-based research in tandem with developing competence in the clear, concise communication of ideas through appropriate integration of text, visual, sonic and interactive components. Overview of tools such as image processing, web development, mobile content development, and content management systems. Course credit exclusion: FA/FACS 2500 3.00.
EECS 2011, 3 Credits
A study of fundamental data structures and their use in the efficient implementation of algorithms. Topics include abstract data types, lists, stacks, queues, trees and graphs. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”), LE/EECS 1030 3.00 or LE/EECS 2030 3.00, LE/EECS 1028 3.00 OR SC/MATH 1028 3.00 or LE/EECS 1019 3.00 or SC/MATH 1019 3.00. Previously offered as: LE/CSE 2011 3.00. The course discusses the fundamental data structures commonly used in the design of algorithms. Abstract operations on data structures are specified using pre and post conditions and/or system invariants. Trade-offs between a number of different implementations of each abstract data types (ADT) are analyzed. Each algorithm operating on data structures is proved correct using loop invariants or induction. Both formal and informal proofs are introduced though most of the reasoning is done informally. Data structures are coded and unit tested in an object-oriented language. Selecting the appropriate ADT and a suitable implementation depending on the application is covered. Prerequisites: EECS1019 or EECS1028, EECS1030 or 2030, MATHS1090 Date of submission: 2013-13-03
A study of fundamental data structures and their use in the efficient implementation of algorithms. Topics include abstract data types, lists, stacks, queues, trees and graphs. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”), LE/EECS 1030 3.00 or LE/EECS 2030 3.00, LE/EECS 1028 3.00 OR SC/MATH 1028 3.00 or LE/EECS 1019 3.00 or SC/MATH 1019 3.00. Previously offered as: LE/CSE 2011 3.00. The course discusses the fundamental data structures commonly used in the design of algorithms. Abstract operations on data structures are specified using pre and post conditions and/or system invariants. Trade-offs between a number of different implementations of each abstract data types (ADT) are analyzed. Each algorithm operating on data structures is proved correct using loop invariants or induction. Both formal and informal proofs are introduced though most of the reasoning is done informally. Data structures are coded and unit tested in an object-oriented language. Selecting the appropriate ADT and a suitable implementation depending on the application is covered. Prerequisites: EECS1019 or EECS1028, EECS1030 or 2030, MATHS1090 Date of submission: 2013-13-03
EECS 2030, 3 Credits
This course continues the separation of concern theme introduced in LE/EECS 1020 3.00 and LE/EECS1021 3.00. While 1020 and 1021 focuses on the client concern, this course focuses on the concern of the implementer. Hence, rather than using an API (Application Programming Interface) to build an application, the student is asked to implement a given API. Topics include implementing classes (non-utilities, delegation within the class definition, documentation and API generation, implementing contracts), aggregations (implementing aggregates versus compositions and implementing collections), inheritance hierarchies (attribute visibility, overriding methods, abstract classes versus interfaces, inner classes); applications of aggregation and inheritance in concurrent programming and event-driven programming; recursion; searching and sorting including quick and merge sorts); stacks and queues; linked lists; binary trees. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS1021 3.00 or LE/EECS 1020 (prior to Fall 2015) 3.00 or LE/EECS1022 3.00 or LE/EECS 1720 3.00. Course credit exclusions: AP/ITEC 2620 3.00. Previously offered as: LE/EECS1030 3.00, LE/CSE 1030 3.00.
This course continues the separation of concern theme introduced in LE/EECS 1020 3.00 and LE/EECS1021 3.00. While 1020 and 1021 focuses on the client concern, this course focuses on the concern of the implementer. Hence, rather than using an API (Application Programming Interface) to build an application, the student is asked to implement a given API. Topics include implementing classes (non-utilities, delegation within the class definition, documentation and API generation, implementing contracts), aggregations (implementing aggregates versus compositions and implementing collections), inheritance hierarchies (attribute visibility, overriding methods, abstract classes versus interfaces, inner classes); applications of aggregation and inheritance in concurrent programming and event-driven programming; recursion; searching and sorting including quick and merge sorts); stacks and queues; linked lists; binary trees. Prerequisites: cumulative GPA of 4.50 or better over all major EECS courses (without second digit “5”); LE/EECS1021 3.00 or LE/EECS 1020 (prior to Fall 2015) 3.00 or LE/EECS1022 3.00 or LE/EECS 1720 3.00. Course credit exclusions: AP/ITEC 2620 3.00. Previously offered as: LE/EECS1030 3.00, LE/CSE 1030 3.00.
One of the following pairs of courses:
FA/DATT 2000 3.00 and FA/DATT 2010 3.00; OR
FA/DATT 2500 3.00 and FA/DATT 2501 3.00
General Education Electives
Third Year
ENG 3700, 6 Credits
The entire class collaborates on the realization of one or two ambitious projects. Students will work together as a development team by taking on roles where they focus on specific aspects of the project (such as Director, Designer, Artist, Programmer, Sound engineer, Interaction Designer, Publicity). The development team structure is modelled on teams used in large-scale project development within fields related to Digital Media, such as contemporary art practice, game development, creative software development, and interactive experience development that rely on multi-stakeholder collaboration and interdisciplinary research. Projects may incorporate partnerships with York-based Faculties, Departments, or research teams depending on the focus of the project. The nature of the project will vary from year to year, but will be a significant work in the field of Digital Media. The Instructor(s) will prepare a general description of the project(s) at the beginning of the course. The details of the project(s) will be developed as part of the class activities. As part of the project development and execution students will be expected to prepare presentations, posters, and a written paper. The culmination of this course will be a final presentation, which will be open to the public. In addition to group assignments, students are evaluated based on their individual contribution, teamwork, presentations, and other deliverables as appropriate. Prerequisites: Only open to students the Digital Media Specialized Honours BA program Arts or Developer Stream, and the Digital Media BA; FA/DATT 2050 3.00 and FA/DATT 2100 3.00. Co-requisite: LE/EECS 2030 3.00. Course credit exclusion: FA/DATT 3701 6.00.
The entire class collaborates on the realization of one or two ambitious projects. Students will work together as a development team by taking on roles where they focus on specific aspects of the project (such as Director, Designer, Artist, Programmer, Sound engineer, Interaction Designer, Publicity). The development team structure is modelled on teams used in large-scale project development within fields related to Digital Media, such as contemporary art practice, game development, creative software development, and interactive experience development that rely on multi-stakeholder collaboration and interdisciplinary research. Projects may incorporate partnerships with York-based Faculties, Departments, or research teams depending on the focus of the project. The nature of the project will vary from year to year, but will be a significant work in the field of Digital Media. The Instructor(s) will prepare a general description of the project(s) at the beginning of the course. The details of the project(s) will be developed as part of the class activities. As part of the project development and execution students will be expected to prepare presentations, posters, and a written paper. The culmination of this course will be a final presentation, which will be open to the public. In addition to group assignments, students are evaluated based on their individual contribution, teamwork, presentations, and other deliverables as appropriate. Prerequisites: Only open to students the Digital Media Specialized Honours BA program Arts or Developer Stream, and the Digital Media BA; FA/DATT 2050 3.00 and FA/DATT 2100 3.00. Co-requisite: LE/EECS 2030 3.00. Course credit exclusion: FA/DATT 3701 6.00.
3 credits chosen from:
LE/EECS 3214 3.00, LE/EECS 3421 3.00, LE/EECS 3431 3.00,
LE/EECS 3461 3.00
6 credits chosen from:
FA/DATT 3200 3.00, FA/DATT 3300 3.00, FA/DATT 3930 3.00,
FA/DATT 3931 3.00, FA/DATT 3935 3.00, FA/DATT 3938 3.00,
FA/DATT 3940 3.00, FA/DATT 3941 3.00
3 credits in:*
AP/COMN or SC/STS at the 3000-level or above