University of Illinois Urbana-ChampaignWebsiteAcademic Catalog
Computing and Data ScienceDepartment Website
BSLAS Degree in Statistics and Computer Sciencesource 1source 2source 3
CS Courses
- Software Design LabCS 222 (1)softengCS 222: Software Design Lab
Design and implementation of novel software solutions. Problem identification and definition; idea generation and evaluation; and software implementation, testing, and deployment. Emphasizes software development best practices—including framework selection, code review, documentation, appropriate library usage, project management, continuous integration and testing, and teamwork.
- Data StructuresCS 225 (4)introCS 225: Data Structures
Data abstractions: elementary data structures (lists, stacks, queues, and trees) and their implementation using an object-oriented programming language. Solutions to a variety of computational problems such as search on graphs and trees. Elementary analysis of algorithms.
- orSystem ProgrammingCS 341 (4)sysCS 341: System Programming
Basics of system programming, including POSIX processes, process control, inter-process communication, synchronization, signals, simple memory management, file I/O and directories, shell programming, socket network programming, RPC programming in distributed systems, basic security mechanisms, and standard tools for systems programming.
Introduction to Computer SystemsCS 340 (3)sysCS 340: Introduction to Computer SystemsBasics of computer systems. Number representations, assembly/machine language, abstract models of processors, processes/process control, simple memory management, file I/O and directories, network programming, usage of cloud services.
- Numerical Methods ICS 357 (3)mathCS 357: Numerical Methods I
Fundamentals of numerical methods for students in science and engineering; floating-point computation, systems of linear equations, approximation of functions and integrals, the single nonlinear equation, and the numerical solution of ordinary differential equations; various applications in science and engineering; programming exercises and use of high quality mathematical library routines.
- Introduction to Algorithms & Models of ComputationCS 374 (4)algsCS 374: Introduction to Algorithms & Models of Computation
Analysis of algorithms, major paradigms of algorithm design including recursive algorithms, divide-and-conquer algorithms, dynamic programming, greedy algorithms, and graph algorithms. Formal models of computation including finite automata and Turing machines. Limitations of computation arising from fundamental notions of algorithm and from complexity-theoretic constraints. Reductions, undecidability and NP-completeness.
- Text Information SystemsorCS 410 (3)sysCS 410: Text Information Systems
Theory, design, and implementation of text-based information systems. Text analysis, retrieval models (e.g., Boolean, vector space, probabilistic), text categorization, text filtering, clustering, retrieval system design and implementation, and applications to web information management.
Database SystemsorCS 411 (3)sysCS 411: Database SystemsExamination of the logical organization of databases: the entity-relationship model; the hierarchical, network, and relational data models and their languages. Functional dependencies and normal forms. Design, implementation, and optimization of query languages; security and integrity; concurrency control, and distributed database systems.
Introduction to Data MiningorCS 412 (3)aiCS 412: Introduction to Data MiningConcepts, techniques, and systems of data warehousing and data mining. Design and implementation of data warehouse and on-line analytical processing (OLAP) systems; data mining concepts, methods, systems, implementations, and applications.
Machine LearningorCS 446 (3)aiCS 446: Machine LearningPrinciples and applications of machine learning. Main paradigms and techniques, including discriminative and generative methods, reinforcement learning: linear regression, logistic regression, support vector machines, deep nets, structured methods, dimensionality reduction, k-means, Gaussian mixtures, expectation maximization, Markov decision processes, and Q-learning.
Advanced Topics in Stochastic Processes & ApplicationsorCS 481 (3)mathCS 481: Advanced Topics in Stochastic Processes & ApplicationsModeling and analysis of stochastic processes. Transient and steady-state behavior of continuous-time Markov chains; renewal processes; models of queuing systems (birth-and-death models, embedded-Markov-chain models, queuing networks); reliability models; inventory models. Familiarity with discrete-time Markov chains, Poisson processes, and birth-and-death processes is assumed. Same as CS 481.
SimulationCS 482 (3)mathCS 482: SimulationUse of discrete-event simulation in modeling and analysis of complex systems. Data structures and event-list management; verification and validation of simulation models; input modeling, including selection of probability distributions and random variate generation; statistical analysis of output data. Same as CS 482.
- Programming Languages & CompilersCS 421 (3)plsCS 421: Programming Languages & Compilers
Structure of programming languages and their implementation. Basic language design principles; abstract data types; functional languages; type systems; object-oriented languages. Basics of lexing, parsing, syntax-directed translation, semantic analysis, and code generation.
Math/Stat Courses
- Data Science DiscoveryorSTAT 107 (4)mathSTAT 107: Data Science Discovery
Data Science Discovery is the intersection of statistics, computation, and real-world relevance. As a project-driven course, students perform hands-on-analysis of real-world datasets to analyze and discover the impact of the data. Throughout each experience, students reflect on the social issues surrounding data analysis such as privacy and design. Same as CS 107 and IS 107. This course satisfies the General Education Criteria for: Quantitative Reasoning I
Statistical AnalysisorSTAT 200 (3)mathSTAT 200: Statistical AnalysisSurvey of statistical concepts, data analysis, designed and observational studies and statistical models. Statistical computing using a statistical package such as R or a spreadsheet. Topics to be covered include data summary and visualization, study design, elementary probability, categorical data, comparative experiments, multiple linear regression, analysis of variance, statistical inferences and model diagnostics. May be taken as a first statistics course for quantitatively oriented students, or as a second course to follow a basic concepts course.
BiostatisticsSTAT 212 (3)mathSTAT 212: BiostatisticsApplication of statistical reasoning and statistical methodology to biology. Topics include descriptive statistics, graphical methods, experimental design, probability, statistical inference and regression. In addition, techniques of statistical computing are covered.
- Calculus IMATH 221 (4)mathMATH 221: Calculus I
First course in calculus and analytic geometry for students with some calculus background; basic techniques of differentiation and integration with applications including curve sketching; antidifferentation, the Riemann integral, fundamental theorem, exponential and trigonometric functions.
- Linear Algebra with Computational ApplicationsorMATH 257 (3)mathMATH 257: Linear Algebra with Computational Applications
Introductory course incorporating linear algebra concepts with computational tools, with real world applications to science, engineering and data science. Topics include linear equations, matrix operations, vector spaces, linear transformations, eigenvalues, eigenvectors, inner products and norms, orthogonality, linear regression, equilibrium, linear dynamical systems and the singular value decomposition.
Applied Linear AlgebraMATH 415 (3)mathMATH 415: Applied Linear AlgebraIntroductory course emphasizing techniques of linear algebra with applications to engineering; topics include matrix operations, determinants, linear equations, vector spaces, linear transformations, eigenvalues, and eigenvectors, inner products and norms, orthogonality, equilibrium, and linear dynamical systems.
- Statistics and Probability ISTAT 400 (4)mathSTAT 400: Statistics and Probability I
Introduction to mathematical statistics that develops probability as needed; includes the calculus of probability, random variables, expectation, distribution functions, central limit theorem, point estimation, confidence intervals, and hypothesis testing. Offers a basic one-term introduction to statistics and also prepares students for STAT 410 and STAT 425. Same as MATH 463.
- Statistics and Probability IISTAT 410 (3)mathSTAT 410: Statistics and Probability II
Continuation of STAT 400. Includes moment-generating functions, transformations of random variables, normal sampling theory, sufficiency, best estimators, maximum likelihood estimators, confidence intervals, most powerful tests, unbiased tests, and chi-square tests. Same as MATH 464.
- Statistical Modeling ISTAT 425 (3-4)mathSTAT 425: Statistical Modeling I
This is the foundation for advanced statistical modeling with a focus on multiple strategies for analyzing data. The course explores linear regression, least squares estimates, F-tests, analysis of residuals, regression diagnostics, transformations, model building, generalized and weighted least squares, PCA, A/B testing, randomization tests, ANOVA, random effects, mixed effects, and longitudinal data. Statistical computing is an integral part of the course.
- Statistical Modeling IISTAT 426 (3-4)mathSTAT 426: Statistical Modeling II
This is a continuation in the study of advanced statistical modeling techniques with a focus on categorical data. The course explores logistic regression, generalized linear models, goodness-of-fit, link functions, count regression, log-linear models, probability models for contingency tables, and ordinal response models. Statistical computing is an integral part of the course.
- orApplied Bayesian AnalysisorSTAT 431 (3-4)mathSTAT 431: Applied Bayesian Analysis
Introduction to the concepts and methodology of Bayesian statistics, for students with fundamental knowledge of mathematical statistics. Topics include Bayes' rule, prior and posterior distributions, conjugacy, Bayesian point estimates and intervals, Bayesian hypothesis testing, noninformative priors, practical Markov chain Monte Carlo, hierarchical models and model graphs, and more advanced topics as time permits. Implementations in R and specialized simulation software.
Basics of Statistical LearningorSTAT 432 (3-4)mathSTAT 432: Basics of Statistical LearningTopics in supervised and unsupervised learning are covered, including logistic regression, support vector machines, classification trees and nonparametric regression. Model building and feature selection are discussed for these techniques, with a focus on regularization methods, such as lasso and ridge regression, as well as methods for model selection and assessment using cross validation. Cluster analysis and principal components analysis are introduced as examples of unsupervised learning.
Survival AnalysisorSTAT 434 (3-4)mathSTAT 434: Survival AnalysisIntroduction to the analysis of time-to-event outcomes. Topics center around three main procedures: the Kaplan-Meier estimator, the log-rank test, and Cox regression. Emphasis on big-picture concepts, basic methodological understanding, and practical implementation in R.
Advanced Data AnalysisSTAT 448 (4)mathSTAT 448: Advanced Data AnalysisSeveral of the most widely used techniques of data analysis are discussed with an emphasis on statistical computing. Topics include linear regression, analysis of variance, generalized linear models, and analysis of categorical data. In addition, an introduction to data mining is provided considering classification, model building, decision trees, and cluster analysis. Same as CSE 448.