Courses

IMGD 203X. INTRODUCTION TO GAME AUDIO

IMGD 204X. CHARACTER RIGGING AND TECHNICAL ANIMATION

Character rigging and technical animation are very important and complex steps in the video game production pipeline. This course will focus on making production art functional in a video game environment. Students will learn the skills necessary to make their characters animatable and will obtain a thorough understanding of the different tasks that are associated with technical animation. In addition to contributing to the student?s base of artistic and technical knowledge, this course will provide students with the knowledge necessary to create art that will function in a video game environment. Topics covered include: creating complex character rigs, working with motion capture files, the generation of sprite-based animation and effects, and the implementation of particle effects for use in a game engine. Recommended background: IMGD/AR 2101 3D Modeling I, IMGD/AR 2201 The Art of Animation I

IMGD 300X. INTER-MEDIA ELECTRONIC ARTS

This course will introduce students to techniques and processes for the creation of real-time, interactive works of art. Students will learn to use electronic sensors and other tools for audio and video processing, as well as designing customized software interfaces to create interactive artworks that respond to users and their environment. The course will introduce students to the work of significant contemporary arts practitioners as well as their historical precedents, with a special emphasis on inter-media works that bridge visual art, music composition, and the performing arts. Topics may include electronic musical instruments and performance interfaces, VJing, electronically-augmented dance, controller hacking, wired clothing, networked collaboration and mobile media, and algorithmic and generative art. Recommended Background: AR 1101 (DIGITAL IMAGING AND COMPUTER ART), video production (IMGD 2005 MACHINIMA: FILM MAKING IN VIRTUAL ENVIRONMENTS), digital audio/music (MU 3611 COMPUTER TECHNIQUES IN MUSIC, MU 3612 COMPUTERS AND SYNTHESIZERS IN MUSIC, MU 3613 DIGITAL SOUND DESIGN, IMGD 203x INTRO TO GAME AUDIO), an introductory programming course (CS 1101 INTRO TO PROGRAM DESIGN, CS 1102 ACCELERATED INTRO TO PROGRAM DESIGN)

IMGD 302X. DIGITAL GAME DESIGN II

This team-oriented, project-based course will provide opportunities for students to deepen their experience and understanding of digital game design concepts through a combination of practical implementation, playtesting, in-class game critique and assigned readings. Students will prepare design treatments, develop hands-on expertise with one or more game engines, and keep a weekly journal of their reading and design experiences. A final project will test their creativity and demonstrate their practical mastery of game engine technology. Recommended background: IMGD 1000, Critical Studies of Interactive Media and Games IMGD 1001, The Game Development Process IMGD 202X, Digital Game Design

IMGD 303X. GAME AUDIO II

This course will establish crucial theory and skills needed to design state-of-the art digital audio for various applications in games, machinima, cinematics, podcasting, handheld devices, and more. Students will work individually and as teams to create, process, and deliver custom digital audio content for use in their assignments and projects, learning industry best practices. Topics include a review of analog and digital audio theory; audio file formats; recording principles; and more advanced postproduction skills in multi-track editing, mixing, dynamics, effects processing, and spatialization. Lab exercises include practical recording sessions (dialogue, field work, sound effects creation); loop-based music production; building and maintaining a custom sound effects library; multi-track postproduction; audio pipelines; and implementation using an interactive engine. Recommended background: IMGD 203X, Intro to Game Audio

IMGD 311X. 3D MODELING II

This course will build upon the skills learned in AR/IMGD 2201 with studies in life drawing/anatomy study and application towards completed character models. Students create high resolution sculpts for real time game environments and animation. Topics covered include character design as it applies to 3D modeling, creating realistic design sculpts and incorporating them into a game environment as well as the study of anatomy as it applies to organic modeling. Recommended Background: AR/IMGD 2101, AR 2202 (Figure Drawing)

IMGD 320X. THE ART OF ANIMATION II

This course builds upon the techniques learned in IMGD 2201/AR 2201 (The Art of Animation). Students animate a character and put it in an interactive game environment using existing models. Topics covered include animation principals such as timing, squash and stretch, animation pipelines and applying animation to a real time game setting. Recommended Background: IMGD 2005 and IMGD 2201/AR 2201

IMGD 1000. CRITICAL STUDIES OF INTERACTIVE MEDIA AND GAMES

Cat. I This course introduces non-technical studies of computer-based interactive media and games. The course develops a vocabulary for discussing games and other interactive media, and tools for analyzing them. Students are expected to provide written critiques using the critical approaches presented in the course. The games and other interactive media critiqued may be commercially available or under development.

IMGD 1001. THE GAME DEVELOPMENT PROCESS

Cat. I This course discusses the process of game development. It examines the roles of different participants in the development process and how the technical development and the artistic development proceed in tandem. Group work is emphasized, especially the importance of collaboration between technical and artistic efforts. Students are expected to participate in game development using appropriate game development tools.

IMGD 1002. STORYTELLING IN INTERACTIVE MEDIA AND GAMES

Cat. I This course explores different types of story within gaming and other interactive media. It delineates between linear, branching, and emergent storytelling, identifies hybrids, and finds new modes of making compelling narrative. A variety of games are discussed, including early text-based adventures, role-playing games, shooters, and strategy games. Students will construct characters situations, and narratives through game play and scripted cut scenes. Students will explore and use visual storytelling techniques.

IMGD 2000. SOCIAL ISSUES IN INTERACTIVE MEDIA AND GAMES

Cat. I This course provides students with a realistic assessment of the potential and problems related to interactive media and games, especially computer games, and their effects on society. Topics include individual and group behavior, diversity, human responsibility, ethical and legal issues, and intellectual property. The course examines the issues from various points of view, and discover the political, social, and economic agendas of the people or groups championing those points of view. Students will write papers, participate in discussions, and research related topics. Recommended background: IMGD 1000.

IMGD 2001. PHILOSOPHY AND ETHICS OF COMPUTER GAMES

This course introduces students to some of the political and ethical dimensions of the new entertainment modalities. Students will explore such issues as representation and power (e.g., gaming and disability, and race stereotyping in games), the phenomenology of virtual reality, capitalism and the commodification of leisure, gender and sexual violence, and cyberspace and democracy. Students will also develop critical tools for evaluating the ethical and social content of their own and others? games. In addition to writing several analytical papers on the critical theory of technology, students will be encouraged to work on game designs exploring philosophical or social themes. Recommended background: IMGD 1000.

IMGD 2005. MACHINIMA (FILM MAKING IN VIRTUAL ENVIRONMENTS)

Cat. I This course will address the cinemagraphic and narrative techniques involved with film making using video-game technology. Creation and development of characters, environments, and narrative structures will be explored. Using commercial game engines and audio/video editors, students will write, design, and produce complete animated movies. Industrial and artistic applications of this film making technique are discussed as well as how Machinima is contextualized in the history of film animation and visualization. Recommended background: IMGD 1002.

IMGD 2030. GAME AUDIO I

This course serves as an introduction to game audio, where the basics of audio theory and production are discussed along with practical applications for use in game development. Topics may include music, sound effects, dialogue, soundscape design, digital signal processing, basic audio engine principles, and the aesthetic vs. technical considerations in game audio production. Lab exercises may include an introduction to audio editing and mixing, dynamics and effects processing, creating and timing sound effects to character animations, mixing for cinematics, and audio integration using a 3D engine. Recommended background: IMGD 1000 and IMGD 1001. This course assumes no prior knowledge of audio production.

IMGD 2101. 3D MODELING I

Cat. I 3D modeling is concerned with how to render created forms in a virtual environment. This course covers 3D modeling applications in video game development, film production, product design and fine art. Topics may include creating and armature, modeling organic and hard surfaces and sculpting using traditional techniques applied to a 3D model. Students will create works suitable for presentation in professional quality portfolio. Recommended background: AR 1100 and AR 1101.

IMGD 2201. THE ART OF ANIMATION I

Cat. I This course examines the fundamentals of computer generated 2D and 3D modeling and animation as they apply to creating believable characters and environments. Students will learn skeletal animation and traditional polygonal animation, giving weight and personality to characters through movement, environmental lighting, and changing mood and emotion. Students will be expected to master the tools of 3D modeling and skinning, and scripting of behaviors. Recommended background: AR 1101.

IMGD 2500. DESIGN OF TABLETOP STRATEGY GAMES

The objective of the course is to teach students how to design board strategy games. The design principles are transferable to other types of games, such as computer games. Game quality issues such as rules unambiguity, depth, complexity, branching width, balance, and historical content are examined. Basic elements and types of game rules, such as map gridding, restricted play choices, resource limitations, and depths of game economics are discussed. Central to the course is the game design project: students design, playtest, and develop their own game. One two-hour laboratory a week covers play, and playtesting, and supports the game design project. Recommended background: IMGD 1000 .

IMGD 2700. DIGITAL PAINTING

This course covers painting techniques as applied to texturing a 3D asset or illustration/conceptual art. Topics include are color theory, study of form, lighting, applying traditional painting ideas to the digital format, character design, generation of ideas and a history of digital painting. Each class features a demonstration on the topic followed by individual critique and study. Students work towards a final project that may be suitable for an Art portfolio. Recommended Background: AR 1101 (Digital imaging and Computer Art); AR 2202 (Figure Drawing)

IMGD 2900. DIGITAL GAME DESIGN I

Cat. I Software engineering and art production are the means of digital game development, but the end is an experience. Game design is the process of creating, describing, implementing and iteratively refining that experience. This team-oriented, project-based course provides opportunities for students to develop hands-on expertise with digital game design through a combination of practical implementation, in-class critique and playtesting. A focus of the course is the functional expression of design through the use of game engine scripting. Students keep a weekly journal of their design experiences. A final exam tests their knowledge of design concepts and terminology. Recommended Background: IMGD 1000, IMGD 1001

IMGD 3000. TECHNICAL GAME DEVELOPMENT I

Cat. I This course teaches technical Computer Science aspects of game development, with the focus of the course on low-level programming of computer games. Topics include 2D and 3D game engines, simulation-type games, analog and digital controllers and other forms of tertiary input. Students will implement games or parts of games, including exploration of graphics, sound, and music as it affects game implementation. Recommended background: CS 2303.

IMGD 3030. GAME AUDIO II

Game Audio II serves as an intermediate level audio design course, where digital recording principles and techniques are studied along with their practical applications for use in game development. Students will also gain deeper insight into 2-D vs. 3-D audio propagation, as well as learn more complex techniques in digital editing, mixing, signal processing, mastering, and playback strategies. Lab exercises may include interactive dialogue scripting and recording; loop-based music production; custom sound effects creation and Foley design; and audio engine integration. A team project will be the creation of a comprehensive game sound effects library over the course of the term. Recommended background: Game Audio (IMGD 2030)

IMGD 3100. NOVEL INTERFACES FOR INTERACTIVE ENVIRONMENTS

This course focuses on the design and evaluation of novel user interfaces that provide greater input and output expressiveness than the keyboard, mouse, or game pad. The course covers the related applications of immersive gaming, teleoperated robotics, and mobile users. Input sensors, such as those providing motion, attitude, and pressure data, are used to explore novel input methods, and how they may be effectively used to design innovative experiences. Through a combination of lecture and hands-on work, students learn to build prototype systems and to critically evaluate different alternatives. Students are expected to program several alternative input/output systems as part of this course. Recommended Background: IMGD 1001, and either CS 2301 or CS 2303 .

IMGD 3101. 3D MODELING II

This course will build upon the skills learned in 3D MODELING with studies in life drawing/anatomy study and application towards completed character models. Students will create high resolution sculpts for real time game environments and animation. Topics covered will be character design as it applies to 3D MODELING, creating realistic design sculpts and incorporating them into a game environment as well as the study of anatomy as it applies to organic modeling. Recommended Background: AR 1101, IMGD/AR 2101, AR 2202.

IMGD 3200. INTERACTIVE ELECTRONIC ARTS

This course introduces students to techniques and processes for the creation of real-time, interactive works of art. Students learn to use electronic sensors and other tools for audio, graphics, and video processing, as well as design customized software interfaces to create interactive artworks that respond to users and their environment. The course also introduces students to the work of significant contemporary arts practitioners as well as their historical precedents, with a special emphasis on inter-media works that bridge visual art, music composition, and the performing arts. Topics may include electronic musical instruments and performance interfaces, computer vision, VJing, electronically-augmented dance, controller hacking, wired clothing, networked collaboration and mobile media, and algorithmic and generative art. Recommended Background: Animation (AR/IMGD 2101 or equivalent), and exposure to digital audio or music and introductory programming.

IMGD 3201. ANIMATION II

This course will build upon the techniques learned in IMGD 2201/AR 2201. Students will learn advanced animation techniques applied to lip syncing, facial movement, emotion communication, and body language. Topics covered may include character rigging, biped and quadruped animation, and animation pipelines. Students will create animated scenes for narrative video and/or real time game environments. Recommended Background: AR/IMGD 2201, AR/IMGD 2202. Suggested additional background: IMGD 2005.

IMGD 3500. ARTISTIC GAME DEVELOPMENT I

Cat. I This course focuses on the unique problems presented to the artist when working in game development. Students learn to work with 2D sprite-based art, including tiling and simple animation. They then explore 3D architecture, level design, texturing, and environmental animation. Students will use art to create compelling game experiences through environments by designing their own levels in both 2D and 3D games. Recommended background: IMGD/AR 2101 and IMGD/AR 2201.

IMGD 3700. CONCEPT ART AND CREATIVE ILLUSTRATION

This course covers drawing as it applies to concept art and illustration. The course begins with study of a human model and representational drawing. Following this, students work on drawing from the mind and applying the lessons learned from the figure drawing to creating concept art and illustration. Topics covered are shape recognition and recalling, inventing from the mind, creative starters, study of form and light, visual composition and developing a personal approach, working with individual strengths to create a compelling visual design. Students create a series of concept art exercises and apply these skills towards a personal project of their own. Recommended Background: AR 2202 (Figure Drawing); IMGD/AR 2700 (Digital Painting)

IMGD 3900. DIGITAL GAME DESIGN II

This project-based course will provide an opportunity for students to deepen their understanding of how digital games are conceived and realized through a combination of reflective design, practical implementation, playtesting and critique. Topics will include project scoping and documentation, game scripting, strategic instrumentation and analytics. A final project and presentation will demonstrate practical mastery of game design techniques. Recommended background: Students are expected to have knowledge of basic game design principles and practical experience with event-driven game scripting, at a proficiency level equivalent to completing IMGD 2900, Digital Game Design I.

IMGD 4000. TECHNICAL GAME DEVELOPMENT II

Cat. I This course focuses on the application of advanced Computer Science topics as they impact game development. Networking and distributed systems issues are addressed, including scalability and latency compensation techniques, for designing games for online multi-player environments. AI, graphics and physics techniques specific to game development are discussed. Students will implement games or parts of games that apply advanced Computer Science topics. Recommended background: IMGD 3000.

IMGD 4100. ARTIFICIAL INTELLIGENCE FOR INTERACTIVE MEDIA AND GAMES.

Algorithms and programming techniques from artificial intelligence (AI) are key contributors to the experience of modern computer games and interactive media, either by directly controlling a non-player character (NPC) or through more subtle manipulation of the environment. This course will focus on the practical AI programming techniques currently used in computer games for NPC navigation and decision-making, along with the design issues that arise when AI is applied in computer games, such as believability and real-time performance. The course will also briefly discuss future directions in applying AI to games and media. Students will be expected to complete significant software development projects using the studied techniques. Recommended background: object-oriented design concepts (CS 2102), algorithms (CS 2223), and knowledge of technical game development (IMGD 3000).

IMGD 4200. HISTORY AND FUTURE OF IMMERSIVE AND INTERACTIVE MEDIA

This course will familiarize students with the history of the development, deployment, commercialization, and evolution of immersive and active media. The lesson plan will cover a broad range of enabling technologies, such as geometric perspective drawing, pre-20th-century panoramic displays, photography and the stereoscope, sound recording and reproduction, motion pictures, radio and television, the planetarium, immersive and 3-dimensional cinema, and special attraction venues, with a particular focus on digital games. Current trends and future directions will also be considered. Students will attend seminars and lectures, read and discuss texts on media history and aesthetics, and write an original research paper. Midterm and final exams test students? knowledge and understanding of important events and developments. A student may not receive credit for both IMGD 4200 and IMGD 5200. Recommended background: IMGD 1000, EN 2211 and either IMGD 2000 or IMGD 2001. Students may not receive credit for both IMGD 4200 and IMGD 402X.

IMGD 4500. ARTISTIC GAME DEVELOPMENT II

Cat. I This course focuses on the integration and organization of the various artistic elements used in game development. The course examines user interaction, interface design, and existing paradigms in current games. Students will combine elements of level design, animation, music, sound, and writing to create an aesthetically appealing game. Recommended background: IMGD 1002, IMGD 3500, MU 1611.

IMGD 4600. SERIOUS GAMES

This course explores the application of the technologies and design principles of interactive media and game development beyond traditional entertainment. The purpose of such applications is typically to change people?s behaviors, knowledge and/or attitudes in diverse areas including health care, training, education, simulation, politics, marketing and art. Students read about, experiment with, compare and discuss examples, as well as the underlying philosophies and issues specific to this genre, such as domain analysis and rigorous evaluation. Students in groups also research a new application and produce a detailed design document and mock-up. Advanced programming skill is not required, but a background in game design is strongly recommended. Recommended background: IMGD 1001 and either IMGD 2000 or IMGD 2001. Students may not receive credit for both IMGD 4600 and IMGD 404X.

IMGD 4700. ADVANCED STORYTELLING: QUEST LOGIC AND LEVEL DESIGN

This course provides an in-depth examination of storytelling as it is currently done in 2D and 3D games through a study of quests and construction of gaming spaces. Level designers turn stories into games through building virtual spaces and populating them with non-player characters who have their own objectives. Cinematics are used to extend the narrative space. The course requires students to build multiple virtual spaces that have a history and a population with present needs. Students need to work out plotting through the logic of a quest, build several areas that supports that logic and create cinematics to extend their narrative space. Recommended background: IMGD 1002, or equivalent knowledge. Students may not receive credit for both IMGD 4700 and IMGD 403X.

IMGD 4900. DIGITAL GAME DESIGN STUDIO

This studio course will provide students an opportunity to collaborate on the creation of an original game project, with an emphasis on the importance of scoping and a thorough, well-documented design. Students will form project teams, create a team Web site, and design, implement and test their project using industry-standard tools and methods. Recommended background: IMGD 2900 (Digital Game Design I) Suggested background: IMGD 3000 (Technical Game Development I) or IMGD 3500 (Artistic Game Development I)

AR 120X. VIDEO PRODUCTION

This course will introduce students to concepts and techniques for live action digital filmmaking. Topics will include constructing a visual narrative, principles of cinematography, visual and audio editing, working with actors, and the stylistic elements of various genres of filmmaking. Note: students interested in this course are advised to consider Film Studies (HU 225X), which provides a complementary theoretical approach to the language of film. The courses may be taken in either order.

AR 130X. GRAPHIC DESIGN

This course introduces design principles and their application to create effective forms of graphic communication. The students will learn the fundamentals of visual communication and will work on projects to analyze, organize, and solve design problems. Topics may include: the design process; figure/ground; shape; dynamic balance; Gestalt principles; typography; layout and composition; color; production and presentation in digital formats.

AR 300X. INTER-MEDIA ELECTRONIC ARTS

This course will introduce students to techniques and processes for the creation of real-time, interactive works of art. Students will learn to use electronic sensors and other tools for audio and video processing, as well as designing customized software interfaces to create interactive artworks that respond to users and their environment. The course will introduce students to the work of significant contemporary arts practitioners as well as their historical precedents, with a special emphasis on inter-media works that bridge visual art, music composition, and the performing arts. Topics may include electronic musical instruments and performance interfaces, VJing, electronically-augmented dance, controller hacking, wired clothing, networked collaboration and mobile media, and algorithmic and generative art. Recommended Background: AR 1101 (DIGITAL IMAGING AND COMPUTER ART), video production (IMGD 2005 MACHINIMA: FILM MAKING IN VIRTUAL ENVIRONMENTS), digital audio/music (MU 3611 COMPUTER TECHNIQUES IN MUSIC, MU 3612 COMPUTERS AND SYNTHESIZERS IN MUSIC, MU 3613 DIGITAL SOUND DESIGN, IMGD 203x INTRO TO GAME AUDIO), an introductory programming course (CS 1101 INTRO TO PROGRAM DESIGN, CS 1102 ACCELERATED INTRO TO PROGRAM DESIGN)

AR 301X. 3D MODELING II

This course will build upon the skills learned in AR/IMGD 2201 with studies in life drawing/anatomy study and application towards completed character models. Students create high resolution sculpts for real time game environments and animation. Topics covered include character design as it applies to 3D modeling, creating realistic design sculpts and incorporating them into a game environment as well as the study of anatomy as it applies to organic modeling. Recommended Background: AR/IMGD 2101, AR 2202 (Figure Drawing)

AR 312X. 3D MODELING II

AR 320X. THE ART OF ANIMATION II

This course builds upon the techniques learned in IMGD 2201/AR 2201 (The Art of Animation). Students animate a character and put it in an interactive game environment using existing models. Topics covered include animation principals such as timing, squash and stretch, animation pipelines and applying animation to a real time game setting. Recommended Background: IMGD 2005 and IMGD 2201/AR 2201

AR 1100. ESSENTIALS OF ART

Cat. I This course provides an introduction to the basic principles of two and three-dimensional visual organization. The course focuses on graphic expression, idea development, and visual literacy. Students will be expected to master basic rendering skills, perspective drawing, concept art, and storyboarding through traditional and/or computer-based tools.

AR 1101. DIGITAL IMAGING AND COMPUTER ART

Cat. I This course focuses on the methods, procedures and techniques of creating and manipulating images through electronic and digital means. Students will develop an understanding of image alteration. Topics may include color theory, displays, modeling, shading, and visual perception. Recommended background: AR 1100.

AR 1111. INTRODUCTION TO ART HISTORY

Cat. I How do we understand a work of art? Through readings and the study of objects at the Worcester Art Museum, the student will survey the major developments in world art and be introduced to various critical perspectives in art history. Students will learn how art historians work with primary materials and formulate arguments. No previous knowledge of art is required. (Formerly HU 1014.)

AR 2101. 3D MODELING I

Cat. I 3D modeling is concerned with how to render created forms in a virtual environment. This course covers 3D modeling applications in video game development, film production, product design and fine art. Topics may include creating and armature, modeling organic and hard surfaces and sculpting using traditional techniques applied to a 3D model. Students will create works suitable for presentation in professional quality portfolio. Recommended background: AR 1100 and AR 1101.

AR 2111. MODERN ART

Cat. I The successive phases of modern art, especially painting, are examined in light of the late-19th-century break with the 600-year old tradition of representation. Topics covered include: non-objective art and abstraction?theory and practice, primitivism in modern art, surrealism and the irrational, the impact of photography on modern painting, cubism and collage, regionalism and abstract expressionism as American art forms, Pop art and popular culture, and the problem of concept versus representation in art. (Formerly AR 2300.)

AR 2114. MODERN ARCHITECTURE IN THE AMERICAN ERA, 1750-2001 AND BEYOND

Cat. I This course studies, in a non-technical way, America?s buildings and places, in the context of world architecture in modern times. The history of American architecture was shaped by the forces that shaped America, from its political emergence in the eighteenth century to the post-9/11 era. These forces include dreams of social and spiritual perfection; a tight and conflicted relation with nature; and the rise and spread of industrial capitalism. The same forces created the Modern Movement in architecture. How are modernism and American architecture interrelated? Illustrated lectures, films, and tours of Worcester architecture explore the question, while training students in the methods of architectural history and criticism. Students who have taken AR 2113, Topics in 19th- and 20th-Century Architecture, since the 2000-2001 academic year MAY NOT take AR 2114 for credit.

AR 2201. THE ART OF ANIMATION I

Cat. I This course examines the fundamentals of computer generated 2D and 3D modeling and animation as they apply to creating believable characters and environments. Students will learn skeletal animation and traditional polygonal animation, giving weight and personality to characters through movement, environmental lighting, and changing mood and emotion. Students will be expected to master the tools of 3D modeling and skinning, and scripting of behaviors. Recommended background: AR 1101.

AR 2202. FIGURE DRAWING

The focus of this course is in study of representational figure drawing. This course will cover drawing techniques, applied to study from a live model. Topics covered will be sight size measurement, study of form and light, copying from master drawings and applying these lessons to weekly sessions with a live model. Each class will feature a demonstration on the topic followed by individual critique and study. Recommended Background: AR1100

AR 2700. DIGITAL PAINTING

This course covers painting techniques as applied to texturing a 3D asset or illustration/conceptual art. Topics include are color theory, study of form, lighting, applying traditional painting ideas to the digital format, character design, generation of ideas and a history of digital painting. Each class features a demonstration on the topic followed by individual critique and study. Students work towards a final project that may be suitable for an Art portfolio. Recommended Background: AR 1101 (Digital imaging and Computer Art); AR 2202 (Figure Drawing)

AR 3101. 3D MODELING II

This course will build upon the skills learned in 3D MODELING with studies in life drawing/anatomy study and application towards completed character models. Students will create high resolution sculpts for real time game environments and animation. Topics covered will be character design as it applies to 3D MODELING, creating realistic design sculpts and incorporating them into a game environment as well as the study of anatomy as it applies to organic modeling. Recommended Background: AR 1101, IMGD/AR 2101, AR 2202.

AR 3112. MODERNISM, MASS CULTURE, AND THE AVANT-GARDE

Cat. I What is the role of art to be in the modern world? Can art be a vehicle for social change, or should art be a self-critical discipline that pursues primarily aesthetic ends? What is the relationship between art and mass culture? Using primary sources, this course focuses on some of the theorists and artistic trends since the mid-nineteenth century that have sought to resolve this dilemma. These include: Ruskin, Morris and the Arts and Crafts Movement; Art for Art?s Sake; the German Werkbund and the Bauhaus; American industrial design.

AR 3150. LIGHT, VISION AND UNDERSTANDING

By using material from the sciences and the humanities, this course examines the ways in which ideas of knowledge and of human nature have been fashioned. The specific topics include physical theories about light, biological and psychological theories of visual perception, and artistic theories and practices concerned with representation. The mixing of material from different academic disciplines is deliberate, and meant to counter the notion that human pursuits are ?naturally? arranged in the neat packages found in the modern university. The course draws upon the physical and social sciences, and the humanities, to examine how those fields relate to one another, and how they produce knowledge and self-knowledge. Cultural as well as disciplinary factors are assessed in this process. Light, Vision and Understanding is conducted as a seminar. The diverse collection of reading materials includes a number of primary texts in different fields. In addition, the students keep a journal in which they record the results of numerous individual observations and experiments concerning light and visual perception. The course can fit into several Humanities and Arts topic areas as well as serve as a starting point for an IQP. There are no specific requirements for this course, although some knowledge of college-level physics, as well an acquaintance with the visual arts, is helpful.

AR 3200. INTERACTIVE ELECTRONIC ARTS

This course introduces students to techniques and processes for the creation of real-time, interactive works of art. Students learn to use electronic sensors and other tools for audio, graphics, and video processing, as well as design customized software interfaces to create interactive artworks that respond to users and their environment. The course also introduces students to the work of significant contemporary arts practitioners as well as their historical precedents, with a special emphasis on inter-media works that bridge visual art, music composition, and the performing arts. Topics may include electronic musical instruments and performance interfaces, computer vision, VJing, electronically-augmented dance, controller hacking, wired clothing, networked collaboration and mobile media, and algorithmic and generative art. Recommended Background: Animation (AR/IMGD 2101 or equivalent), and exposure to digital audio or music and introductory programming.

AR 3201. ANIMATION II

This course will build upon the techniques learned in IMGD 2201/AR 2201. Students will learn advanced animation techniques applied to lip syncing, facial movement, emotion communication, and body language. Topics covered may include character rigging, biped and quadruped animation, and animation pipelines. Students will create animated scenes for narrative video and/or real time game environments. Recommended Background: AR/IMGD 2201, AR/IMGD 2202. Suggested additional background: IMGD 2005.

AR 3700. CONCEPT ART AND CREATIVE ILLUSTRATION

This course covers drawing as it applies to concept art and illustration. The course begins with study of a human model and representational drawing. Following this, students work on drawing from the mind and applying the lessons learned from the figure drawing to creating concept art and illustration. Topics covered are shape recognition and recalling, inventing from the mind, creative starters, study of form and light, visual composition and developing a personal approach, working with individual strengths to create a compelling visual design. Students create a series of concept art exercises and apply these skills towards a personal project of their own. Recommended Background: AR 2202 (Figure Drawing); IMGD/AR 2700 (Digital Painting)

CS 110X. INTRODUCTION TO PROGRAMMING FOR NON-MAJORS

This course introduces students to the fundamental principles of programming in imperative and scripting languages. Topics include control structures, iterators, functional decomposition, basic data structures (such as records). Students will be expected to implement, test and debug programs. Through the use of compelling applications and lab exercises, students will learn how to interface with external data systems and control devices. Recommended background: none.

CS 220X. APPLICATION BUILDING WITH OBJECT-ORIENTED CONCEPTS

This course introduces students to an object-oriented model of programming, with an emphasis on the programming approaches useful in creating software applications. Students will be expected to design, implement, and debug object-oriented programs. Topics include inheritance, user interfaces, and database access. This course is for non-CS majors with prior programming experience and an interest in building software applications. Recommended background: CS 110x or CS 1101/1102. Students may not receive undergraduate credit for CS 220x after receiving credit for either CS 2102 or CS 2118.

CS 403X. MOBILE AND UBIQUITOUS COMPUTING

The goal of this course is to expose participants to fundamental concepts and state-of-the-art computer science literature in mobile and ubiquitous computing. Topics to be covered include mobile systems issues, human activity and emotion sensing, location sensing, mobile HCI, mobile social networking, mobile health, power saving techniques, energy and mobile performance measurement studies and mobile security. The course will introduce the programming of mobile devices such as smartphones running the Android operating system. Weekly projects, presentations and a term project will be assigned. Recommended background: The course will assume knowledge of the following material: ? Object-oriented concepts including classes, inheritance, exceptions, interfaces, polymorphism, proficiency in the Java programming language or a course equivalent to CS 2102 (object-oriented design concepts) ? Processes, threads, process management, synchronization, input/output devices, interrupts, memory management, file systems or a course equivalent to CS 3013 (operating systems) ? OSI reference seven-layer stack, wireless networking, Internetworking, network protocols, socket programming or a course equivalent to CS 3516 (computer networks)

CS 1004. INTRODUCTION TO PROGRAMMING FOR NON-MAJORS

This course introduces students to the fundamental principles of programming in imperative and scripting languages. Topics include control structures, iterators, functional decomposition, basic data structures (such as records). Students will be expected to implement, test and debug programs. Through the use of compelling applications and lab exercises, students will learn how to interface with external data systems and control devices. Recommended background: none. All Computer Science students and other students wishing to prepare for 3000-level courses in Computer Science should take CS 1101/1102 instead of CS 1004. This course provides sufficient background for CS 2301 Systems Programming for Non-Majors.

CS 1101. INTRODUCTION TO PROGRAM DESIGN

Cat. I This course introduces principles of computation and programming with an emphasis on program design. Topics include design and implementation of programs that use a variety of data structures (such as records, lists, and trees), functions, conditionals, and recursion. Students will be expected to design, implement, and debug programs in a functional programming language. Recommended background: none. Either CS 1101 or CS 1102 provide sufficient background for further courses in the CS department. Undergraduate credit may not be earned for both this course and CS 1102. Undergraduate credit may not be earned both for this course and for CS 2135.

CS 1102. ACCELERATED INTRODUCTION TO PROGRAM DESIGN

Cat. I This course provides an accelerated introduction to design and implementation of functional programs. The course presents the material from CS 1101 at a fast pace (so students can migrate their programming experience to functional languages), then covers several advanced topics in functional programming (potential topics include macros, lazy programming with streams, and programming with higher-order functions). Students will be expected to design, implement, and debug programs in a functional programming language. Recommended background: prior programming background covering lists, trees, functions, and recursion. Undergraduate credit may not be earned for both this course and CS 1101. Undergraduate credit may not be earned both for this course and for CS 2135.

CS 2011. INTRODUCTION TO MACHINE ORGANIZATION AND ASSEMBLY LANGUAGE

Cat. I This course introduces students to the structure and behavior of modern digital computers and the way they execute programs. Machine organization topics include the Von Neumann model of execution, functional organization of computer hardware, the memory hierarchy, caching performance, and pipelining. Assembly language topics include representations of numbers in computers, basic instruction sets, addressing modes, stacks and procedures, low-level I/O, and the functions of compilers, assemblers, linkers, and loaders. The course also presents how code and data structures of higher-level languages are mapped into the assembly language and machine representations of a modern processor. Programming projects will be carried out in the C language and the assembly language of a modern processor. Recommended background: CS 2301 or CS 2303, or a significant knowledge of C/C++.

CS 2022. DISCRETE MATHEMATICS

Cat. I This course serves as an introduction to some of the more important concepts, techniques, and structures of discrete mathematics, providing a bridge between computer science and mathematics. Topics include functions and relations, sets, countability, groups, graphs, propositional and predicate calculus, and permutations and combinations. Students will be expected to develop simple proofs for problems drawn primarily from computer science and applied mathematics. Undergraduate credit may not be earned both for this course and for CS 501. Recommended background: none.

CS 2102. OBJECT-ORIENTED DESIGN CONCEPTS

Cat. I This course introduces students to an object-oriented model of programming. Building from the design methodology covered in CS 1101/CS 1102, this course shows how programs can be decomposed into classes and objects. By emphasizing design, this course shows how to implement small defect-free programs and evaluate design decisions to select an optimal design under specific assumptions. Topics include inheritance, exceptions, interface, design by contract, basic design patterns, and reuse. Students will be expected to design, implement, and debug object-oriented programs composed of multiple classes and over a variety of data structures. Recommended background: CS 1101 or CS 1102. Undergraduate credit may not be earned both for this course and for CS 2136.

CS 2118. OBJECT-ORIENTED DESIGN CONCEPTS FOR BUSINESS APPLICATIONS

Cat. I This course introduces students to an object-oriented model of programming, with an emphasis on the programming approaches useful in creating business applications. Building from the design methodology covered in CS 1101/ CS 1102, this course shows how programs can be decomposed into classes and objects. Students will be expected to design, implement, and debug objectoriented programs in Visual Basic. Topics include inheritance, building user interfaces, and database access. This course is primarily for non-CS majors with prior program design experience and an interest in building business applications. Recommended background: CS 1101 or CS 1102. Students may receive credit for only one of the following: MG 2720, MIS 2720, CS 2136, or CS 2118.

CS 2223. ALGORITHMS

Cat. I 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. Undergraduate credit may not be earned both for this course and for CS 507. Recommended background: CS 2102 and CS 2022.

CS 2301. SYSTEMS PROGRAMMING FOR NON-MAJORS

This course introduces the C programming language and system programming concepts to non-CS majors who need to program computers in their own fields. The course assumes that students have had previous programming experience. It quickly introduces the major concepts of the C language and covers manual memory management, pointers and basic data structures, the machine stack, and input/output mechanisms. Students will be expected to design, implement, and debug programs in C. Recommended background: CS 1004 or CS 1101/1102 or previous experience programming a computer. All Computer Science students and other students wishing to prepare for upper-level courses in Computer Science should take CS 2303 instead of CS 2301. Students who have credit for CS 2303 may not receive subsequent credit for CS 2301.

CS 2303. SYSTEMS PROGRAMMING CONCEPTS

Cat. I This course introduces students to a model of programming where the programming language exposes details of how the hardware stores and executes software. Building from the design concepts covered in CS 2102, this course covers manual memory management, pointers, the machine stack, and input/ output mechanisms. The course will involve large-scale programming exercises and will be designed to help students confront issues of safe programming with system-level constructs. The course will cover several tools that assist programmers in these tasks. Students will be expected to design, implement, and debug programs in C++ and C. The course presents the material from CS 2301 at a fast pace and also includes C++ and other advanced topics. Recommended background: CS 2102 and/or substantial object-oriented programming experience.

CS 3013. OPERATING SYSTEMS

Cat. I This course provides the student with an understanding of the basic components of a general-purpose operating system. Topics include processes, process management, synchronization, input/output devices and their programming, interrupts, memory management, resource allocation, and an introduction to file systems. Students will be expected to design and implement a large piece of system software in the C programming language. Undergraduate credit may not be earned both for this course and for CS 502. Recommended background: CS 2303 or CS 2301, and CS 2011.

CS 3041. HUMAN-COMPUTER INTERACTION

Cat. I This course develops in the student an understanding of the nature and importance of problems concerning the efficiency and effectiveness of human interaction with computer-based systems. Topics include the design and evaluation of interactive computer systems, basic psychological considerations of interaction, interactive language design, interactive hardware design, and special input/output techniques. Students will be expected to complete several projects. A project might be a software evaluation, interface development, or an experiment. Recommended background: CS 2102 or CS 2118.

CS 3043. SOCIAL IMPLICATIONS OF INFORMATION PROCESSING

Cat. I This course makes the student aware of the social, moral, ethical, and philosophical impact of computers and computer-based systems on society, both now and in the future. Topics include major computer-based applications and their impact, humanmachine relationships, and the major problems of controlling the use of computers. Students will be expected to contribute to classroom discussions and to complete a number of significant writing assignments. This course is recommended for juniors and seniors. Undergraduate credit may not be earned both for this course and for CS 505. Recommended background: a general knowledge of computers and computer systems.

CS 3133. FOUNDATIONS OF COMPUTER SCIENCE

Cat. I This course introduces the theoretical foundations of computer science. These form the basis for a more complete understanding of the proficiency in computer science. Topics include computational models, formal languages, and an introduction to compatibility and complexity theory, including NP-completeness. Students will be expected to complete a variety of exercises and proofs. Undergraduate credit may not be earned both for this course and for CS 503. Recommended Background: CS 2022 and CS 2223. Students who have credit for CS 4121 cannot receive credit for CS 3133.

CS 3431. DATABASE SYSTEMS I

Cat. I This course introduces the student to the design, use, and application of database management systems. Topics include the relational data model, relational query languages, design theory, and conceptual data design and modeling for relational database design. Techniques that provide for data independence, and minimal redundancy will be discussed. Students will be expected to design and implement database system applications. Undergraduate credit may not be earned both for this course and for CS 4431 or CS 542. Recommended background: CS 2022 and either CS 2102 or CS 2118.

CS 3516. COMPUTER NETWORKS

Cat. I This 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. Recommended background: CS 2301 or CS 2303, or a significant knowledge of C/C++.

CS 3733. SOFTWARE ENGINEERING

Cat. I This course introduces the fundamental principles of software engineering. Modern software development techniques and life cycles are emphasized. Topics include requirements analysis and specification, analysis and design, architecture, implementation, testing and quality, configuration management, and project management. Students will be expected to complete a project that employs techniques from the topics studied. This course should be taken before any course requiring a large programming project. Undergraduate credit may not be earned both for this course and for CS 509. Recommended background: CS 2102.

CS 4032. NUMERICAL METHODS FOR LINEAR AND NONLINEAR SYSTEMS

Cat. I This course provides an introduction to modern computational methods for linear and nonlinear equations and systems and their applications. Topics covered include: solution of nonlinear scalar equations, direct and iterative algorithms for the solution of systems of linear equations, solution of nonlinear systems, the eigenvalue problem for matrices. Error analysis will be emphasized throughout. Recommended background: MA 2071. An ability to write computer programs in a scientific language is assumed.

CS 4033. NUMERICAL METHODS FOR CALCULUS AND DIFFERENTIAL EQUATIONS

Cat. I This course provides an introduction to modern computational methods for differential and integral calculus and differental equations. Topics covered include: interpolation and polynomial approximation, approximation theory, numerical differentiation and integration, numerical solutions of ordinary differential equations. Error analysis will be emphasized throughout. Recommended background: MA 2051. An ability to write computer programs in a scientific language is assumed. Undergraduate credit may not be earned for both this course and for MA 3255/CS 4031.

CS 4100. ARTIFICIAL INTELLIGENCE FOR INTERACTIVE MEDIA AND GAMES

Algorithms and programming techniques from artificial intelligence (AI) are key contributors to the experience of modern computer games and interactive media, either by directly controlling a non-player character (NPC) or through more subtle manipulation of the environment. This course will focus on the practical AI programming techniques currently used in computer games for NPC navigation and decision-making, along with the design issues that arise when AI is applied in computer games, such as believability and real-time performance. The course will also briefly discuss future directions in applying AI to games and media. Students will be expected to complete significant software development projects using the studied techniques. Recommended background: object-oriented design concepts (CS 2102), algorithms (CS 2223), and knowledge of technical game development (IMGD 3000).

CS 4120. ANALYSIS OF ALGORITHMS

This 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 504. Recommended background: CS 2223 and some knowledge of probability.

CS 4123. THEORY OF COMPUTATION

Building on the theoretical foundations from CS 3133, this course addresses the fundamental question of what it means to be ?computable,? including different characterization of computable sets and functions. Topics include the halting program, the Church-Turing thesis, primitive recursive functions, recursive sets, recursively enumerable sets, NP-completeness, and reducibilities. Students will be expected to complete a variety of exercises and proofs. Recommended Background: CS 3133.

CS 4233. OBJECT-ORIENTED ANALYSIS AND DESIGN

This Software Engineering course will focus on the process of Object-Oriented Analysis and Design. Students will be expected to complete a large number of exercises in Domain Modeling, Use Case Analysis, and Object-Oriented Design. In addition, the course will investigate Design Patterns, which are elements of reusable object-oriented software designs. This course will survey a set of design patterns and consider how these patterns are described and used to solve design problems. Recommended Background: CS 2303 and CS 3733.

CS 4241. WEBWARE: COMPUTATIONAL TECHNOLOGY FOR NETWORK INFORMATION SYSTEMS

Cat. I This course explores the computational aspects of network information systems as embodied by the World Wide Web (WWW). Topics include: languages for document design, programming languages for executable content, scripting languages, design of WWW based human/computer interfaces, client/server network architecture models, high level network protocols (e.g., http), WWW network resource discovery and network security issues. Students in this course will be expected to complete a substantial software project (e.g., Java based user interface, HTML/CGI based information system, WWW search mechanisms). Recommended background: CS 2102 and CS 3013.

CS 4341. INTRODUCTION TO ARTIFICIAL INTELLIGENCE

Cat. I This course studies the problem of making computers act in ways which we call ?intelligent?. Topics include major theories, tools and applications of artificial intelligence, aspects of knowledge representation, searching and planning, and natural language understanding. Students will be expected to complete projects which express problems that require search in state spaces, and to propose appropriate methods for solving the problems. Undergraduate credit may not be earned both for this course and for CS 534. Recommended background: CS 2102, CS 2223, and CS 3133.

CS 4401. SOFTWARE SECURITY ENGINEERING

Cat. I This course provides an introduction to the pitfalls and practices of building secure software applications. Topics will include threat modeling, secure software development, defensive programming, web security and the interaction between security and usability. The course focuses on the application level with minor attention to operating-system level security; network-level security is not covered. Assignments involve designing and implementing secure software, evaluating designs and systems for security-related flaws, and presentations on security issues or tools. All students will be required to sign a pledge of responsible conduct at the start of the course. Recommended Background: CS3013 and CS3733. The course assumes nontrivial experience with C and Unix, familiarity with operating systems, filesystems, and databases, and experience with technologies for building web applications (from CS4241 or personal experience).

CS 4404. TOOLS & TECHN - COMPTR NTW SEC

This 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 using securitytesting software to uncover vulnerabilities, network packet analyzers, and existing security applications to create secure network implementations. The course requires enough programming and systems background to understand attacks and use systems tools, but does not involve significant programming projects. Assignments and projects will use a Linux base for implementation. Students who have credit for CS 558 may not earn subsequent credit for this course. Recommended Background: Knowledge of operating systems (CS3013 or equivalent) and computer networks (CS3516 or equivalent). Familiarity with Linux or Unix is essential.

CS 4432. DATABASE SYSTEMS II

This course concentrates on the study of the internals of database management systems. Topics include: principles and theories of physical storage management, advanced query languages, query processing and optimization, index structures for relational databases, transaction processing, concurrency control, distributed databases, and database recovery, security, client server and transaction processing systems. Students may be expected to design and implement software components that make up modern database systems. Undergraduate credit may not be earned both for this course and CS 542. Recommended background: CS 3431 and CS 3733.

CS 4445. DATA MINING AND KNOWLEDGE DISCOVERY IN DATABASES

This course provides an introduction to Knowledge Discovery in Databases (KDD) and Data Mining. KDD deals with data integration techniques and with the discovery, interpretation and visualization of patterns in large collections of data. Topics covered in this course include data warehousing and mediation techniques; data mining methods such as rule-based learning, decision trees, association rules and sequence mining; and data visualization. The work discussed originates in the fields of artificial intelligence, machine learning, statistical data analysis, data visualization, databases, and information retrieval. Several scientific and industrial applications of KDD will be studied. Recommended background: MA 2611, CS 2223, and CS 3431, or CS 3733.

CS 4513. DISTRIBUTED COMPUTING SYSTEMS

This course extends the study of the design and implementation of operating systems begun in CS 3013 to distributed and advanced computer systems. Topics include principles and theories of resource allocation, file systems, protection schemes, and performance evaluation as they relate to distributed and advanced computer systems. Students may be expected to design and implement programs that emphasize the concepts of file systems and distributed computing systems using current tools and languages. Undergraduate credit may not be earned both for this course and for CS 502. Recommended background: CS 3013, CS 3516, and system programming experience.

CS 4515. COMPUTER ARCHITECTURE

This course explores the architectural design of modern computer systems in terms of instruction sets and the organization of processors, controllers, memories, devices, and communication links. Topics include an overview of computer architectures and system components, theoretical foundations, instruction-level and thread-level pipelining, multifunction pipelines, multi-core systems, caching and memory hierarchies, and multi-core and parallel computer organization. Students may be expected to design and implement programs that simulate significant components of modern computer architectures. Recommended background: CS 2011 or ECE 2801, and CS 3013.

CS 4516. ADVANCED COMPUTER NETWORKS

This course provides an in-depth look into computer networks. While repeating some of the areas from CS 3516, the goal is to go deeper into computer networks topics. This in-depth treatment in topics such as routing, congestion control, wireless layer protocols and physical signaling considerations will require the use of basic queuing theory and probability to provide a more formal treatment of computer networks performance. Other topics covered include: LAN and WLAN technologies, mobile wireless networks, sensor networks, optical networks, network security, intrusion detection and network management. Students will be expected to do more sophisticated network programming than seen in CS 3516 and will conduct laboratory activities involving measuring the performance of modern networking applications running on both wired networks and infrastructure wireless networks. Undergraduate credit may not be earned both for this course and for CS 513. Recommended background: CS 3013, CS 3516, and knowledge of probability. The course assumes a familiarity with operating systems including Unix or Linux, and significant experience with C/C++.

CS 4533. TECHNIQUES OF PROGRAMMING LANGUAGE TRANSLATION

This course studies the compiling process for high-level languages. Topics include lexical analysis, syntax analysis, semantic analysis, symbol tables, intermediate languages, optimization, code generation and run-time systems. Students will be expected to use compiler tools to implement the front end, and to write a program to implement the back end, of a compiler for a recursive programming language. Undergraduate credit may not be earned for both this course and for CS 544. Recommended Background: CS 2102 and CS 3133.

CS 4536. PROGRAMMING LANGUAGES

This course covers the design and implementation of programming languages. Topics include data structures for representing programming languages, implementing control structures (such as functions, recursion, and exceptions), garbage collection, and type systems. Students will be expected to implement several small languages using a functional programming language. Recommended background: CS 2303, CS 3133, and experience programming in a functional language (as provided by CS 1101 or CS 1102). Undergraduate credit may not be earned for both this course and CS 536.

CS 4731. COMPUTER GRAPHICS

Cat. I This course studies the use of the computer to model and graphically render two- and three-dimensional structures. Topics include graphics devices and languages, 2- and 3-D object representations, and various aspects of rendering realistic images. Students will be expected to implement programs which span all stages of the 3-D graphics pipeline, including clipping, projection, arbitrary viewing, hidden surface removal and shading. Undergraduate credit may not be earned both for this course and for CS 543. Recommended background: CS 2223, CS 2303 and MA 2071.

CS 4732. COMPUTER ANIMATION

This course provides an in-depth examination of the algorithms, data structures, and techniques used in modeling and rendering dynamic scenes. Topics include animation hardware and software, parametric blending techniques, modeling physical and articulated objects, forward and inverse kinematics, key-frame, procedural, and behavioral animation, and free-form deformation. Students will be expected to develop programs to implement low-level animation algorithms as well as use commercial animation tools to design and produce small to moderate sized animations. Recommended background: CS 4731.

CS 4802. BIOVISUALIZATION

This course will use interactive visualization to model and analyze biological information, structures, and processes. Topics will include the fundamental principles, concepts, and techniques of visualization (both scientific and information visualization) and how visualization can be used to study bioinformatics data at the genomic, cellular, molecular, organism, and population levels. Students will be expected to write small to moderate programs to experiment with different visual mappings and data types. Recommended background: CS 2102, CS 2223, and one or more biology courses.

CS 4803. BIOLOGICAL AND BIOMEDICAL DATABASE MINING

This course will investigate computational techniques for discovering patterns in and across complex biological and biomedical sources including genomic and proteomic databases, clinical databases, digital libraries of scientific articles, and ontologies. Techniques covered will be drawn from several areas including sequence mining, statistical natural language processing and text mining, and data mining. Recommended Background: CS 2102, CS 2223, MA 2610 or MA 2611, and one or more biology courses.

 
  • Email a Friend
  • Bookmark this Page
  • Share this Page

IMGD Course Flow

Download the IMGD Course Flow Chart (pdf)