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 a 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.
Advanced software design and programming techniques from artificial intelligence are key contributors to the experience of modern computer games and virtual environments, either by directly controlling a non-player character or through more subtle manipulation of the environment. This course will cover the current state of the art in this area, as well as prepare students for the next generation of AI contributions. We will study the application of AI techniques such as search, planning, machine learning, emotion modeling and natural language processing, to game problems such as navigation, strategy, believability and narrative control. Students will implement several small AI demonstration games.
Recommended background: IMGD 4000.
Students may not receive credit for both IMGD 4100 and IMGD 400X
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.
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.
Students may not receive credit for both IMGD 4600 and IMGD 404X.
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.
Immersive environments are those which give the user the feeling of occupying a space different from their current physical space. They are created in the mind of the user by careful selection of sensory stimuli and support for natural interaction. This course focuses on the design and evaluation of user interfaces that support user immersion in several contexts, including desktop, head-mounted display, large-screen, and mobile situations. Through a combination of traditional lecture, literature review, and hands-on work, students will learn to critically evaluate different alternatives, build prototype systems, and design comparative evaluations to test the effectiveness of various techniques. Students will be expected to implement several techniques as part of this course.
(Prerequisites: A demonstrated proficiency to program. A course on traditional human-computer interaction is recommended.)
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 5200 and IMGD 4200.
(Prerequisites: An understanding of dominant themes and genres in video games)
This course will introduce students to the theories of design, the purpose of which is to guide students in articulating a design vision that can then be implemented in an interactive experience such as a computer game or an art installation. The design elements addressed in this course are as follows: narrative, visual, sound, spatial, challenges and objectives, and characters. This course also emphasizes the communicative strategies needed to sell other people on a design in order to enter production, convince investors, and engage users. Students will be required to design an environment that is populated in a meaningful way that is dependant on the purpose of their visions. They will provide mock-ups of this environment that they must present to their stakeholders - the professor and peers - and finally create prototypes that help them sell their design idea. Throughout the class, students will be writing their designs in professional genres, presenting their designs to the class (often called a pitch), and discuss the theories and practices of design during in-class meetings.
(Prerequisites: A course on game design, or equivalent work experience)
This course focuses on the process of creating a set of documents encompassing the design and vision of a piece of interactive media, methods for structuring the implementation of the design, and tools for successfully managing the project. Students will analyze different types of design documents, focusing on form and purpose while also considering audience and publication medium. Students will write design documents, give peer feedback, and revise their own documents based on feedback received. In order to see their design transform from document to product, students will study different project management methods and employ them, defining in detail discrete components, timelines, milestones, players and their responsibilities, and status reports to stakeholders. Tools common to managing interactive media projects (e.g., source-code revision control, asset management, scheduling) will be used throughout the process.
(Prerequisites: Experience working on development projects)
This course examines typical graphics systems, both hardware and software; design of low-level software support for raster displays; 3-D surface and solids modeling; hidden line and hidden surface algorithms; and realistic image rendering including shading, shadowing, reflection, refraction and surface texturing. (Prerequisites: familiarity with data structures, a recursive highlevel language and linear algebra. CS 509 would be helpful.)
This course presents fundamental concepts of digital image processing and an introduction to machine vision. Image processing topics will include visual perception, image formation, imaging geometric, image transform theory and applications, enhancement, restoration, encoding and compression. Machine vision topics will include feature extraction and representation, stereo vision, model-based recognition, motion and image flow, and pattern recognition. Students will be required to complete programming assignments in a high-level language. (Prerequisites; working knowledge of undergraduate level signal analysis and linear algebra; familiarity with probability theory is helpful but not necessary).
This course examines current issues in the computer implementation of visual perception. Topics include image formation, edge detection, segmentation, shape-from-shading, motion, stereo, texture analysis, pattern classification and object recognition. We will discuss various representations for visual information, including sketches and intrinsic images. (Prerequisites: CS 534, CS 543, CS 545, or the equivalent of one of these courses.)
This course examines one or more selected current issues in the area of image synthesis. Specific topics covered are dependent on the instructor. Potential topics include: scientific visualization, computational geometry, photo-realistic image rendering and computer animation. (Prerequisite: CS 543 or equivalent.) See the supplement section of the on-line catalog for descriptions of courses to be offered in this academic year.
This course introduces students to a methodology and specific design techniques for team-based development of a software system. Against the backdrop of the software engineering life-cycle, this course focuses on the object-oriented paradigm and its supporting processes and tools. Students will be exposed to industrial-accepted standards and tools, such as requirements elicitation, specification, modeling notations, design patterns, software architecture, integrated development environments and testing frameworks. Students will be expected to work together in teams in the complete specification, implementation and testing of a software application. Prerequisites: knowledge of a recursive high-level language and data structures. An undergraduate course in software engineering is desirable.
This course focuses on the nondesign aspects of software engineering. Topics may include requirements specification, software quality assurance, software project management and software maintenance. (Prerequisite: CS 509.) See the supplement section of the on-line catalog for descriptions of courses to be offered in this academic year.
This course provides an introduction to the theory and practice of the design of computer and communications networks, including the ISO seven-layer reference model. Analysis of network topologies and protocols, including performance analysis, is treated. Current network types including local area and wide area networks are introduced, as are evolving network technologies. The theory, design and performance of local area networks are emphasized. The course includes an introduction to queueing analysis and network programming. (Prerequisites: knowledge of the C programming language is assumed. CS 504 or ECE 502 or equivalent background in CS 5084 or CS 584.)
This course covers basic and advanced topics related to using computers to support audio and video over a network. Topics related to mulimedia will be selected from areas such as compression, network protocols, routing, operating systems and human computer interaction. Students will be expected to read assigned research papers and complete several programmming intensive projects that illustrate different aspects of multimedia computing. (Prerequisites: CS 502 and CS 513 or the equivalent and strong programming skills.)
This course is an in-depth study of the theory, design and performance of high-speed networks. Topics include specific high-performance network implementations and emerging technologies, including multimedia networks and quality of service issues. Topics associated with interconnecting networks such as bridges and routers will also be discussed. Performance analysis of networks will include basic queuing models. (Prerequisite: CS 513/ECE 506.)
Methods and concepts of computer and communication network modeling and system performance – evaluation. Stochastic processes; measurement techniques; monitor tools; statistical analysis of performance experiments; simulation models; analytic modeling and queueing theory; M/M, Erlang, G/M, M/G, batch arrival, bulk service and priority systems; work load characterization; performance evaluation problems. (Prerequisites: CS 5084 or CS 504 or equivalent background in probability and some background in statistics.)
This course covers advanced topics in the theory, design and performance of computer and communications networks. Topics will be selected from such areas as local area networks, metropolitan area networks, wide area networks, queueing models of networks, routing, flow control, new technologies and protocol standards. The current literature will be used to study new networks concepts and emerging technologies. (Prerequisite: CS 513/ ECE 506 and CS 533/ECE 581.)
This course gives a broad survey of artificial intelligence. Several basic techniques such as search methods, formal proofs and knowledge representation are covered. Selected topics involving the applications of these tools are investigated. Such topics might include natural language understanding, scene understanding, game playing, learning and planning. (Prerequisites: familiarity with data structures and a recursive high-level language. Knowledge of LISP is an advantage.)
The course will review knowledge-based problemsolving systems. It will concentrate on an analysis of their architecture, knowledge and problemsolving style in order to classify and compare them. An attempt will be made to evaluate the contribution to our understanding of problems that such systems can tackle. (Prerequisite: CS 534 or equivalent or permission of the instructor.)
The focus of this course is machine learning for knowledge-based systems. It will include reviews of work on similarity-based learning (induction), explanation-based learning, analogical and case-based reasoning and learning, and knowledge compilation. It will also consider other approaches to automated knowledge acquisition as well as connectionist learning. (Prerequisite: CS 534 or equivalent, or permission of the instructor.)
The main goal of this course is to obtain a deeper understanding of what "design" is, and how AI might be used to support and study it. Students will examine some of the recent AI-based work on design problem-solving. The course will be run in seminar style, with readings from the current literature and with student presentations. The domains will include electrical engineering design, mechanical engineering design, civil engineering design and software design (i.e., automatic programming). This course will be of interest to those wanting to prepare for research in design, or those wishing to increase their understanding of expert systems. Graduate students from departments other than computer science are welcome. (Prerequisite: knowledge of artificial intelligence is required. This can only be waived with permission of the instructor).
This course will introduce students to graphical models, such as Bayesian networks, Hidden Markov Models, Kalman filters, particle filters, and structural equation models. Graphical models are applicable in a wide variety of work in computer science for reasoning under uncertainty such as user modeling, speech recognition, computer vision, object tracking, and determining a robot's location. This course will cover 1) using data to estimate the parameters and structure of a model using techniques such as expectation maximization, 2) understanding techniques for performing efficient inference on new observations such as junction trees and sampling, and 3) learning about evaluation techniques to determine whether a particular model is a good one. (Prerequisites: CS 534 Artificial Intelligence or permission of the instructor.)
Students will learn how to enable educational technology to adapt to the user and about typical architectures used by existing intelligent tutoring systems for adapting to users. Students will see applications of decision theoretic systems, reinforcement learning, Markov models for action selection, and Artificial Intelligence (AI) planning. Students will read papers that apply AI techniques for the purpose of adapting to users. Students will complete a project that applies these techniques to build an adaptive educational system. (Prerequisites: CS 534 Artificial Intelligence or permission of the instructor.)
This course prepares graduate students for research in human-computer interaction. 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 are expected to present and review recent research results from the literature, and to complete several projects. (Prerequisites: students are expected to have mature programming skills. Knowledge of software engineering would be an advantage.)
User modeling is a cross-disciplinary research field that attempts to construct models of human behavior within a specific computer environment. Contrary to traditional artificial intelligence research, the goal is not to imitate human behavior as such, but to make the machine able to understand the expectations, goals, knowledge, information needs, and desires of a user in terms of a specific computing environment. The computer representation of this information about a user is called a user model, and systems that construct and utilize such models are called user modeling systems. A simple example of a user model would be an e-commerce site which makes use of the user's and similar users' purchasing and browsing behavior in order to better understand the user's preferences. In this class, the focus is on obtaining a general understanding of user modeling, and an understanding of how to apply user modeling techniques. Students will read seminal papers in the user modeling literature, as well as complete a course project where students build a system that explicitly models the user. (Prerequisites: Knowledge of probability.)
This course introduces students to techniques for performing rigorous empirical research in computer science. Since good empirical work depends on asking good research questions, this course will emphasize creating conceptual frameworks and using them to drive research. In addition to helping students understand what makes a good research question and why, some elementary statistics will be covered. Furthermore, students will use and implement computationally intensive techniques such as randomization, bootstrapping, and permutation tests. The course also covers experiments involving human subjects, and some of the statistical and non-statistical difficulties researchers often encounter while performing such work (e.g., IRB (Institutional Review Board), correlated trials, and small sample sizes). While this course is designed for students in Human Computer Interaction, Interactive Media & Game Development, and Learning Sciences and Technologies, it is appropriate for any student with programming experience who is doing empirical research. (Prerequisites: MA 511 Applied Statistics for Engineers and Scientists or permission of instructor.)
Learning Sciences and Technology
This course covers readings that represent the foundation of the learning sciences, including: Foundations (Constructivism, Cognitive Apprenticeship, & Situated Learning); Approaches (Project-based Learning, Model-based reasoning, Cognitive Tutors); and Scaling up educational interventions. The goal of this course is for students to develop an understanding of the foundations and approaches to the Learning Sciences so that they can both critically read current literature, as well as build on it in their own research. (Prerequisites: None)
In this class, students will read and review both classic and critical current journal articles about learning technologies developed in the Learning Sciences. This course is designed to educate students on current technological approaches to curricular design, implementation, and research in the Learning Sciences. (Prerequisites: None)
This course covers research methods used in the Learning Sciences. Students will gain expertise and understanding of think-aloud studies, cognitive task analysis, quantitative and qualitative field observations, log file analysis, psychometric, cognitive, and machine-learning based modeling, the automated administration of measures by computer, and issues of validity, reliability, and statistical inference specific to these methods. Students will learn how and when to apply a variety of methods relevant to formative, performance, and summative assessment in both laboratory and field settings. Readings will be drawn primarily from original source materials (e.g. journal articles and academic book chapters), in combination with relevant textbook chapters. (Prerequisites: SS 2400, Methods, Modeling, and Analysis in Social Science, comparable course, or instructor discretion.)
This course covers three key types of constructs that significantly impact learning and performance in real-world settings, including but not limited to educational settings. Students will gain understanding of the main theoretical frameworks, and major empirical results, that relate individuals' meta-cognition, motivation, and affect to realworld outcomes, both in educational settings and other areas of life. Students will learn how theories and findings in these domains can be concretely used to improve instruction and performance, and complete final projects that require applying research in these areas to real-world problems. Students will do critical readings on research on this topic. (Prerequisites: None)
This course covers advanced methods and analysis for the learning and social sciences, focusing on contemporary modeling and inference methods for the types of data generated in these forms of research. This course will enable students to choose, utilize, and make inferences from analytical metrics that are appropriate and/or characteristic to these domains, properly accounting for the characteristic forms of structure found in data typically collected for research in the learning and social sciences. Some of the topics covered will include ROC analysis and the use of A' for assessing student models, learning curve and learning factor analysis, social network and dyad analysis, and appropriate methods for tracking student learning and behavior in longitudinal data. Readings will be drawn from original source materials (e.g. journal articles and academic book chapters). (Prerequisites: PSY 503, Research Methods for the Learning Sciences, comparable course, or instructor discretion.)
Why do some businesses grow while others stagnate or decline? What causes oscillation and amplification - the so called "bullwhip" -- in supply chains? Why do large scale projects so commonly over overrun their budgets and schedules? This course explores the counter-intuitive dynamics of complex organizations and how managers can make the difference between success and failure. Students learn how even small changes in organizational structure can produce dramatic changes in organizational behavior. Real cases and computer simulation modeling combine for an in-depth examination of the feedback concept in complex systems. Topics include: supply chain dynamics, project dynamics, commodity cycles, new product diffusion, and business growth and decline. The emphasis throughout is on the unifying concepts of system dynamics.
This course deals with the hands on detail related to analysis of complex problems and design of policy for change through building models and experimenting with them. Topics covered include: slicing complex problems and constructing reference modes; going from a dynamic hypothesis to a formal model and organization of complex models; specification of parameters and graphical functions; experimentations for model understanding, confidence building, policy design and policy implementation. Modeling examples will draw largely from public policy agendas. (Prerequisites: SD 550 System Dynamics Foundation: Managing Complexity.)
Entrepreneurship involves many activities, including identifying and exploiting opportunities, creating and launching new ventures, introducing new products and new services to new markets. It is based on implementing innovations within existing organizations and creating new opportunities. This course is intended to introduce students to entrepreneurial thinking and methods of executing their ideas. Topics include recognizing and evaluating opportunities, forming new venture teams, preparing business and technology commercialization plans, obtaining resources, identifying execution action scenarios, and developing exit strategies.
In the modern world of global competition the ability to utilize technological innovation is increasingly important. This course will examine the sources of new technology, the tools to evaluate new technologies, the process of intellectual property transfer, and the eventual positioning of the resultant products and services in the commercial market. Its purpose is to improve the probability of success of this discipline in both existing organizational models and early stage ventures. Specific cases studies of successful technology commercialization processes will be used to supplement the course materials. (Prerequisite: ETR 591 or instructor consent.)
This course requires the student to analyze and develop an implementation proposal for actual technology commercialization projects. The students will work as multidisciplinary teams and, using a variety of tools, prepare commercial feasibility investigations; financial analysis scenarios; resource schedules; and assessments, recommendations, and justification of best pathways to market. Emphasis will be placed on realistic opportunities that might stem from the student's own ideas, review of the WPI intellectual property portfolio, local angel capital projects, and others. (Prerequisite: ETR 593.)
Selling is a major part of our business and professional lives. This is especially important for those who are launching new ventures. Business propositions need to be presented to (and need to be sold to) potential investors, employees, colleagues, and certainly potential employers. Later there is a need to sell products or services to customers. Common to all is a sales process and organization model that can be developed that is focused on meeting customer and other stakeholder needs through effective selling disciplines.
This course develops expertise in financial decision-making by focusing on frequently used financial accounting information and the conceptual framework for managing financial problems. Students are introduced to the accounting and financial concepts, principles and methods for preparing, analyzing and evaluating financial information, for the purpose of managing financial resources of a business enterprise and investment decisions. The course adopts a decision-maker perspective by emphasizing the relations among financial data, their underlying economic events, corporate finance issues, and the responses by market participants.
Management Information Systems
This course focuses on information technology and innovation. Topics covered are information technology and organizations, information technology and individuals (privacy, ethics, job security, job changes), information technology and information security, information technology within the organization (technology introduction and implementation), business process engineering and information technology between organizations (electronic data interchange and electronic commerce).This course provides the knowledge and skills to utilize existing and emerging information technology innovatively to create business opportunities.
This practice-based course simulates a complex organization with critical interdependencies at interpersonal, group, and intergroup levels. Students will be asked to make sense of their experiences through class discussions, individual reflection and readings in organization studies. This course is intended to be a student's first course in organizational studies.
This course considers effective interpersonal and leadership behaviors in technological organizations. Course material focuses on understanding, changing and improving our behaviors and those of others by examining our own practices and analyzing examples of leadership behaviors. The course also considers interpersonal and leadership behaviors in relation to teams, cultural diversity, and ethics in organizations. Assignments may include personal experiments, case analyses, individual and group projects and/or presentations. (Prerequisites: OBC 500 or equivalent content, or consent of instructor).
This course addresses consumer and industrial decision-making, with emphasis on the development of products and services that meet customer needs. Topics covered include management and the development of distinctive competence, segmentation and target marketing, market research, competitor analysis and marketing information systems, product management, promotion, price strategy, and channel management. Students will learn how the elements of marketing strategy are combined in a marketing plan, and the challenges associated with managing products and services over the life cycle, including strategy modification and market exit.