NOTE: IMGD majors may not earn a double major in IMGD Technology.
Program Educational Objectives
The educational objectives of the IMGD program are:
- To prepare students for technical and/or creative roles in the interactive media and game industries.
- To provide a solid base of IMGD-related technical and/or creative expertise, strong written and oral communication skills, and substantial experience in collaborating effectively in multidisciplinary teams.
- To cultivate an understanding of the social and ethical issues relevant to interactive media and games, together with a sense of personal responsibility and professionalism.
- To develop personal traits necessary for continuous career growth, including
- The ability to integrate theory and practice.
- The ability to think analytically and critically in order to define, analyze and solve technical and/or creative challenges.
- The ability to learn new skills in response to evolving technology and a dynamic professional environment.
Program Outcomes
The specific outcomes for the IMGD program are that all graduates will:
- Demonstrate practical skill and in-depth understanding of IMGD-related technologies, concepts, tools and aesthetics.
- Have a base of knowledge in computer science, mathematics and the natural/engineering sciences.
- Have a base of knowledge in IMGD-related design, audio, cultural narratives and visual arts.
- Be aware of social and philosophical issues pertaining to interactive media and games.
- Be able to creatively express and analyze artistic forms relative to IMGD.
- Communicate effectively orally, in writing, and in visual media.
- Successfully complete individual projects.
- Successfully complete a group project with students from other IMGD disciplines.
- Successfully complete team-based, full-term IMGD projects.
- Successfully complete a team-based, multi-term IMGD project.
Program Distribution Requirements for the Interactive Media and Game Design Major
Students may apply either IMGD 4200 or IMGD 5200, but not both.
Choose 1/3 unit from any course with an AE, AREN, BB, BCB, BME, CE, CH, CHE, CS (except CS 2022 or CS 3043/SS 3043), DS, ECE, ES, GE, MA, ME, PH or RBE prefix.
Building on a fundamental knowledge of data structures, data abstraction techniques, and mathematical tools, a number of examples of algorithm design and analysis — worst case and average case — will be developed. Topics include greedy algorithms, divide-and-conquer, dynamic programming, heuristics, and probabilistic algorithms. Problems will be drawn from areas such as sorting, graph theory, and string processing. The influence of the computational model on algorithm design will be discussed. Students will be expected to perform analysis on a variety of algorithms.
1/3This course provides a broad view of computer networks. The course exposes students to all seven layers of OSI Reference Model while providing an introduction into newer topics such as wireless networking and Internet traffic concerns. The objective is to focus on an understanding of fundamental concepts of modern computer network architecture from a design and performance perspective. Topics covered include physical layer considerations, network protocols, wide area networks, local area networks, wireless networks, switches and routing, congestion, Internet traffic, and network security. Students will be expected to do extensive systems/network programming and will be expected to make use of simulation and measurement tools to gain an appreciation of current network design and performance issues. This course is also highly recommended for RBE and IMGD majors.
1/3This course develops the skill of analyzing the behavior of algorithms. Topics include the analysis — with respect to average and worst case behavior — and correctness of algorithms for internal sorting, pattern matching on strings, graph algorithms, and methods such as recursion elimination, dynamic programming, and program profiling. Students will be expected to write and analyze programs. Undergraduate credit may not be earned both for this course and for CS 5084.
This course will be offered in academic years ending in odd numbers.
1/3This course introduces students to modern network security concepts, tools, and techniques. The course covers security threats, attacks, and mitigations at the operating-system and network levels (as opposed to the software level). Topics include authentication, authorization, confidentiality, integrity, anonymity, privacy, intrusion detection and response, and cryptographic applications. Students will become familiar with modern security protocols and tools. Assignments will involve security-testing software for uncovering vulnerabilities, network packet analyzers, and security applications to create secure network implementations. Assignments and projects will use a Linux base for implementation.
1/3Building on a fundamental knowledge of data structures, data abstraction techniques, and mathematical tools, a number of examples of algorithm design and analysis — worst case and average case — will be developed. Topics include greedy algorithms, divide-and-conquer, dynamic programming, heuristics, and probabilistic algorithms. Problems will be drawn from areas such as sorting, graph theory, and string processing. The influence of the computational model on algorithm design will be discussed. Students will be expected to perform analysis on a variety of algorithms.
1/3This course provides a broad view of computer networks. The course exposes students to all seven layers of OSI Reference Model while providing an introduction into newer topics such as wireless networking and Internet traffic concerns. The objective is to focus on an understanding of fundamental concepts of modern computer network architecture from a design and performance perspective. Topics covered include physical layer considerations, network protocols, wide area networks, local area networks, wireless networks, switches and routing, congestion, Internet traffic, and network security. Students will be expected to do extensive systems/network programming and will be expected to make use of simulation and measurement tools to gain an appreciation of current network design and performance issues. This course is also highly recommended for RBE and IMGD majors.
1/3This course develops the skill of analyzing the behavior of algorithms. Topics include the analysis — with respect to average and worst case behavior — and correctness of algorithms for internal sorting, pattern matching on strings, graph algorithms, and methods such as recursion elimination, dynamic programming, and program profiling. Students will be expected to write and analyze programs. Undergraduate credit may not be earned both for this course and for CS 5084.
This course will be offered in academic years ending in odd numbers.
1/3This course introduces students to modern network security concepts, tools, and techniques. The course covers security threats, attacks, and mitigations at the operating-system and network levels (as opposed to the software level). Topics include authentication, authorization, confidentiality, integrity, anonymity, privacy, intrusion detection and response, and cryptographic applications. Students will become familiar with modern security protocols and tools. Assignments will involve security-testing software for uncovering vulnerabilities, network packet analyzers, and security applications to create secure network implementations. Assignments and projects will use a Linux base for implementation.
1/3Building on a fundamental knowledge of data structures, data abstraction techniques, and mathematical tools, a number of examples of algorithm design and analysis — worst case and average case — will be developed. Topics include greedy algorithms, divide-and-conquer, dynamic programming, heuristics, and probabilistic algorithms. Problems will be drawn from areas such as sorting, graph theory, and string processing. The influence of the computational model on algorithm design will be discussed. Students will be expected to perform analysis on a variety of algorithms.
1/3This course provides a broad view of computer networks. The course exposes students to all seven layers of OSI Reference Model while providing an introduction into newer topics such as wireless networking and Internet traffic concerns. The objective is to focus on an understanding of fundamental concepts of modern computer network architecture from a design and performance perspective. Topics covered include physical layer considerations, network protocols, wide area networks, local area networks, wireless networks, switches and routing, congestion, Internet traffic, and network security. Students will be expected to do extensive systems/network programming and will be expected to make use of simulation and measurement tools to gain an appreciation of current network design and performance issues. This course is also highly recommended for RBE and IMGD majors.
1/3This course develops the skill of analyzing the behavior of algorithms. Topics include the analysis — with respect to average and worst case behavior — and correctness of algorithms for internal sorting, pattern matching on strings, graph algorithms, and methods such as recursion elimination, dynamic programming, and program profiling. Students will be expected to write and analyze programs. Undergraduate credit may not be earned both for this course and for CS 5084.
This course will be offered in academic years ending in odd numbers.
1/3This course introduces students to modern network security concepts, tools, and techniques. The course covers security threats, attacks, and mitigations at the operating-system and network levels (as opposed to the software level). Topics include authentication, authorization, confidentiality, integrity, anonymity, privacy, intrusion detection and response, and cryptographic applications. Students will become familiar with modern security protocols and tools. Assignments will involve security-testing software for uncovering vulnerabilities, network packet analyzers, and security applications to create secure network implementations. Assignments and projects will use a Linux base for implementation.
1/3