CMPT 310 – Artificial Intelligence Survey|
Fish AI AnalysisCMPT 383 – Comparative Programming Languages
Instructor: Steven Pearce
Provides a unified discussion of the fundamental approaches to the problems in artificial intelligence. The topics considered are: representational typology and search methods; game playing, heuristic programming; pattern recognition and classification; theorem-proving; question-answering systems; natural language understanding; computer vision.
Instructor: Gregory Baker
Various concepts and principles underlying the design and use of modern programming languages are considered in the context of procedural, object-oriented, functional and logic programming languages. Topics include data and control structuring constructs, facilities for modularity and data abstraction, polymorphism, syntax, and formal semantics.
CMPT 371 – Data Communications and Networking|
Instructor: Joseph PetersCMPT 470 – Web-based Information Systems
Data communication fundamentals (data types, rates, and transmission media). Network architectures for local and wide areas. Communications protocols suitable for various architectures. ISO protocols and internetworking. Performance analysis under various loadings and channel error rates.
Instructor: Allen PikeIAT 405 – Interdisciplinary Design Studio II
This course examines: two-tier/multi-tier client/server architectures; the architecture of a Web-based information system; web servers/browser; programming/scripting tools for clients and servers; database access; transport of programming objects; messaging systems; security; and applications (such as e-commerce and on-line learning).
VJukeBox - The Video Jukebox
Instructor: Andres Wanner
This is a follow up course from IAT 403. Work from that course is carried forward into this one. Development and evaluation of a media, design or informatics project. Projects vary from year to year and relate to current social and technological issues in society as well as students' interests and affinities. Design methods used will vary with project type. Covers the spectrum of the production process from problem definition to prototype.
EDUC 250 – Studies in the History of Education in the Western World|
Instructor: Annabella CantIAT 336 – Materials in Design
A study of major trends in educational practice from antiquity to the present. May be applied towards the certificate in liberal arts.
Instructor: Kenneth ZupanIAT 403 – Interdisciplinary Design Studio
Introduces material properties and performance in the context of interactive artifacts. Covers criteria for material selection, including durability, environmental effects, tactile properties, manufacturing processes, compatibility and effects of particular forms of use.
VJukeBox - The Video JukeboxIAT 455 – Computational Media
Instructor: Andres Wanner
Development and evaluation of a media, design or informatics project. Projects vary from year to year and relate to current social and technological issues in society as well as students' interests and affinities. Design methods used will vary with project type. Covers the spectrum of the production process from problem definition to prototype. Students continue working on the project in the follow-up course IAT 405.
Instructor: Helmine Serban
The representation of media is introduced: specifically one dimensional (sound), two dimensional (images) and three dimensional (moving images). This course focuses on techniques and methods for creating digital video special effects, allowing students to explore their creativity while extending their graphics and programming skills in digital media. Computational techniques based on signal processing are developed that support the creation, manipulation, combination, transformation, compression, storage and display/performance of different media forms. An important aspect is representation in the temporal/spatial vs. the frequency domain and different transformation techniques. Students will be required to generate special effects, critique and analyze effects from movies, develop skills and abilities to manipulate digital video and audio, and implement their own algorithms to express their technical and artistic skills.
CMPT 300 – Operating Systems I|
Instructor: Petra BerenbrinkHUM 203 – Great Texts: Asian Thought and Literature
This course aims to give the student an understanding of what a modern operating system is, and the services it provides. It also discusses some basic issues in operating systems and provides solutions. Topics include multiprogramming, process management, memory management, and file systems.
Instructor: Shuyu KongIAT 333 – Interaction Design Methods
An introduction to classic texts which have endured as monuments of Asian thought and literature. Readings and discussions of primary texts and their central ideas will introduce students to philosophical, literary and religious themes in a selected, major Asian tradition.
Instructor: Jack Stockholm III
Examines concepts of design practice and related design methods for interaction designers. Design methods include ethnography, personas, design games, role-playing, scenarios, participatory workshops, and prototyping.
ARCH 131 – Human Origins|
Instructor: David MaxwellCRIM 101 – Introduction to Criminology
A non-technical survey of the primate background of humans, fossil primates, and fossil humans, and the associated evidence of cultural development. An introduction to physical anthropology.
Instructor: Sheryl FabianIAT 410 – Advanced Game Design
Topics will include: examination of different terms and concepts commonly used in criminology, such as crime, delinquency, deviance, criminal, victim, rehabilitation and treatment. Criminology as a body of knowledge and as a profession. Position and subject matter of criminology. Relationship between criminology and other academic disciplines. Specificity of criminology. Relationship between theory and practice. History and evolution of criminological thought. Elements of continuity and discontinuity between classical and modern theories of criminality. Levels of explanations in criminology. Practical applications of criminology. The foundations of a modern criminal policy.
Instructor: Magy Seif El-NasrIAT 431 – Speculative Design
Students will design and develop a variety of electronic games, culminating in an advanced game project. They will continue to analyze the experience of play within the game, and the connections between the game experience and broader cultural phenomena.
Instructor: Carman Neustaedter
Provides students with the opportunity to experiment with designing in various non-normative frameworks provided by cultural studies, critical theory and phenomenology. Students will examine design's potential for cultural, social and ethical critique of emerging technologies and society. Rather than merely illustrating theoretical positions, this examination involves enacting and embodying differing theoretical positions, thereby rendering criticism productive. Individual design expertise and voice is emphasized.
MATH 232 – Applied Linear Algebra|
Instructor: Roger Donaldson
Linear equations, matrices, determinants. Introduction to vector spaces and linear transformations and bases. Inner products and orthogonality. Eigenvalues and eigenvectors; diagonalization. Inner products and orthogonality; least squares problems. Applications. The course emphasizes matrix and vector calculations and applications.
IAT 337 – Representation and Fabrication|
The Moon Clock
Instructor: Halil Erhan
Introduces computer-based tools for representing and fabricating designs. Covers the representation of work within a design process, the use of visualization techniques to communicate with clients, and the use of digital fabrication technology to build prototypes. Projects are chosen to highlight key representational issues in contemporary design practice.
IAT 334 Interface Design|
Team Renegade Email SuiteIAT 338 Interactive Objects and Environments
Instructor: Christopher Shaw
Provides an introduction to the art and design of human-computer interfaces, design methods, prototyping and evaluation of user interfaces. Examines issues of interactivity and its relation to human contexts and technological systems. The role of aesthetic, symbolic, affective and cultural factors will be assessed in concert with scientific and technological issues. The class is primarily focused on visual interfaces on computer monitors and hand-held devices, but culminates with considerations of increasingly physical interactions in ubiquitous environments.
Danese Milano Showroom
Instructor: Russell Taylor
Develops programming and scripting skills for developing combined software, and hardware prototype versions of interactive objects and environments. Covers the art and design of interactive objects and environments. Methodologies emphasizing embodiment, kinesthetics and haptics are introduced by combining theory and practice. Students develop programming skills for developing working prototypes comprised of software, sensors, and hardware.
IAT 208 Drawing as Inquiry|
Instructor: Kenneth ZupanIAT 309W Writing for Design, Media, and Informatics
An overview of the various forms and languages of drawing as both a critical and creative research tool. Activities and projects in each unit offer opportunities to understand and apply drawing as a medium for visual thinking and conceptualization. Related social and gender concerns are investigated to contextualize figurative representations within a broader cultural framework.
Instructor: Chantal GibsonIAT 352 Knowledge Media Architectures
Develops critical thinking and writing strategies adaptable to professional communications in design, media arts and technology.
Instructor: Yingchen Yang
Architectures and technologies that people use for creating, capturing, storing, sharing, and accessing knowledge and information are introduced. XML technologies, databases and data mining are reviewed as means for sharing, storing and extracting knowledge in the context of personalized systems. The server-client and service oriented architectures are examined from the perspective of building interactive systems. Internet computing and collaborative technologies, including video conferencing, chat systems, peer to peer systems, social networking, and portals are reviewed as means for creating and sharing knowledge and information.
CMPT 354 Database Systems I|
Instructor: John EdgarIAT 312 Foundations of Game Design
Logical representations of data records. Data models. Studies of some popular file and database systems. Document retrieval. Other related issues such as database administration, data dictionary and security.
1337 Kr3w GamesIAT 355 Introduction to Visual Analytics
Instructor: Magy Seif El-Nasr
Examines the discipline of game design. Games are studied across three analytical frameworks: games as rules (formal system), games as play (experiential system), games as culture (social system). Includes analytical and practical exercises in game design.
World of Warcraft Visualizer
Instructor: Christopher Shaw
Focuses on the design and implementation of interactive computer visualization techniques for the analysis, comprehension, and explanation of large collections of abstract information. The application of principles from perception, information visualization, interaction and visual analytics will be covered. Introduces tools for programming geometric information and displaying the results. Emphasizes development of practical skills in using graphics libraries and tools: students will develop programming experience with relevant examples and techniques.
CMPT 275 Software Engineering I|
Snowbird Learning SuiteIAT 222 Interactive Arts
Instructor: Toby Donaldson
Introduction to software engineering techniques used in analysis/design and in software project management. The course centres on a team project involving requirements gathering, object analysis and simple data normalization, use-case-driven user documentation and design followed by implementation and testing. Additionally, there is an introduction to project planning, metrics, quality assurance, configuration management, and people issues.
Instructor: Niranjan RajahIAT 235 Information Design
Introduces key concepts within contemporary digital art practices. Issues surrounding digital art will be explored through readings, the study of artworks, and the creation of their own artistic projects.
Live Art CubeIAT 267 Introduction to Technological Systems
Instructor: Maia Engeli
Introduces theory and practice of designing visual representations of information. Students will learn to visually translate textual, numerical and evidentiary information so that it can be communicated to diverse user communities and contexts. An emphasis will be on understanding how the meaning of images can change over time and across contexts and cultures. Beginning with photographic images, interactive charts, graphs, and maps, projects progress to more complex information in media forms ranging from advanced aspects of the web to interactive 3D visualizations. The relationship between visual display is explored in relation to its technology of creation, including code and information architecture.
Instructor: Helmine Serban
Introduction to the core technologies and systems used in media-rich interactive environments, including computer hardware, operating systems, input and output technologies, networking and media. The concepts will be examined by working in a high-level media programming environment.
CMPT 225 Data Structures and Programming|
Instructor: John EdgarIAT 102 Graphic Design
Introduction to a variety of practical and important data structures and methods for implementation and for experimental and analytical evaluation. Topics include: stacks, queues and lists; search trees; hash tables and algorithms; efficient sorting; object-oriented programming; time and space efficiency analysis; and experimental evaluation.
Instructor: Diane GromalaIAT 201 Human-Computer Interaction and Cognition
Introduction to fundamental design principles for visual communication. Organized as a continual interplay of theory and practice, students will examine historical, philosophical, perceptual and semiotic approaches to understanding graphic design, and will explore principles of form, such as structure and composition, hierarchy, form, color, space, scale, typography, and legibility and readability through hands-on projects. Traditional time-based and interactive media forms will be compared and contrasted.
Instructor: Helmine SerbanIAT 233 Spatial Design
Introduces topics in human perception, cognition and embodied action as a foundation of design for human use. It explores the practical application of techniques for analyzing diverse interactive situations and designing effective user interfaces. Students will engage in the analysis and design of a simple user interface, gaining detailed knowledge and experience with the standard basic techniques for interface specificiation, prototyping and evaluation.
Instructor: Russell TaylorIAT 265 Multimedia Programming for Art and Design
Designing and understanding spaces used by people. The iterative process of making and criticising, experiencing and analysing spatial form. Compositional ideas for form-making. Critical thinking applied to design. Computers are the principal medium used in this course for form-making and visualisation.
Instructor: Yingchen Yang
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.
CMPT 125 Introduction to Computing Science and Programming II|
Instructor: Toby DonaldsonTech 101W Fundamentals of Teamwork and Communication II
A rigorous introduction to computing science and computer programming, suitable for students who already have some backgrounds in computing science and programming. Intended for students who will major in computing science or a related program. Topics include: fundamental algorithms; elements of empirical and theoretical algorithmics; abstract data types and elementary data structures; basic object-oriented programming and software design; computation and computability; specification and program correctness; and history of computing science.
Instructor: Chantal GibsonCMPT 150 Introduction to Computer Design
Explores social tendencies in rapidly shifting team environments, and teaches the skills necessary to write academic papers.
Instructor: Harinder KhanguraIAT 101 New Media Images
Digital design concepts are presented in such a way that students will learn how logic blocks can be designed and employed to construct a simple computer. Topics covered include: basic Von Neumann computer architecture; an introduction to assembly language; combinational logic design; and sequential logic design. An interactive logic simulation environment will be provided for assignments. Assembly language programming is introduced.
Team Pi Productions
Instructor: Susan Clements-Vivian
The social and psychological effects of technological developments on contemporary art and design practices are explored. An introduction to basic semiotic and design terminology provides a foundation for discussing the cultural role of visual communications. Conceptual and structural frameworks for developing non-linear narratives are considered and implemented through basic digital video production and editing techniques. The role of network structures in shaping art and design practices are examined and developed in relation to interface design and web-based software applications.
CMPT 120 Introduction to Computing Science and Programming I|
Instructor: Toby DonaldsonIAT 100 Systems of Media Representation
An elementary introduction to computing science and computer programming, suitable for students with little or no programming background. Students will learn fundamental concepts and terminology of computing science, acquire elementary skills for programming in a high-level language and be exposed to diverse fields within, and applications of computing science. Topics will include: pseudocode, data types and control structures, fundamental algorithms, computability and complexity, computer architecture, and history of computing science. Treatment is informal and programming is presented as a problem-solving tool.
Instructor: James PhillipsMACM 101 Discrete Mathematics I
Systems of two dimensional, three dimensional and interactive visual representation are surveyed as they apply to both physical and digital media. Classical notions of 2D mark making and 3D linear perspective are introduced along with contemporary alternatives with digital media. Topics in interactivity include narrative concepts, color and composition as meaning, and modes of perception and reception. The course culminates with the development of an interactive time-based group project centered on multimedia, user interactions and medium of delivery.
Instructor: Kay WieseMATH 151 Calculus I
Introduction to counting, induction, automata theory, formal reasoning, modular arithmetic.
Instructor: Daniel KadonoffTECH 100 Fundamentals of Teamwork and Communication I
Basic calculus for those entering into the sciences.
Instructor: Chantal Gibson
Foundational skills in effective communication, team dynamics and information research are introduced and developed as needed in both virtual and face-to-face environments.