Below you will find core and elective classes offered by our Computation faculty in the **Fall, ****Winter**, and **Spring** quarters. We will continue to add relevant course descriptions for the 2017-2018 academic year as they are made available. Please note that course offerings, instructors, dates, and times are all subject to change.

## Fall Quarter

**Perspectives on Computational Analysis**

(MACS 30000). *Benjamin Soltoff, M/W 11:30-1:20 p.m. & Weekly Lab Wednesdays 4:30-5:20 p.m.*

Massive digital traces of human behavior and ubiquitous computation have both extended and altered classical social science inquiry. This course surveys successful social science applications of computational approaches to the representation of complex data, information visualization, and model construction and estimation. We will reexamine the scientific method in the social sciences in context of both theory development and testing, exploring how computation and digital data enables new answers to classic investigations, the posing of novel questions, and new ethical challenges and opportunities. Students will review fundamental research designs such as observational studies and experiments, statistical summaries, visualization of data, and how computational opportunities can enhance them. The focus of the course is on exploring the wide range of contemporary approaches to computational social science, with practical programming assignments to train with these approaches.

**Computer Science with Applications - 1**

(CAPP 30121). *Borja* *Sotomayor, M/W/F 9:30-10:20 a.m.* *& Weekly Lab Tuesdays at (1)** 3:30-4:50 p.m., (2) 5-6:20 p.m., or (3) 6:30-7:50 p.m.*

This three-quarter sequence teaches computational thinking and skills to students who are majoring in the sciences, mathematics, and economics. Lectures cover topics in (1) programming, such as recursion, abstract data types, and processing data; (2) computer science, such as clustering methods, event-driven simulation, and theory of computation; and to a lesser extent (3) numerical computation, such as approximating functions and their derivatives and integrals, solving systems of linear equations, and simple Monte Carlo techniques. Applications from a wide variety of fields serve both as examples in lectures and as the basis for programming assignments. In recent offerings, students have written programs to evaluate betting strategies, determine the number of machines needed at a polling place, and predict the size of extinct marsupials. Students learn Java, Python, R and C++.

**Computing for the Social Sciences**

(MACS 30500). *Benjamin Soltoff, M/W 1:30-2:50 p.m. & Weekly Lab Wednesdays 3-4:20 p.m.*

This is an applied course for social scientists with little-to-no programming experience who wish to harness growing digital and computational resources. The focus of the course is on generating reproducible research through the use of programming languages and version control software. Major emphasis is placed on a pragmatic understanding of core principles of programming and packaged implementations of methods. Students will leave the course with basic computational skills implemented through many computational methods and approaches to social science; while students will not become expert programmers, they will gain the knowledge of how to adapt and expand these skills as they are presented with new questions, methods, and data.

**MA Research Commitment**

(MACS 35000). *James Evans, By Arrangement*.

Student Initiated research and writing for the MA research component. Open only to MACSS students.

**Economic Policy Analysis with Overlapping Generation Models**

(MACS 40000). *Rick Evans, M/W 1:30-2:50 p.m.*

This course will study economic policy questions ideally addressed by the overlapping generations (OG) dynamic general equilibrium framework. OG models represent a rich class of macroeconomic general equilibrium model that is extremely useful for answering questions in which inequality, demographics, and individual heterogeneity are important. OG models are used extensively by the Joint Committee on Taxation, Congressional Budget Office, and Department of the Treasury. This course will train students how to set up and solve OG models. The standard nonlinear global solution method for these models--time path iteration--is a fixed point method that is similar to but significantly different from value function iteration. This course will take students through progressively richer versions of the model, which will include endogenous labor supply, nontrivial demographics, bequests, stochastic income, multiple industries, non-balanced government budget constraint, and household tax structure.

**Introduction to Spatial Data Science**

(MACS 54000). *Luc Anselin, Wednesdays 1:30-2:50 p.m. & Weekly Lab Mondays 1:30-2:50 p.m.*

Spatial data science is an evolving field that can be thought of as a collection of concepts and methods drawn from both statistics and computer science. These techniques deal with accessing, transforming, manipulating, visualizing, exploring and reasoning about data where the locational component is important (spatial data). The course introduces the types of spatial data relevant in social science inquiry and reviews a range of methods to explore these data. The types of data considered include observations at the point level (e.g., locations of crimes, commercial establishments, traffic accidents), data gathered for aggregate units, such as census tracts or counties (e.g., unemployment rates, disease rates by area, crime rates), and data measured at spatially located sampling points (such as air quality monitoring stations and urban sensors). Specific topics covered include the implementation of formal spatial data structures, geovisualization and visual analytics, spatial autocorrelation analysis, variogram analysis, cluster detection, regionalization, point pattern analysis and spatial data mining. An important aspect of the course is to learn and apply open source geospatial software tools, such as R and GeoDa.

**Computational Social Science Workshop**

(MACS 50000).* James Evans, Thursdays 11-12:20 p.m. Saieh 247. PQ: Computation students must register for a R. Other faculty and graduate students welcome.*

High performance and cloud computing, massive digital traces of human behavior from ubiquitous sensors, and a growing suite of efficient model estimation, machine learning and simulation tools are not just extending classical social science inquiry, but transforming it to pose novel questions at larger and smaller scales. The Computational Social Science (CSS) Workshop is a weekly event that features this work, highlights associated skills and data, and explores the use of CSS in the world. The CSS Workshop alternates weekly between research workshops and professional workshops. The research workshops feature new CSS work from top faculty and advanced graduate students from UChicago and around the world, while professional workshops highlight useful skills and data (e.g., machine learning with Python’s scikit-learn; the Twitter firehose API) and showcase practitioners using CSS in the government, industry and nonprofit sectors. Each quarter, the CSS Workshop also hosts a distinguished lecture, debate and dinner, and a student conference.

**Algorithms**

(MPCS 55001). *Geraldine Brady, **Days/Times TBD.** PQ: immersion math (MPCS 50103) or placement. Immersion programming (MPCS 50101) or programming waiver, or core programming (MPCS 51036 or 51040), or instructor consent. Placement exam given on September 14th and 15th. MPCS students will be given priority. Complete Course Request Form. *

The course is an introduction to the design and analysis of efficient algorithms, with emphasis on developing techniques for the design and rigorous analysis of algorithms rather than on implementation. Algorithmic problems include sorting and searching, discrete optimization, and algorithmic graph theory. Design techniques include divide-and-conquer methods, dynamic programming, greedy methods, graph search, as well as the design of efficient data structures. Methods of algorithm analysis include asymptotic notation, evaluation of recurrences, and the concepts of polynomial-time algorithms. NP-completeness is introduced toward the end the course. Students who complete the course will have demonstrated the ability to use divide-and-conquer methods, dynamic programming methods, and greedy methods, when an algorithmic design problem calls for such a method. They will have learned the design strategies employed by the major sorting algorithms and the major graph algorithms, and will have demonstrated the ability to use these design strategies or modify such algorithms to solve algorithm problems when appropriate. They will have derived and solved recurrences describing the performance of divide-and-conquer algorithms, have analyzed the time and space complexity of dynamic programming algorithms, and have analyzed the efficiency of the major graph algorithms, using asymptotic analysis.

**Theoretical Neuroscience: Single Neuron Dynamics and Computation**

(CPNS 35510/STAT 42510). *Nicolas Brunel, **Days/Times TBD**.*

This course is the first part of a three-quarter sequence in theoretical/computational neuroscience. It will focus on mathematical models of single neurons. Topics will include: basic biophysical properties of neurons; Hodgkin-Huxley model for action potential generation; 2D models, phase-plane analysis and bifurcations leading to action potential generation; integrate-and-fire-type models; noise; characterization of neuronal activity with stochastic inputs; spatially extended models; models of synaptic currents and synaptic plasticity; unsupervised learning; supervised learning; reinforcement learning.

**Data Visualization for Policy Analysis**

(CAPP 30239). *Alex Engler, M/W 3-4:20 p.m. PQ: CAPP 30122.*

This course introduces students to the tools, skills, and concepts necessary for making compelling data visualizations for political analysis and public policy research. Students will learn about the theory of graphical design, including the grammar of graphics, and the science of visual perception such as to inform making visualizations that are intuitive, effective, and memorable. // Data Visualization for Policy Analysis will cover exploratory data analysis and static graphics in R, aesthetic design using Adobe Illustrator, and interactive web graphics using the powerful JavaScript library D3. Throughout the course, each student will create an aesthetically compelling and analytically sound visualization portfolio on a public policy topic of their own choosing.

**Databases**

(MPCS 53001). *Zachary Freeman, **Days/Times TBD.** PQ: Core programming (completed or currently enrolled). Placement exam given on September 14th and 15th. MPCS students will be given priority. Complete Course Request Form.*

In this course students will learn database design and development and will build a simple but complete web application powered by a relational database. We start by gathering requirements and showing how to model a relational database using an Entity-Relationship Diagram (ERD). Concepts covered include entity sets and relationships, using keys as a unique identifier for each object in an entity set, one-one, many-one, and many-many relationships as well as translational rules from conceptual modeling (ERD) to relational table definitions. We will examine the relational model and functional dependencies along with their application to the methods for improving database design: normal forms and normalization. After designing and modeling their database, students will learn the universal language of relational databases: SQL (Structured Query Language). We will first introduce relational algebra, the theoretical foundation of SQL and then examine in detail the two main aspects of SQL: data definition language (DDL) and data manipulation language (DML). Concepts covered include subqueries, aggregation, various types of joins, functions, triggers and stored procedures. Students will then learn about web connectivity, as they build a simple front-end for their application in order to interact with their database online. Finally, we will provide an overview of related topics such as data warehousing, big data, NoSQL and NewSQL databases.

**Mathematical Methods for Biological Sciences - 1**

(PSYC 36210). *Dmitry Kondrashov, T/Th 12:30-1:50 p.m. & Weekly Lab Fridays at **(1) 3:30-5:50 p.m. or (2) 3-4:50 p.m.*

This course builds on the introduction to modeling course biology students take in the first year (BIOS 20151 or 152). It begins with a review of one-variable ordinary differential equations as models for biological processes changing with time, and proceeds to develop basic dynamical systems theory. Analytic skills include stability analysis, phase portraits, limit cycles, and bifurcations. Linear algebra concepts are introduced and developed, and Fourier methods are applied to data analysis. The methods are applied to diverse areas of biology, such as ecology, neuroscience, regulatory networks, and molecular structure. The students learn computation methods to implement the models in MATLAB.

**Nonparametric Inference**

(STAT 37400). *John Lafferty, T/Th 10:30-11:50 a.m.*

Nonparametric inference is about developing statistical methods and models that make weak assumptions. A typical nonparametric approach estimates a nonlinear function from an infinite dimensional space, rather than a linear model from a finite dimensional space. This course gives an introduction to nonparametric inference, with a focus on density estimation, regression, confidence sets, orthogonal functions, random processes, and kernels. The course treats nonparametric methodology and its use, together with theory that explains the statistical properties of the methods.

**Sociology of Education**

(CHDV 40128 / SOCI 40225). *Anna* *Mueller, **T/Th 2-4:50 p.m.*

Education plays a fundamental role in society, both because it determines individuals’ life chances and because it has the power to reproduce or ameliorate inequality in society. In this course, we will discuss theoretical and empirical research that examines how schools both perpetuate socioeconomic inequality and provide opportunities for social mobility. We will pay particular attention to the role of schools in the intergenerational transmission of social status, especially based on race, class, gender, and immigrant status and with an emphasis on the U.S. We will also discuss the social side of schools, delving into (1) the role of adolescent culture(s) in youths’ educational experiences and human development and (2) social psychological aspects of schooling. Schools are the primary extra-familial socializing institution that youth experience; thus, understanding how schools work is central to understanding the very structure of societies as well as the transition from childhood to adulthood.

## Winter Quarter

**Perspectives on Computational Modeling**

(MACS 30100). *Rick Evans, M/W 11:30-1:20 p.m. & Weekly Lab Wednesdays 4:30-5:20 p.m.*

Students are often well trained in the details of specific models relevant to their respective fields. This course presents a generic definition of a model in the social sciences as well as a taxonomy of the wide range of different types of models used. We then cover principles of model building, including static versus dynamic models, linear versus nonlinear, simple versus complicated, and identification versus overfitting. Major types of models implemented in this course include systems of nonlinear equations, linear and nonlinear regression, supervised learning (decision trees, random forests, support vector machines, etc.), and unsupervised learning. We will also explore the wide range of computational strategies used to estimate models from data and make statistical and causal inference. Students will study both good examples and bad examples of modeling and estimation.

**Computer Science with Applications – 2**

(CAPP 30122). *Anne Rogers, M/W/F 9:30-10:20 a.m. & Weekly Lab Tuesdays at (1) 3-4:20 p.m., (2) 4:30-5:50 p.m., or (3) 6-7:20 p.m.*

This course is the second in a three-quarter sequence that teaches computational thinking and skills to students in the sciences, mathematics, economics, etc. Lectures cover topics in (1) data representation, (2) basics of relational databases, (3) shell scripting, (4) data analysis algorithms, such as clustering and decision trees, and (5) data structures, such as hash tables and heaps. Applications and datasets from a wide variety of fields serve both as examples in lectures and as the basis for programming assignments. In recent offerings, students have written a course search engine and a system to do speaker identification. Students will program in Python and do a quarter-long programming project.

**MA Research Commitment**

(MACS 35000). *James Evans, By Arrangement.*

Student Initiated research and writing for the MA research component. Open only to MACSS students.

**Structural Estimation**

(MACS 40200). *Rick Evans, **M/W 1:30-2:50 p.m.*

Structural estimation refers to the estimation of model parameters by taking a theoretical model directly to the data.(This is in contrast to reduced form estimation, which often entails estimating a linear model that is either explicitly or implicitly a simplified, linear version of a related theoretical model). This class will survey a range of structural models, then teach students estimation approaches including the generalized method of moments approach and maximum likelihood estimation. We will then examine the strengths and weaknesses of both approaches in a series of examples from the fields of economics, political science, and sociology. We will also learn the simulated method of moments approach. We will explore applications across the social sciences.

**Introduction to Causal Inference**

(MACS 51000). *Guanglei Hong, Kazuo Yamaguchi, and Fang Yang, Tuesdays **2-4:50 p.m. & Weekly Lab Fridays 1:30-2:50 p.m.*

This course is designed for graduate students and advanced undergraduate students from the social sciences, education, public health science, public policy, social service administration, and statistics who are involved in quantitative research and are interested in studying causality. The goal of this course is to equip students with basic knowledge of and analytic skills in causal inference. Topics for the course will include the potential outcomes framework for causal inference; experimental and observational studies; identification assumptions for causal parameters; potential pitfalls of using ANCOVA to estimate a causal effect; propensity score-based methods including matching, stratification, inverse-probability-of-treatment-weighting (IPTW), marginal mean weighting through stratification (MMWS), and doubly robust estimation; the instrumental variable (IV) method; regression discontinuity design (RDD) including sharp RDD and fuzzy RDD; difference in difference (DID) and generalized DID methods for cross-section and panel data, and fixed effects model. Intermediate Statistics or equivalent such as STAT 224 is a prerequisite. This course is a pre-requisite for “Advanced Topics in Causal Inference” and “Mediation, moderation, and spillover effects.”

**Computational Content Analysis**

(MACS 60000). *James Evans, Fridays 1:30-4:20 p.m.*

A vast expanse of information about what people do, know, think, and feel lies embedded in text, and more of the contemporary social world lives natively within electronic text than ever before. These textual traces range from collective activity on the web, social media, instant messaging and automatically transcribed YouTube videos to online transactions, medical records, digitized libraries and government intelligence. This supply of text has elicited demand for natural language processing and machine learning tools to filter, search, and translate text into valuable data. The course will survey and practically apply many of the most exciting computational approaches to text analysis, highlighting both supervised methods that extend old theories to new data and unsupervised techniques that discover hidden regularities worth theorizing. These will be examined and evaluated on their own merits, and relative to the validity and reliability concerns of classical content analysis, the interpretive concerns of qualitative content analysis, and the interactional concerns of conversation analysis. We will also consider how these approaches can be adapted to content beyond text, including audio, images, and video. We will simultaneously review recent research that uses these approaches to develop social insight by exploring (a) collective attention and reasoning through the content of communication; (b) social relationships through the process of communication; and (c) social states, roles, and moves identified through heterogeneous signals within communication.

The course is structured around gaining understanding and experimenting with text analytical tools, deploying those tools and interpreting their output in the context of individual research projects, and assessment of contemporary research within this domain. Class discussion and assignments will focus on how to use, interpret, and combine computational techniques in the context of compelling social science research investigations.

**Computational Social Science Workshop**

(MACS 50000).* James Evans, Thursdays 11-12:20 p.m. Saieh 247. PQ: Computation students must register for a R. Other faculty and graduate students welcome.*

High performance and cloud computing, massive digital traces of human behavior from ubiquitous sensors, and a growing suite of efficient model estimation, machine learning and simulation tools are not just extending classical social science inquiry, but transforming it to pose novel questions at larger and smaller scales. The Computational Social Science (CSS) Workshop is a weekly event that features this work, highlights associated skills and data, and explores the use of CSS in the world. The CSS Workshop alternates weekly between research workshops and professional workshops. The research workshops feature new CSS work from top faculty and advanced graduate students from UChicago and around the world, while professional workshops highlight useful skills and data (e.g., machine learning with Python’s scikit-learn; the Twitter firehose API) and showcase practitioners using CSS in the government, industry and nonprofit sectors. Each quarter, the CSS Workshop also hosts a distinguished lecture, debate and dinner, and a student conference.

**Methods in Computational Neuroscience**

(CPNS 34231). *Silvan Bensmaia, **M/W 3:30-4:50 p.m., Fridays 1:30-2:50 p.m., & Weekly Lab Wednesdays 9:30-11:20 a.m. ** PQ: PSYC 36210 and PSYC 36211 which must be taken concurrently, or consent of instructor.*

Topics include (but are not limited to): Hodgkin-Huxley equations, Cable theory, Single neuron models, Information theory, Signal Detection theory, Reverse correlation, Relating neural responses to behavior, and Rate vs. temporal codes.

**Foundations of Computational Data Analysis**

(MPCS 53110). *Geraldine Brady, **Days/Times TBD.** PQ: Core Programming. B or better MPCS 50103 or passing score on math placement exam. Non-MPCS student must meet prerequsites and complete complete Course Request Form.*

This course covers basic statistics and linear algebra, and programming in R. Topics in statistics include discrete and continuous random variables, discrete and continuous probability distributions, variance, covariance, correlation, sampling and distribution of the mean and standard deviation of a sample, central limit theorem, confidence intervals, maximum likelihood estimators, hypothesis testing, linear and multiple regression. Topics in linear algebra include Gaussian elimination, matrix transpose and matrix inverse, eigenvectors and eigenvalues, singular value decomposition.

**Theoretical Neuroscience: Network Dynamics and Computation**

(CPNS 35520). *Nicolas Brunel, **Days/Times TBD.*

This course is the second part of a three-quarter sequence in theoretical/computational neuroscience. It will focus on mathematical models of networks of neurons. Topics will include: firing rate models for populations of neurons; spatially extended firing rate models; models of visual cortex; models of brain networks at different levels; characterization of properties of specific brain networks; models of networks of binary neurons, mean rates, correlations, reductions to rate models; learning in networks of binary neurons, associative memory models; models of networks of spiking neurons: asynchronous vs synchronous states; oscillations in networks of spiking neurons; learning in networks of spiking neurons; models of working memory; models of decision-making.

**Mathematics for Computer Science and Data Analysis**

(CAPP 30255). *Amitabh Chaudhary, M/W/F 2:30-3:20 p.m.*

This course develops the mathematical foundations in discrete mathematics and linear algebra that are broadly used in computer science, particularly in algorithms, databases, machine learning, and data analysis. // The topics from discrete mathematics are essential for developing computational thinking, particularly for design and analysis of algorithms. These include logic, proofs, big-O notation, recursion, induction, and counting. // In linear algebra, this course covers vectors and vector spaces, how matrices represent linear transformation of vectors, and their relationship to solving systems of linear equations. We study determinants, matrix inverses, projections, and finally, how eigenvectors and eigenvalues allow us to decompose a matrix into simpler matrices. These concepts underlie several techniques in machine learning and data analysis, such as those for dimensionality reduction.

**Advanced Topics in Biological Psychology**

(PSYC 40300). *Leslie Kay, **Thursdays 2-4:50 p.m.*

What are the relations between mind and brain? How do brains regulate mental, behavioral, and hormonal processes; and how do these influence brain organization and activity? This course provides an introduction to the anatomy, physiology, and chemistry of the brain; their changes in response to the experiential and sociocultural environment; and their relation to perception, attention, behavior, action, motivation, and emotion. PQ: Graduate standing and some sophistication with biological topics, including Neuroscience*.*

**Mathematical Methods for Biological Sciences - 2**

(PSYC 36211). *Dmitry Kondrashov, **T/Th 2-3:20 p.m. & Weekly Lab Fridays 3:30-5:20 p.m. **PQ: PSYC 36210.*

This course is a continuation of PSYC 36210. The topics start with optimization problems, such as nonlinear least squares fitting, principal component analysis and sequence alignment. Stochastic models are introduced, such as Markov chains, birth-death processes, and diffusion processes, with applications including hidden Markov models, tumor population modeling, and networks of chemical reactions. In computer labs, students learn optimization methods and stochastic algorithms, e.g., Markov Chain, Monte Carlo, and Gillespie algorithm. Students complete an independent project on a topic of their interest.

**Algorithms**

(CMSC 37000). *Yury Makarychev, T/Th 9:30-10:50 a.m.*

This is a graduate level course on algorithms, with the emphasis on computational problems that are central to both theory and practice, and on developing techniques for the design and the rigorous analysis of algorithms and data structures for such problems.

**Network Analysis**

(PLSC 57200). *John Padgett, **Mondays 1:30-4:20 p.m.*

This seminar explores the sociological utility of the network as a unit of analysis. How do the patterns of social ties in which individuals are embedded differentially affect their ability to cope with crises, their decisions to move or change jobs, their eagerness to adopt new attitudes and behaviors? The seminar group will consider (a) how the network differs from other units of analysis, (b) structural properties of networks, consequences of flows (or content) in network ties, and (c) dynamics of those ties.

## Spring Quarter

**Perspectives on Computational Research**

(MACS 30200). *Rick Evans and Benjamin Soltoff, M/W 11:30-1:20 p.m. & Weekly Lab Wednesdays 4:30-5:20 p.m.*

This course focuses on applying computational methods to conducting social scientific research through a student-developed research project. Students will identify a research question of their own interest that involves a direct reference to social scientific theory, use of data, and a significant computational component. The students will collect data, develop, apply, and interpret statistical learning models, and generate a fully reproducible research paper. We will identify how computational methods can be used throughout the research process, from data collection and tidying, to exploration, visualization and modeling, to the final communication of results. The course will include modules on theoretical and practical considerations, including topics such as epistemological questions about research design, writing and critiquing papers, and additional computational tools for analysis.This course focuses on applying computational methods to conducting social scientific research through a student-developed research project. Students will identify a research question of their own interest, collect data, develop, apply, and interpret statistical learning models, and generate a fully reproducible research paper. We will identify how computational methods can be used throughout the research process, from data collection and tidying, to exploration, visualization and modeling, to the final communication of results. The course will include modules on theoretical and practical considerations, including topics such as epistemological questions about research design, identifying data sources, and IRB review.

**Computer Science with Applications-3**

(CAPP 30123). *Matthew Wachs, **M/W/F 9:30-10:20 a.m. & Weekly Lab Mondays (1) 3-4:20 p.m. or (2) 4:30-5:50 p.m.*

This three-quarter sequence teaches computational thinking and skills to students who are majoring in the sciences, mathematics, and economics. Lectures cover topics in (1) programming, such as recursion, abstract data types, and processing data; (2) computer science, such as clustering methods, event-driven simulation, and theory of computation; and to a lesser extent (3) numerical computation, such as approximating functions and their derivatives and integrals, solving systems of linear equations, and simple Monte Carlo techniques. Applications from a wide variety of fields serve both as examples in lectures and as the basis for programming assignments. In recent offerings, students have written programs to evaluate betting strategies, determine the number of machines needed at a polling place, and predict the size of extinct marsupials. Students learn Java, Python, R and C++.

**Computing for the Social Sciences**

(MACS 30500). *Benjamin Soltoff, M/W 1:30-2:50 p.m. & Weekly Lab Wednesdays 3-4:20 p.m.*

This is an applied course for social scientists with little-to-no programming experience who wish to harness growing digital and computational resources. The focus of the course is on generating reproducible research through the use of programming languages and version control software. Major emphasis is placed on a pragmatic understanding of core principles of programming and packaged implementations of methods. Students will leave the course with basic computational skills implemented through many computational methods and approaches to social science; while students will not become expert programmers, they will gain the knowledge of how to adapt and expand these skills as they are presented with new questions, methods, and data.

**MA Research Commitment**

(MACS 35000). *James Evans, By Arrangement.*

Student-Initiated research and writing for the MA research component. Open only to MACSS students.

**Data Visualization**

(MACS 40700). *Benjamin Soltoff, M/W 1:30-2:50 p.m. & Weekly Lab Fridays 3-4:50 p.m.*

Social scientists frequently wish to convey information to a broader audience in a cohesive and interpretable manner. Visualizations are an excellent method to summarize information and report analysis and conclusions in a compelling format. This course introduces the theory and applications of data visualization. Students will learn techniques and methods for developing rich, informative and interactive, web-facing visualizations based on principles from graphic design and perceptual psychology. Students will practice these techniques on many types of social science data, including multivariate, temporal, geospatial, text, hierarchical, and network data. These techniques will be developed using a variety of software implementations such as R, ggplot2, D3, and Tableau.

**Advanced Topics in Causal Inference**

(MACS 52000). *Guanglei Hong, Kazuo Yamaguchi, and Fang Yang, Tuesdays 1:30-4:20 p.m.*

This course provides an in-depth discussion of selected topics in causal inference that are beyond what are covered in the introduction to causal inference course. The course is intended for graduate students and advanced undergraduate students who have taken the intro course and want to extend their knowledge in causal inference. Topics include (1) alternative matching methods, randomization inference for testing hypothesis and sensitivity analysis; (2) marginal structural models and structural nested models for time-varying treatment; (3) Rubin Causal Model (RCM) and Heckman’s scientific model of causality; (4) latent class treatment variable; (5) measurement error in the covariates; (6) the M-estimation for the standard error of the treatment effect for the use of IPW; (7) the local average treatment effect (LATE) and its problems, sensitivity analysis to examine the impact of plausible departure from the IV assumptions, and identification issues of multiple IVs for multiple/one treatments; (8) Multi-level data for treatment evaluation for multilevel experimental designs and observational designs, and spilt-over effect; (9) Nonignorable missingness and informative censoring issues.

**Spatial Regression Analysis**

(MACS 55000). *Luc Anselin, M/W 1:30-2:50 p.m. PQ: Graduate level econometrics or multivariate regression, matrix algebra.*

This course covers statistical and econometric methods specifically geared to the problems of spatial dependence and spatial heterogeneity in cross-sectional data. The main objective of the course is to gain insight into the scope of spatial regression methods, to be able to apply them in an empirical setting, and to properly interpret the results of spatial regression analysis. While the focus is on spatial aspects, the types of methods covered have general validity in statistical practice. The course covers the specification of spatial regression models in order to incorporate spatial dependence and spatial heterogeneity, as well as different estimation methods and specification tests to detect the presence of spatial autocorrelation and spatial heterogeneity. Special attention is paid to the application to spatial models of generic statistical paradigms, such as Maximum Likelihood, Generalized Methods of Moments and the Bayesian perspective. An important aspect of the course is the application of open source software tools such as R, GeoDa and PySal to solve empirical problems.

**Computational Social Science Workshop**

(MACS 50000). *James Evans, Thursdays 11-12:20 p.m. Saieh 247. PQ: Computation students must register for a R. Other faculty and graduate students welcome.*

High performance and cloud computing, massive digital traces of human behavior from ubiquitous sensors, and a growing suite of efficient model estimation, machine learning and simulation tools are not just extending classical social science inquiry, but transforming it to pose novel questions at larger and smaller scales. The Computational Social Science (CSS) Workshop is a weekly event that features this work, highlights associated skills and data, and explores the use of CSS in the world. The CSS Workshop alternates weekly between research workshops and professional workshops. The research workshops feature new CSS work from top faculty and advanced graduate students from UChicago and around the world, while professional workshops highlight useful skills and data (e.g., machine learning with Python’s scikit-learn; the Twitter firehose API) and showcase practitioners using CSS in the government, industry and nonprofit sectors. Each quarter, the CSS Workshop also hosts a distinguished lecture, debate and dinner, and a student conference.

**Algorithms**

(MPCS 55001). *Geraldine Brady, **Days/Times TBD.** PQ: immersion math (MPCS 50103) or placement. Immersion programming (MPCS 50101) or programming waiver, or core programming (MPCS 51036 or 51040), or instructor consent.*

The course is an introduction to the design and analysis of efficient algorithms, with emphasis on developing techniques for the design and rigorous analysis of algorithms rather than on implementation. Algorithmic problems include sorting and searching, discrete optimization, and algorithmic graph theory. Design techniques include divide-and-conquer methods, dynamic programming, greedy methods, graph search, as well as the design of efficient data structures. Methods of algorithm analysis include asymptotic notation, evaluation of recurrences, and the concepts of polynomial-time algorithms. NP-completeness is introduced toward the end the course. Students who complete the course will have demonstrated the ability to use divide-and-conquer methods, dynamic programming methods, and greedy methods, when an algorithmic design problem calls for such a method. They will have learned the design strategies employed by the major sorting algorithms and the major graph algorithms, and will have demonstrated the ability to use these design strategies or modify such algorithms to solve algorithm problems when appropriate. They will have derived and solved recurrences describing the performance of divide-and-conquer algorithms, have analyzed the time and space complexity of dynamic programming algorithms, and have analyzed the efficiency of the major graph algorithms, using asymptotic analysis.

**Databases for Public Policy**

(CAPP 30235). *Aaron Elmore, **T/Th 12:30-1:50 p.m. **PQ: CAPP 30122.*

The course will cover the foundations of Database Management Systems (DBMS). This includes data models, database design, SQL, core database system components (e.g. transactions, recovery, query processing), distributed databases, NewSQL/NoSQL, and systems for data analytics (e.g. column-orientated databases, data warehouses). The goals for this class are for you to have the ability to model and design a database, an understanding of the core components of a database management system, the ability to write SQL, and an understanding of the differences between databases and data models.

**Databases**

(MPCS 53001). *Zachary Freeman, **Days/Times TBD. P**Q: MPCS 51036 or 51040 or 51100 (completed or concurrently enrolled). Non-MPCS students must meet prerequisites and complete Course Request Form.*

Students will learn database design and development and will build a simple but complete web application powered by a relational database. We start by showing how to model relational databases using the prevailing technique for conceptual modeling -- Entity-Relationship Diagrams (ERD). Concepts covered include entity sets and relationships, entity key as a unique identifier for each object in an entity set, one-one, many-one, and many-many relationships as well as translational rules from conceptual modeling (ERD) to relational table definitions. We also examine the relational model and functional dependencies and their application to the methods for improving database design: normal forms and normalization. After design and modeling, students will learn the universal language of relational databases: SQL (Structured Query Language). We start by introducing relational algebra -- the theoretical foundation of SQL. Then we examine in detail the two aspects of SQL: data definition language (DDL) and the data manipulation language (DML). Concepts covered include subqueries (correlated and uncorrelated), aggregation, various types of joins including outer joins and syntax alternatives. Students will gain significant experience with writing and reading SQL queries throughout the course in the detailed discussions in class, online homework, and the real-world individual project.

**Machine Learning for Public Policy**

(CAPP 30254). *Rayid Ghani, **T/Th 11-12:20 p.m. & Weekly Lab Wednesdays (1) 3:30-4:50 p.m. or (2) 5-6:20 p.m. **PQ: PPHA 31100 or PPHA 31300 and CAPP 30122 or PPHA 30550.*

This course will be an introduction to machine learning and how it can be applied to public policy problems. It’s designed for students who are interested in learning how to use modern, scalable, computational data analysis methods and tools, and apply them to social and policy problems. This course will teach students: what role machine learning can play in designing, implementing, evaluating, and improving public policy; machine Learning methods and tools; how to solve policy problems using machine learning methods and tools. This is a hands-on course where students will be expected to use Python (as well as other computational tools) to implement solutions to various policy problems. We will cover supervised and unsupervised learning algorithms and will learn how to use them with data from a variety of public policy problems in areas such as education, public health, sustainability, economic development, and public safety.

**Computational Approaches to Cognitive Neuroscience**

(PSYC 34410). *Nicholas Hatsopoulos, **T/Th 3:30-4:50 p.m. & Weekly Lab Wednesdays 3-4:50 p.m. **PQ: BIOS 24231 or CPNS 33100.*

This course is concerned with the relationship of the nervous system to higher order behaviors (e.g., perception, object recognition, action, attention, learning, memory, and decision making). Psychophysical, functional imaging, and electrophysiological methods are introduced. Mathematical and statistical methods (e.g. neural networks and algorithms for studying neural encoding in individual neurons and decoding in populations of neurons) are discussed. Weekly lab sections allow students to program cognitive neuroscientific experiments and simulations.

**Machine Learning**

(CMSC 35400). *Imre Kondor, T/Th 3-4:50 p.m. PQ: Instructor consent.*

This course provides hands-on experience with a range of contemporary machine learning algorithms, as well as an introduction to the theoretical aspects of the subject. Topics covered include: the PAC framework, Bayesian learning, graphical models, clustering, dimensionality reduction, kernel methods including SVMs, matrix completion, neural networks, and an introduction to statistical learning theory.

**Machine Learning and Large Scale Data Analysis **

(CMSC 25025). *John Lafferty, **T/Th 2-3:20 p.m. & Weekly Lab Wednesdays (1) 2-3:20 p.m., (2) 3:30-4:50 p.m., or (3) 5-6:20 p.m. **PQ: CMSC 15400 or CMSC 12200 and STAT 22000 or STAT 23400, or by consent.*

This course is an introduction to machine learning and the analysis of large data sets using distributed computation and storage infrastructure. Basic machine learning methodology and relevant statistical theory will be presented in lectures. Homework exercises will give students hands-on experience with the methods on different types of data. Methods include algorithms for clustering, binary classification, and hierarchical Bayesian modeling. Data types include images, archives of scientific articles, online ad clickthrough logs, and public records of the City of Chicago. Programming will be based on Python and R, but previous exposure to these languages is not assumed.

**Optimization**

(STAT 28000).* Lek-Heng Lim, **T/Th 3:30-4:50 p.m.*

This is an introductory course on optimization that will cover the rudiments of unconstrained and constrained optimization of a real-valued multivariate function. The focus is on the settings where this function is, respectively, linear, quadratic, convex, or differentiable. Time permitting, topics such as nonsmooth, integer, vector, and dynamic optimization may be briefly addressed. Materials will include basic duality theory, optimality conditions, and intractability results, as well as algorithms and applications.

**Applications of Hierarchical Linear Models**

(SOCI 30112). *Stephen Radenbush, **Mondays 9:30-12:20 p.m.*

A number of diverse methodological problems such as correlates of change, analysis of multi-level data, and certain aspects of meta-analysis share a common feature--a hierarchical structure. The hierarchical linear model offers a promising approach to analyzing data in these situations. This course will survey the methodological literature in this area, and demonstrate how the hierarchical linear model can be applied to a range of problems.

**Time Series Analysis and Stochastic Processes**

(MPCS 58020).* Andrew Siegel, Monday 5:30-8:30 p.m. PQ: MPCS 51036 or 51040 or 51100. Non-MPCS students must meet prerequisites and complete Course Request Form.*

Stochastic processes are driven by random events. They can be used to model phenomena in a broad range of disciplines, including science/engineering (e.g. computational physics, chemistry, and biology), business/finance (e.g. investment models and operations research), and computer systems (e.g. client/server workloads and resilience modeling). In many cases relatively simple stochastic simulations can provide estimates for problems that are difficult or impossible to model with closed-form equations. In this class we focus on the rudimentary ideas and techniques that underlie stochastic time series analysis, discrete events modeling, and Monte Carlo simulations. Course lectures will focus on the basic principles of probability theory, their efficient implementation on modern computers, and examples of their application to real world problems. Upon completion of the course, students should have an adequate background to quickly learn in depth specific Monte Carlo approaches in their chosen field of interest.

**Modeling and Signal Analysis for Neuroscientists**

(CPNS 32111). *Wim Van Drongelen, **M/W 1:30-2:50 p.m. & Weekly Lab TBD.** PQ: BIOS 26210, BIOS 26211 or instructor approval.*

The course provides an introduction into signal analysis and modeling for neuroscientists. We cover linear and nonlinear techniques and model both single neurons and neuronal networks. The goal is to provide students with the mathematical background to understand the literature in this field, the principles of analysis and simulation software, and allow them to construct their own tools. Several of the 90-minute lectures include demonstrations and/or exercises in Matlab.

**Genes and Environment in Language and Cognitive Development**

(PSYC 42052). *Daniel Yurovsky and Susan Levine, **Tuesdays 2-4:50 p.m.*

Children show tremendous variability in how quickly and how well they learn their native language. Where does this variability come from? We’ll explore both genetic and environmental contributions to language and cognitive development, aiming for an integrative understanding that moves beyond debates about nature and nurture. Readings will include work in behavioral genetics, environmental plasticity, niche inheritance, and cultural evolution and transmission.