TBD.
TBD.
TBD.
This class provides an introduction to key Internet, web, and multimedia technologies, as well as familiarity with the Macintosh computer platform. Topics covered include computer-mediated communication, basic Internet applications such as Telnet, FTP, and the WWW, basic digital image, audio, and video techniques, and web page development and publishing. Prerequisites: 4002-206 or computer literacy. Credits: 4.
This course introduces an event-driven scripting environment to enable the development of highly interactive user experiences. Students will learn to manage and edit a wide variety of digital media types—still and motion graphics, 3D, text, audio, and video, for example—and write code to allow users to access, control, and manipulate each of these media types. Students will gain foundation skills in media asset creation and in prototyping for applications and interface development. Programming will be required. Prerequisites: 4002-320 and either 4002-218, 4003-232, or equivalent introductory programming experience. Credits: 4.
This course will teach students how to determine what computer and network equipment is appropriate for use in a home or small office network. Students will learn the basic configurations for a home/small office network and explore in a lab environment the different hardware and software tools and configurations required to establish a personal local area network. Credits: 4.
A presentation of the data modeling process and database implementation fundamentals. Data modeling, fundamental relational concepts, the process of normalization, relational algebra, SQL, and guidelines for mapping a data model into a relational database will be covered. Students will model a multimedia or text-only information problem and implement it with a commercially available database package. Prerequisites: 4002-218 or equivalent as well as 1016-206. Credits: 4.
Human Computer Interaction (HCI) is a multidisciplinary field of study concerned with how humans interact with software and hardware interfaces. This course will focus on theories of human information processing, human behavior and their implications for user-centered design of interfaces. Topics include: HCI history, cognitive psychology, user analysis, task analysis, and requirements analysis in the usability engineering process. Prerequisites: Second-year standing. Credits: 4.
This course covers the basics of C++ development in the Windows environment. Topics covered include the use of an integrated development environment, basic C++ syntax, pointers, and Windows specific programming techniques. Emphasis is placed on the development of problem-solving skills. Large programming assignments are required. Prior programming experience is required. Prerequisite: 4002-219 or 4002-414 or 4003-233. Credits: 4.
This course addresses the history of video games as well as the analysis of games as a medium. Topics include the identification and assessment of types and genres within video games as well as how content shapes and is shaped by play in an interactive medium. Activities will include the creation of design documents and the development of playable prototypes. Some projects may require working in groups. Prerequisite: 4002-330 or 4002-231. Credits: 4.
This course builds upon design documents and game assets created in the prerequisite course. The course focuses upon the creation and development of an industry-standard design document and playable levels in a game prototype. Key concepts in game design and development such as game world design, level design, level balancing, and game character development will be addressed. In addition, this course explores issues involving the development of online game communities. Some projects may require working in groups. Prerequisite: 4002-380. Credits: 4.
Scripting is a major tool for digital media development. In this course, students will write programs starting from simple navigational scripts and evolving toward interactive object-oriented solutions to problems from domains such as simulation, gaming, instruction and artificial life. Students will build data structures, lists and implement classes to navigate through screens, implement interfaces and control media. Some projects may require working in groups. The class or instructor may create low-level routines and classes which will be used by students to complete programs of their own design. Prerequisites: 4002-330 or 4002-231. Credits: 4.
This course builds on the basic aspects of HTML and multimedia programming that are presented in 4002-320 and 4002-330. An overview of web design concepts, including usability, accessibility, information design, and graphic design in the context of the web will be covered. Introduction to web site technologies, including cascading Style sheets and DHTML will also be explored. Prerequisites: 4002-320, 4002-330 and two-course programming sequence. Credits: 4.
This course focuses upon the application of data structures, algorithms, and fundamental Newtonian physics to the development of video game applications and entertainment software titles. Topics covered include trigonometric functions in game systems, 2D coordinate systems, 3D coordinate systems, geometric primitives, geometric tests, vectors, matrices, principles of transformation, and inclusion tests. In addition, traditional data structures and manipulation techniques will be applied to the context of game and entertainment software. Furthermore, Newtonian principles such as speed, acceleration, force, work, momentum, and motion will be examined in the context of developing game and entertainment software. Programming assignments are a required part of this course. Prerequisites: (4003-233, 4002-219, or 4002-414), (4002-330 or 4002-231), 1016-206, and 1017-211. Credits: 4.
This course continues the investigation into the application of data structures, algorithms, and fundamental Newtonian physics required for the development of video game applications and entertainment software titles. Topics covered include techniques for 3D orientation, angular displacement, Euler angles, quaternion representations and operations, barycentric coordinates, classifiers, recursion, clipping, culling, and advanced partitioning techniques. In addition, advanced data structures such as trees and graphs will be investigated from the context of game application and entertainment software development. Furthermore, the course will examine advanced Newtonian principles used in games and simulations. Programming assignments are a requirement for this course. Prerequisites: 4002-387 and 4002-417. Credits: 4.
Description coming soon.
Description coming soon!
An orientation seminar taken by first-year students in information technology. Topics covered include a curriculum overview, co-op and career alternatives in information technology, and orientation to RIT and college life. Credits: 4. NOTE: A special section of this course will be offered for Game Design and Development students.
Use of an advanced graphics API to access hardware accelerated graphics. Discussion of scene graphs, optimizations, and integration with the API object structure. Advanced use of the API calls in production code, to construct environments capable of real-time performance. Prerequisites: 4002-434 or 4003-570. Credits: 4.
Use of a graphics API to access hardware accelerated graphics. Discussion of the API scene graph, 3D optimizations, and integration between the 2D graphics mode and a 3D immediate mode implementation. This course builds upon students’ previous work and extends it in the construction of a fully functional 3D engine, with library construction for game development. Prerequisites: 4002-501. Credits: 4.
A study of the hardware and software principles of computer graphics. Topics include an introduction to the basic concepts: 2-D transformations, viewing transformations, display file structure, geometric models, picture structure, interactive and noninteractive techniques, raster graphics fundamentals, 3-D fundamentals, graphics packages and graphics systems. Students will use and develop a graphics software system based on an accepted graphics standard. Programming projects are required. Prerequisites: Third-year standing in computer science. Credits: 4.
This course will investigate the theory of computer synthesis. Seminal computer graphics papers will be used to describe the various components of the image synthesis pipeline and explain, just as in photography, how the path of light in a virtual scene can be simulated and used to create photorealistic imagery. The course will emphasize the theory behind various rendering tools and libraries available for image synthesis. The student will put theory into practice via a programming assignments and a capstone project. Topics will include light and color, three-dimensional scene specification, camera models, surface materials and textures, rendering (local, ray tracing, radiosity), procedural shading and modeling, tone reproduction, and advanced rendering techniques. Prerequisites: 4003-570 or 4002-502. Credits: 4.
A recent trend in Computer Graphics is the use of specialized procedural programming languages to define the textures and material properties of objects in a virtual scene. Programs written in these languages, called "shaders", greatly enhance the flexibility of rendering systems that previously relied on static, predefined lighting and shading models. Animated films, such as those created by Pixar, use shaders to give the film their characteristic look and their visual beauty. Shader support is now starting to become common on commodity graphics hardware, thus making these stunning effects possible in real time applications.
The goal of this course is to introduce students to the architectures and mechanisms of procedural shading and to teach them how to use shaders effectively in creating stunning visual effects. The course will compare and contrast real time vs. non-real time shader architectures and students will gain expertise in both environments. The format of the course delivery will be part lecture, part studio style with weekly programming assignments based upon the techniques presented in class. Cg will be used for real-time shader programming and RenderMan will be used for non-real time shader development. Prerequisites: 4003-571 or 4002-502. Credits: 4.
A study of the syntax and semantics of a diverse set of high-level programming languages. The languages chosen are compared and contrasted in order to demonstrate general principles of programming language design. This course emphasizes the concepts underpinning modern languages rather than the mastery of particular language details. Programming projects will be required. Prerequisites: 4003-334, 1016-265. Credits: 4.
An introduction to the field of artificial intelligence, including both theory and applications. A programming language that allows effective symbolic manipulation is used to demonstrate the capabilities and limitations of the material presented in class. Topics include search strategies and their implementation, logic, networks, frames and scripts, productions, symbolic manipulation and list processing, problem-solving methods, expert systems, natural language understanding, and selections from vision, robotics, planning and learning. Programming assignments are an integral part of the course. Prerequisites: 4003-450. Credits: 4.
The course will focus on the development of interactive applications that use network connectivity to allow multiple users to interact with each other in real time and in a persistent virtual community. The course will integrate multiple technologies dealing with connectivity, database access, server-side logic and object-oriented programming environments. Important Human Computer Interaction (HCI) issues will be raised around design and processing of messages and the traffic patterns generated by multi-user messaging. Prerequisites: 4002-434 and third year standing. Credits: 4.
This course focuses upon the construction of time-based multimedia software that is data driven. Topics include the storage and retrieval of multimedia content such as text, image, audio, and video. In addition, the course will focus upon how media content can be managed both locally and remotely through flat files and database systems. The course emphasizes various server technologies and communication protocols that are appropriate to the delivery of data to multimedia applications. Furthermore, the course examines how to transform media types at various points along a data pathway in a variety of forms. Large-scale programming projects are required for this course. Prerequisites: (4002-231 or 4002-330), 4002-360, and 4002-539. Credits: 4
This course takes a look at computer animation from a programmer’s perspective. It will investigate the theory, algorithms and techniques for describing and programming motion for virtual 3D worlds. Approaches that will be explored include keyframing systems; kinematics, motion of articulated figures, procedural and behavioral systems, and the use of motion capture data. This course is a programming-oriented course with major deliverables including the implementation of techniques presented in lecture as well as a final project concentrating on an area of a student’s choice. Students enrolling in this course are expected to have proficiency in the use of at least one 3D API (e.g. OpenGL, DirectX, Java3D). Prerequisites: 4003-570 or 4002-501 or permission of instructor. Credits: 4.
This course delves into the use of artificial intelligence in interactive environments. These environments range from the entertaining nature of role-playing games to more serious military simulations. In all these environments, agents and groups of agents must interact in an intelligent manner. Topics will include advanced pathfinding algorithms, sensory systems, group tactical strategies, and learning algorithms. Projects are an inherent part of the course. Prerequisites: 4003-455 or permission of the instructor. Credits: 4.
Technologies and techniques for producing and manipulating digital audio and computer music are explored. Topics include digital representation of sound, synthesis techniques, digital audio recording and processing, MIDI and real-time performance issues, algorithmic composition, and application of digital audio to multimedia and Web production. Prerequisites: 4002-330 and 3rd year standing. Credits: 4.
As more of our communications are delivered on interactive, non-linear platforms, the information should be developed in ways that take advantage of these technologies. This course will focus on the creation of a variety of different hypermedia/multimedia documents designed, drafted and delivered in hard copy and/or digital form. Prerequisites: 4002-409. Credits: 4.
Students will configure, test, and establish client-server communication and server-server communication with single or multiple database servers. Students will configure and demonstrate successful communication between a database file server and multiple external clients. Similarities and differences among commercially available connectivity packages will be explored. Low-level data and file structures used in the implementation of databases and database indexing will be explored. Programming exercises are required. Prerequisites: 4002-360 and 4002-219 or 4002-318. Credits: 4.
The World Wide Web is no longer just linked, static HTML documents. Web pages can be generated dynamically and can interact with a user to modify pages on-the-fly, validate user inputs and entertain. This course is an overview of several forms of programming that are used in the creation of interactive and dynamic web content. This course provides a practical overview of programming in the context of the World Wide Web. It enables students to develop web pages and web sites that incorporate both client-side and server-side programming by installing and modifying existing scripts as well as writing new scripts. Prerequisites: 4002-409. Credits: 4.
Copyright © RIT Information Technology Department. All Rights Reserved | Disclaimer | Copyright Infringement
Questions or concerns? Send us feedback | Webmaster
Design by: Chris Cascioli & Andrew Phelps

