SISTA Course Descriptions
The SISTA curriculum consists of a set of core classes accessible to students in any discipline, as well as a number of thematic courses on topics, such as Sequences and Networks, that explores how a single, important theme in informatics plays out in several disciplines. All courses are meant to explore and support the intersection of computing with other fields to prepare students to work across disciplinary boundaries.
Important ideas and applications of information science and technology in the sciences, humanities and arts. Information, entropy, coding; grammar and parsing; syntax and semantics; networks and relational representations; decision theory, game theory; and other great ideas form the intellectual motifs of the Information Age and are explored through applications such as robotic soccer, chess-playing programs, web search, population genetics among others.
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.
ISTA 120: Dealing with Data
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.
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.
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.
An introduction to web design and development, with an emphasis on client-side technologies. Topics include HTML, Cascading Style sheets (CSS), Java Script, and web design best practices.
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.
Students will study how digital technologies are changing how people learn, how technology-based learning supports new approaches to assessment, how theories of learning are being developed to support research in these emerging areas, and how research on human learning is informing the design of computers that learn.
This course examines the ways in which computing supports and facilitates the production and creation of art. The course will discuss how artists have used advances in technology and computing capacity to explore new ways of making art, and investigate the relationships between technical innovation and the artistic process. Background in the arts is helpful, but no prior programming experience is necessary. Lecture - No pre-requisites - 3 units
Sequences are common representations in biology, music, linguistics, business and many other disciplines. The things we do with sequences -- searching them, cutting them up and reassembling them, aligning them, making predictions, detecting patterns and changes in their structures, and so on -- also are similar across disciplines. This course uses examples from across campus to teach the common data structures and algorithms for working with sequences.
ISTA 311: Foundation of Information and Inference
An introduction to the mathematical theories of probability and information as tools for inference, decision-making, and efficient communication. Topics include discrete and continuous random variables, measures of information and uncertainty, discrete time/discrete state Markov chains, elements of Bayesian inference and decisionmaking, Bayesian and Maximum Likelihood parameter estimation, and elementary coding theory.
For some reason, the methods and tools used by the natural sciences are not taught in the information sciences. Consequently, information scientists are rarely good at designing experiments, making data give up its secrets, or quantifying their confidence in results. This course is about how to think and work like a scientist. It covers exploratory data analysis and visualization, experimental design, statistical hypothesis testing and effect size, computer intensive methods such as the bootstrap and Monte Carlo sampling, performance assessment and other performance measures, modeling complex systems, and other empirical methods for students in the information disciplines.
The course will cover software development for the Apple iOS platforms (iPhone, iPad, iPod Touch).
ISTA 401/501: Designing an Installation
This course is a hands-on, project-based approach to understanding and designing art installations. Enrollees will learn principles, tools, and techniques of rapid prototyping and installation design, and will collaborate to design and implement a large-scale installation by the end of the semester. The course lectures will also provide an overview of the history, theory, and aesthetics of installation art.
Bayesian modeling and inference is a powerful modern approach to representing the statistics of the world, reasoning about the world in the face of uncertainty, and learning about it from data. It cleanly separates the notions of representation, reasoning, and learning. It provides a principled framework for combining multiple source of information such as prior knowledge about the world with evidence about a particular case in observed data. This course will provide a solid introduction to the methodology and associated techniques, and show how they are applied in diverse domains ranging from computer vision to molecular biology to astronomy.
Working with “big data” is a common recurring theme across disciplines, the ability to efficiently transform data sets from their raw form into information and knowledge are essential phases in the discovery lifecycle. The ability to marshal computational resources and appropriate technologies to enable these transformations on large data sets which range in size from few gigabytes to multi terabytes is fast becoming a requisite and sought after skill set in academia and industry. Readily available access to scalable CyberInfrastructure (CI) components from commercial providers (Amazon, Rackspace) and institutional (campus grids) and national (NSF XSEDE) infrastructure allow researchers to effectively manage the computation and data management tasks associated with their discovery process. This course will focus on key concepts and practical considerations for effective use of CI in working with “big data”.
Machine learning describes the development of algorithms which can modify their internal parameters (i.e., ¿learn¿) to recognize patterns and make decisions based on example data. These examples can be provided by a human, or they can be gathered automatically as part of the learning algorithm itself. 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).
This course provides an introduction to video game development. We will explore game design (not just computer games, but all games) and continue with an examination of game prototyping. Once we have working prototypes, we will continue with the development of a complete 2D computer game. The remaining course topics include: designing the game engine, rendering the graphics to the screen, and artificial intelligence. Students will be given periodic homework that reinforces what was learned in class. Homework will include developing a game prototype, game design documentation, some programming tasks. Students will work in small teams to develop a working game as a term project. Grades will be primarily based on the term project with some small amount of weight to homework. The examples provided in class will be programmed in Java and available for execution on any operating system. Programming homework assignments will be done in either Java or the language chosen by the instructor. The term project can be written in any programming language with instructor permission.
Analyze genomic sequences through understanding and using a variety of bioinformatics algorithms and software tools. Interdisciplinary approach integrating informatics, statistics, and biology.
Overview of algorithms for analyzing image data. Topics include image formation, physics-based vision, linear filtering, edge detection, multiple view geometry, segmentation, tracking, and recognition.
This variable topic workshop will be responsive to novel collaborative opportunities on campus and with off-campus colleagues to develop computational and technological solutions to problems dealing with large amounts of information. This will involve the practical application of theoretical learning within a small group setting and involving an exchange of ideas and practical methods, skills, and principles.