Understanding uncertainty and variation in modern data: data summarization and description, rules of counting and basic probability, data visualization, graphical data summaries, working with large data sets, prediction of stochastic outputs from quantitative inputs. Operations with statistical computer packages such as R.
Degree Requirements - Game Design & Development
- 1st Year English or equivalent
- MATH 122B or MATH 113 or MATH 116
- 2nd semester second language proficiency
- 6 units Tier 1 Individuals & Societies
- 6 units Tier 1 Traditions & Cultures
- 6 units Tier 1 Natural Sciences
- 3 units Tier 2 Humanities
- 3 units Tier 2 Individuals & Society
- 3 units Tier 2 Arts
- 3 units Diversity
- Complete all 9 courses (30 units)
- CSC 110 can be substituted for ISTA 130
An introduction to computational techniques and using a modern programming language to solve current problems drawn from science, technology, and the arts. Topics include control structures, elementary data structures, and effective program design and implementation techniques. Weekly laboratory.
**Programming-intensive Course, College Algebra recommended
At the core of Information Science lies the digital data that is the object of study. This course aims to introduce the tools, techniques, and issues involved with the handling of this data: where it comes from, how to store and retrieve it, how to extract knowledge from the data via analysis, and the social, ethical, and legal issues involved in its use. Throughout the course, students will be given hands-on experience with actual datasets from a variety of sources including social media and citizen science projects, as well as experience with common tools for analysis and visualization. Students will also examine topical case studies involving legal and ethical issues surrounding data.
This course explores the social, legal, and cultural fallout from the exponential explosion in communication, storage, and increasing uses of data and data production. In this class, we emphasize the opposing potentials of information technologies to make knowledge widely available and to distort and restrict our perceptions. In a world of rapid technological change, topics include (but are not limited to): eavesdropping and secret communications, privacy; Internet censorship and filtering, cyberwarfare, computer ethics and ethical behavior, copyright protection and peer-to-peer networks, broadcast and telecommunications regulation, including net neutrality, data leakage, and the power and control of search engines.
This course provides an introduction to game design and teaches students the fundamental concepts for creating games. Students will survey many different games, exploring the issues game designers face when designing games in different genres. Students will participate in a series of game design challenges and will be responsible for designing and prototyping simple games using a game building tool. Students will present their solutions to these challenges in front of the class for general discussion and constructive criticism.
This course will provide an introduction to informatics application programming using the python programming language and applying statistical concepts from a first semester statistics course. A key goal of this course is to prepare students for upper division ISTA courses by expanding on the skills gained in ISTA 116 and 130 but will be broadly applicable to any informatics discipline. Throughout the semester students will be faced with information application problems drawn from several different disciplines in order to expand their breadth of experience while simultaneously increasing their depth of knowledge of scientific and informatics programming methods. Students will practice problem decomposition and abstraction, gaining experience in identifying commonly occurring information processing issues and in applying well-known solutions. In addition, students will design their own algorithmic solutions to problems and will learn how to effectively compare different solutions, evaluating efficiency in order to choose the best solution for a given problem. Periodic code reviews will be held in order to expose students to a range of different solution methods, which will aid them in discovering weaknesses in their own work and will improve their ability to communicate with others on technical topics. The course will include an introduction to the python scientific computing libraries and other statistical packages. Additional course topics will include the use of version control systems, software profiling, general software engineering practices and basic shell scripting.
The field of Human Computer Interaction (HCI) encompasses the design, implementation, and evaluation of interactive computing systems. This course will provide a survey of HCI theory and practice. The course will address the presentation of information and the design of interaction from a human-centered perspective, looking at relevant perceptive, cognitive, and social factors influencing in the design process. It will motivate practical design guidelines for information presentation through Gestalt theory and studies of consistency, memory, and interpretation. Technological concerns will be examined that include interaction styles, devices, constraints, affordances, and metaphors. Theories, principles and design guidelines will be surveyed for both classical and emerging interaction paradigms, with case studies from practical application scenarios. As a central theme, the course will promote the processes of usability engineering, introducing the concepts of participatory design, requirements analysis, rapid prototyping, iterative development, and user evaluation. Both quantitative and qualitative evaluation strategies will be discussed.
Algorithms are a crucial component of game development. This course will provide students with an in-depth introduction to algorithm concepts for game development. The course will cover basic algorithm and data structures concepts, basic math concepts related to game algorithms, physics and artificial intelligence based game algorithms that are supplemented with modern examples. Unity Game Engine along with C# programming language will be used throughout the class.
Game Design and Development Electives:
- Choose five courses
Intensive Game Programming
Game development is a vast field with many advanced concepts. This course aims to teach students such concepts, techniques and mechanisms in Unity, covering procedural content generation, design patterns, artificial intelligence, shaders and postprocessing effects, animation, custom interactions and gestures, and performance optimization. The students are expected to have fundamental game development knowledge in Unity and C#. The course is heavily hands-on and project oriented. Students will implement the covered concepts on small-scaled Unity project templates using C# and also develop a larger-scaled final term project. At the end of the course, students will have gained advanced game development skills that can be applied to future jobs or self-development.
Virtual reality (VR) is an emerging technology that has recently been widely used in various areas, such as education, training, well-being, and entertainment. VR offers a highly immersive experience as the head mounted displays surround a 360-degree view of the user. It encompasses many disciplines, such as computer science, human computer interaction, game design and development, information science, and psychology. This course merges a theoretical and practical approach to give students the necessary knowledge that is required to design, develop, and critique virtual reality games and applications.
Artificial Intelligence and Games
Machine learning describes algorithms which can modify their internal parameters (i.e., "learn") to recognize patterns and make decisions based on examples or through interaction with the environment. This course will introduce the fundamentals of machine learning, will describe how to implement several practical methods for pattern recognition, feature selection, clustering, and decision making for reward maximization, and will provide a foundation for the development of new machine learning algorithms.
The methods and tools of Artificial Intelligence used to provide systems with the ability to autonomously problem solve and reason with uncertain information. Topics include: problem solving (search spaces, uninformed and informed search, games, constraint satisfaction), principles of knowledge representation and reasoning (propositional and first-order logic, logical inference, planning), and representing and reasoning with uncertainty (Bayesian networks, probabilistic inference, decision theory).
Neural networks are a branch of machine learning that combines a large number of simple computational units to allow computers to learn from and generalize over complex patterns in data. Students in this course will learn how to train and optimize feed forward, convolutional, and recurrent neural networks for tasks such as text classification, image recognition, and game playing.
This course will look at how commerce in information content (websites, books, databases, music, movies, software, etc.) functions. We will discuss things like switching costs, net neutrality, the long tail, differential pricing, and complementary goods. We will address the following sorts of questions: - Why do so many information producers give away content (such as "apps" for mobile phones) for free? How do companies (such as Google and Facebook) stay in business when no one has to pay to use their services? - What are contemporary practices with regard to purchasing access to information content? For instance, why do we tend to buy books, but only rent movies? Also, how do new modes of content provision (such as Pandora and Spotify) change the way that creators get paid for their work? - Why are there restrictions on how information content can be used? For instance, why can you play the DVD that you bought on your trip to Europe on the DVD player that you bought at home in the United States? But why should anybody other than an economist care about the answers to these sorts of questions? The world now runs on the production, dissemination, and consumption of information. All of us constantly access all sorts of information, through all sorts of devices, from all sorts of providers. We read and interact with websites, we query databases, and we communicate with each other via social media. These sorts of activities permeate both our personal and professional lives. In order to successfully navigate this digital world, information consumers, information producers, and information policy makers need to understand what sorts of information goods are likely to be available and how much they are likely to cost. We cannot learn enough about digital commerce simply by studying the various information technologies that are now available to create and disseminate information content. What matters most is how people choose to spend their time using these technologies, and what sorts of content can provide earning potential for its creators. What also matters are the unique properties of information content that make it very different from other sorts of goods. For instance, while only one person at a time can drive a particular car or eat a particular hamburger, millions of people can simultaneously read the same book, listen to the same song, and use the same software. These are issues that are part and parcel to living, working, purchasing, and being entertained in an eSociety; these are the issues addressed in this course.
This course introduces key concepts and skills needed for those working with information and communication technologies (ICT). Students will be exposed to hardware and software technologies, and they will explore a wide variety of topics including processing and memory systems, diagnostics and repair strategies, operating systems in both desktop and mobile devices. As part of this course, students will consider current technological disruptions, those issues emerging as technologies and social needs collide. Students we also learn about design issues and user needs tied to mobile or computer applications and web-based tools, sites, games, data platforms, or learning environments.
This course develops and applies critical frameworks to understand diversity and bias in world-building, game mechanics, character representation, and social behavior within games. We will interrogate games to discover implicit and explicit biases, explore diversity and inclusion initiatives within the gaming industry, and develop strategies toward more inclusive game development and play experiences.
The course on gamification introduces you to the uses of game design elements (such as online games or apps) in non-game contexts. Gamification is a broad concept, which has been increasingly applied to different sectors and areas, ranging from political communications, the non-profit sector (gamification for advocacy), the business sector, and even the public sector. The rise of gamification as an important tool and strategy raises fundamental questions about the opportunities, challenges and the risks of the increased use of websites, online games and apps for major sectors of society. In this course, you will be introduced to and compare scholarly analyses of gamification across a variety of fields, analyze relevant case studies and best practices of gamified strategies from various social sectors such as business organizations, non-profits, media, and politics, examine common patterns in the development of gamification strategies, and survey potential benefits and disadvantages arising from the use and overuse of gamification principles.
This course surveys eSport as an activity, as a site for groups or teams building community, and as an emerging digital industry worldwide. Students will learn about differing stakeholders and organizations converging in eSports. Learners will also consider eSports from differing lenses, perspectives, and academic disciplines. Emerging employment opportunities in eSports as well as potentials for professional players will be discovered and examined.
This course aims to give students fundamental knowledge and hands-on experience about the ways of earning money through video games independently. The course will include content-based lectures that cover information about relevant aspects and platforms along with best-practices and real-life examples. There will be discussions, hands-on activities, research and case studies, reading and video assignments followed by quizzes, a midterm exam, and a final project that emphasizes hands-on application of the learned content. In the course, the tools of the trade and various channels for monetizing independent gaming will be introduced. After completing this course, students will be equipped with the necessary knowledge to be able to pursue independent money-earning activities in gaming.
Introduces the basics of copyright law and fair use, also discusses the theoretical foundations and history of copyright and the public domain. These issues are placed within a broader multicultural and international context. By the end of the course students will: (a) know the basics of copyright law and fair use as they apply to libraries and related information services, and (b) understand the importance of balancing the rights of intellectual property owners with the societal need for a robust public domain.
Art of Games
This course will lay a foundation for understanding how stories shape communities, identities, memories, and perspectives on our lives. In addition, this course will provide opportunities for the theoretical analysis of self representation, composite narratives on behalf of others, cultural heritage, and memories as they are preserved and performed within stories and through narrative. Influences on digital digital storytelling such as the sociocultural context, the institutional contexts of production the audience, and the needs or goals of the digital storyteller will be examined. Students will be required to call on their own intellectual, emotional, and imaginative processes, as well as to develop their own skills in digital storytelling, interviewing, oral history collection, and the use of relevant digital storytelling tools.
We are living in a time when nearly everyone has the means to make movies, music and photos using just their own personal tools like smartphones, iPads, and similar mobile gadgets. This course will develop and refine skills and understanding of multimedia in contemporary culture. Offering a survey of innovative works in film and information arts, this course will allow students a hands-on opportunity to respond to concepts covered in class using self-produced media. This course will address how information functions in time-based forms of multimedia and video in this era of interactive information and displays. Drawing on historical precedents in the media and computational arts, this course focuses on both linear and non-linear approaches of using image, sound and text to create critical and creative works that function in a the context of social media and our contemporary digital society. How and why do certain images, music or films affect us so profoundly? We will address this question through a study of the components of media literacy that include: Production, Language, Representation, and Audience. These concepts will be examined through a cross-section of writers including: Marshall McLuhan, John Berger and Susan Sontag.
This hands-on project-based course centers on advanced simulation environments, their development, evaluation, and importance in contexts ranging from education, health care and emergency response, exploration and mission planning, and entertainment. Understanding the objective of simulation will involve information gathering, problem exploration, and multimethodological analysis of complex problems. The emphasis of this course will be on the effective design and integration of diverse elements and will include practical and theoretical applications, of: mobile, virtual, augmented, mixed, and extended reality simulation; storyboarding and narrative development; collaborative participatory design; modeling methods; and a variety of human-computer interaction (e.g., affect and context aware systems) and learning science (embodied learning and designed based research) methodologies.
This course examines the ways in which computing and information science support and facilitate the production and creation of art in current society. A particular focus of the course will be to discuss how artists have used advances in technology and computing capacity to explore new ways of making art, and to investigate the relationships between technical innovation and the artistic process. This class satisfies a Tier II: Arts General Education Requirement. Alternatively, this class can be applied towards the ISTA BA/BS and ISTA minor. Tier II Gen-eds can be double-dipped with a minor but not a major.
This course will provide the student with the information and experience necessary for the creation and manipulation of digital audio. Students will have the opportunity to experience the music-making process with the technology tools and techniques that are common in both home and professional studios. The class will make use of a variety of software packages designed for contemporary music production, explaining the universal techniques and concepts that run through all major software programs. Topics will include musical analysis, MIDI control, synthesis techniques, audio editing, and audio mixing. Lab assignments will emphasize hands-on experience working with musical hardware and software to provide the necessary skills to create music based on today's musical styles. The course provides the foundation for further study, creative applications, and personal expression.
This course provides an introduction to software and hardware packages that allow students to explore rapid prototyping, object design, and physical computing using Computer-Aided Design (CAD) software, 3D printing technology, laser cutting, and Arduino microcontrollers. The processing language will also be introduced, and used for visualization and interfacing. This interdisciplinary course combines elements of computer science, electrical engineering, mechanical design, robotics, and visualization.
This is a hands-on practical course where fluency is largely built through experience building projects, rather than written exams. This course will require extensive technology training and substantial reference to open resources on the web. This course includes a team-based design competition as a final project.
- Choose one course
A culminating experience for majors involving a substantive project that demonstrates a synthesis of learning accumulated in the major, including broadly comprehensive knowledge of the discipline and its methodologies. Senior standing required.