CS Curricula

←All schools

University of Illinois Urbana-ChampaignWebsiteAcademic Catalog

Computing and Data ScienceDepartment Website

Majors

Courses

source 1source 2source 3source 4source 5

CS 100: Computer Science Orientation (1)

Introduction to Computer Science as a field and career for incoming first year and external transfer students in the computer science majors. Overview of the field and specific examples of problem areas and methods of solution.

CS 101: Intro Computing: Engrg & Sci (3) intro

Fundamental principles, concepts, and methods of computing, with emphasis on applications in the physical sciences and engineering. Basic problem solving and programming techniques; fundamental algorithms and data structures; use of computers in solving engineering and scientific problems. Intended for engineering and science majors.

CS 102: Little Bits to Big Ideas (4)

Same as INFO 102. See INFO 102.

CS 105: Intro Computing: Non-Tech (3)

Computing as an essential tool of academic and professional activities. Functions and interrelationships of computer system components: hardware, systems and applications software, and networks. Widely used application packages such as spreadsheets and databases. Concepts and practice of programming for the solution of simple problems in different application areas. Intended for non-science and non-engineering majors.

CS 107: Data Science Discovery (4)

Same as IS 107 and STAT 107. See STAT 107.

CS 124: Introduction to Computer Science I (3) intro

Basic concepts in computing and fundamental techniques for solving computational problems. Intended as a first course for computer science majors and others with a deep interest in computing.

CS 125: Introduction to Computer Science (4) intro

Basic concepts in computing and fundamental techniques for solving computational problems. Intended as a first course for computer science majors and others with a deep interest in computing.

CS 126: Software Design Studio (3) intro

Fundamental principles and techniques of software development. Design, documentation, testing, and debugging software, with a significant emphasis on code review.

CS 128: Introduction to Computer Science II (3) intro

Continuation of CS 124. More advanced concepts in computing and techniques and approaches for solving computational problems.

CS 173: Discrete Structures (3) math

Discrete mathematical structures frequently encountered in the study of Computer Science. Sets, propositions, Boolean algebra, induction, recursion, relations, functions, and graphs.

CS 196: First-Year Student Honors (1) special

Offered for honors credit in conjunction with other 100-level computer science courses taken concurrently.

CS 199: Undergraduate Open Seminar in Computer Science (05) special

Topics vary. May be repeated.

CS 210: Ethical & Professional Issues (2) impact

Ethics for the computing profession. Ethical decision-making; licensing; intellectual property, freedom of information, and privacy.

CS 211: Ethical and Professional Conduct (3) impact

Navigating the complex ethical and professional landscape of the computing professional: privacy, intellectual property, cybersecurity, and freedom of speech.

CS 222: Software Design Lab (1) softeng

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.

CS 225: Data Structures (4) intro

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.

CS 233: Computer Architecture (4) sys

Fundamentals of computer architecture: digital logic design, machine-level programming, performance models of modern computer architectures, hardware primitives for parallelism and security.

CS 242: Programming Studio (3) intro

Intensive programming lab intended to strengthen skills in programming.

CS 277: Algorithms and Data Structures for Data Science (4) algs

Introduction to elementary concepts in algorithms and classical data structures with a focus on their applications in Data Science. Topics include algorithm analysis, elementary data structures, discrete algorithm design principles, and discussion of discrete and continuous optimization.

CS 340: Introduction to Computer Systems (3) sys

Basics 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.

CS 341: System Programming (4) sys

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.

CS 357: Numerical Methods I (3) math

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.

CS 361: Probability & Statistics for Computer Science (3) math

Introduction to probability theory and statistics with applications to computer science. Topics include: visualizing datasets, summarizing data, basic descriptive statistics, conditional probability, independence, Bayes theorem, random variables, joint and conditional distributions, expectation, variance and covariance, central limit theorem, Markov inequality, Chebyshev inequality, law of large numbers, Markov chains, simulation, the PageRank algorithm, populations and sampling, sample mean, standard error, maximum likelihood estimation, Bayes estimation, hypothesis testing, confidence intervals, linear regression, principal component analysis, classification, and decision trees.

CS 374: Introduction to Algorithms & Models of Computation (4) algs

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.

CS 403: Accelerated Fundamentals of Algorithms II (3) algs

The second class in a sequence of two classes that introduces students to the theoretical foundations of computer science. Topics include major paradigms of algorithm design divide and conquer, greedy, recursive, and dynamic programming; solving recurrences and analysis of divide and conquer algorithms; graph algorithms; formal models of computations like finite state automata and Turing machines; reductions.

CS 407: Cryptography (3) math

Same as ECE 407.

CS 409: The Art of Web Programming (3) sys

Client- and server-side technologies that enable modern Web applications. Topics include the building blocks of the Web (browsers, HTML, CSS, JavaScript) and data exchange (HTTP, AJAX, JSON, REST). Assignments expose students to full-stack web development, and JavaScript frameworks that scaffold MVC architectures and event-driven, asynchronous programming. The course culminates in a final project, where students work in teams to design and develop an original, database-backed web application.

CS 410: Text Information Systems (3) sys

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.

CS 411: Database Systems (3) sys

Examination 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.

CS 412: Introduction to Data Mining (3) ai

Concepts, 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.

CS 414: Multimedia Systems (3) sys

Organization and structure of modern multimedia systems; audio and video encoding; quality of service concepts; scheduling algorithms for multimedia within OS and networks multimedia protocols over high-speed networks; synchronization schemes, user-interface design; multimedia teleservices.

CS 415: Game Development (3) graphics

A team and project-based course on the technical aspects of video game development and game engine internals: geometric modeling, game physics and AI, shader programming, real-time physically based rendering, and software engineering practices within the game industry.

CS 416: Data Visualization (3) graphics

Elements of databases, computer graphics and perceptual psychology combined to utilize the human visual system to improve user understanding of large datasets. Topics include appropriate and effective selection and construction of charts, organization of dashboards, and design for user engagement and interaction.

CS 417: Virtual Reality (3) graphics

Provides both a deep understanding of the fundamentals of virtual reality (VR) and practical experience implementing VR systems. Topics covered include visual and audio display technology, tracking, human perception and psychophysics, building user interfaces for VR, and analyzing VR experiences.

CS 418: Interactive Computer Graphics (3) graphics

Basic mathematical tools and computational techniques for modeling, rendering, and animating 3-D scenes. Same as CSE 427.

CS 419: Production Computer Graphics (3) graphics

Advanced methods for representing, displaying, and rendering two-, three-, and four-dimensional scenes. General algebraic curves and surfaces, splines, Gaussian and bump-function representation, fractals, particle systems, constructive solid geometry methods, lighting models, radiosity, advanced ray-tracing methods, surface texturing animation techniques, data visualization methods.

CS 420: Parallel Progrmg: Sci & Engrg (3) sys

Fundamental issues in design and development of parallel programs for various types of parallel computers. Various programming models according to both machine type and application area. Cost models, debugging, and performance evaluation of parallel programs with actual application examples. Same as CSE 402 and ECE 492.

CS 421: Programming Languages & Compilers (3) pls

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.

CS 422: Programming Language Design (3) pls

Exploration of major language design paradigms using imperative and functional programming as unifying themes. Tools include both practical language processor construction and theoretical models.

CS 423: Operating Systems Design (3) sys

Organization and structure of modern operating systems and concurrent programming concepts. Deadlock, virtual memory, processor scheduling, and disk systems. Performance, security, and protection. Same as CSE 423.

CS 424: Real-Time Systems (3) sys

Supervisory control aspects of Cyber Physical Systems (CPS): fundamentals of reliability analysis, real-time scheduling, simple feedback control, software fault tolerance architecture, wireless networking and energy saving, principles of safety critical system engineering. Student groups design and demonstrate supervisory control architecture for a robot.

CS 425: Distributed Systems (3) sys

Protocols, specification techniques, global states and their determination, reliable broadcast, transactions and commitment, security, and real-time systems. Same as ECE 428.

CS 426: Compiler Construction (3) pls

Compiler structure, syntax analysis, syntax-directed translation, automatically constructed recognizers, semantic analysis, code generation, intermediate language, optimization techniques.

CS 427: Software Engineering I (3) softeng

Software process, analysis and design. Software development paradigms, system engineering, function-based analysis and design, and object-oriented analysis and design. Course will use team-projects for hands-on exercises. Same as CSE 426.

CS 428: Software Engineering II (3) softeng

Continuation of CS 427. Software development, management, and maintenance. Project and configuration management, collaborative development models, software quality assurance, interoperability domain engineering and software reuse, and software re-engineering. Same as CSE 429.

CS 429: Software Engineering II, ACP (3) softeng

Continuation of CS 427. Identical to CS 428 except for the additional writing component. See CS 428.

CS 431: Embedded Systems (3) sys

Students will learn embedded system architecture, Real-Time Operating Systems, and real-time software design and development techniques.

CS 433: Computer System Organization (3) sys

Computer hardware design and analysis and interface with software. Advanced processor design, memory hierarchy design, principles of multiprocessor design.

CS 435: Cloud Networking (3) sys

Provides a foundational view of computer networks with a focus on enabling modern large-scale cloud computing.

CS 436: Computer Networking Laboratory (3) sys

Design, application, analysis, and deployment of communication protocols and system software behind modern cloud/compute/network infrastructures.

CS 437: Topics in Internet of Things (3) sys

Topics of networked embedded computing technology, known as the Internet of Things, in application, distributed, human-centric, or social contexts.

CS 438: Communication Networks (3) sys

Layered architectures and the OSI Reference Model; design issues and protocols in the transport, network, and data link layers.

CS 440: Artificial Intelligence (3) ai

Major topics in and directions of research in artificial intelligence: basic problem solving techniques, knowledge representation and computer inference, machine learning, natural language understanding, computer vision, robotics, and societal impacts. Same as ECE 448.

CS 441: Applied Machine Learning (3) ai

Techniques of machine learning to various signal problems: regression, including linear regression, multiple regression, regression forest and nearest neighbors regression; classification with various methods, including logistic regression, support vector machines, nearest neighbors, simple boosting and decision forests; clustering with various methods, including basic agglomerative clustering and k-means; resampling methods, including cross-validation and the bootstrap; model selection methods, including AIC, stepwise selection and the lasso; hidden Markov models; model estimation in the presence of missing variables; and neural networks, including deep networks. The course will focus on tool-oriented and problem-oriented exposition. Application areas include computer vision, natural language, interpreting accelerometer data, and understanding audio data.

CS 442: Trustworthy Machine Learning (3) ai

Prepares students to understand the security and privacy problems in machine learning and educates students to propose different attack strategies to identify the vulnerabilities of a range of learning algorithms and understand different defense approaches towards trustworthy machine learning systems.

CS 443: Reinforcement Learning (3) ai

Fundamental concepts and basic algorithms in Reinforcement Learning (RL) - a machine learning paradigm for sequential decision-making.

CS 444: Deep Learning for Computer Vision (3) ai

Provides an elementary hands-on introduction to neural networks and deep learning with an emphasis on computer vision applications.

CS 445: Computational Photography (3) ai

Computer vision techniques to enhance, manipulate, and create media from photo collections, such as panoramic stitching, face morphing, texture synthesis, blending, and 3D reconstruction.

CS 446: Machine Learning (3) ai

Principles 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.

CS 447: Natural Language Processing (3) ai

Part-of-speech tagging, parsing, semantic analysis and machine translation. Relevant linguistics concepts from morphology (word formation) and lexical semantics (the meaning of words) to syntax (sentence structure) and compositional semantics (the meaning of sentences).

CS 448: Audio Computing Laboratory (3) ai

Computational foundations of modern audio applications: theory of audio processing for implementation of applications such as room and 3D/virtual audio rendering, pitch manipulations and autotuning, denoising for communications and forensics, audio classification, music information retrieval based on audio, rudimentary speech recognition, speech and audio coding, applications of machine learning to audio scene recognition, audio restoration, missing data recovery, and many more.

CS 450: Numerical Analysis (3) math

Linear system solvers, optimization techniques, interpolation and approximation of functions, solving systems of nonlinear equations, eigenvalue problems, least squares, and quadrature; numerical handling of ordinary and partial differential equations.

CS 460: Security Laboratory (3) sys

Operating systems security: access control, least privilege mechanism and malware techniques. Network security: firewalls, sniffing, tunnels, intrusion detection, AAA and worm structure. System security: forensics security architectures, and attack/defend exercises.

CS 461: Computer Security I (4) sys

Fundamental principles of computer and communications security and information assurance: ethics, privacy, notions of threat, vulnerabilities, and risk in systems, information warfare, malicious software, data secrecy and integrity issues, network security, trusted computing, mandatory and discretionary access controls, certification and accreditation of systems against security standards.

CS 463: Computer Security II (3) sys

Program security, trusted base, privacy, anonymity, non-interference, information flow, confinement, advanced auditing, forensics, intrusion detection, key management and distribution, policy composition and analysis, formal approaches to specification and verification of secure systems and protocols, and topics in applied cryptography.

CS 464: Topics in Societal and Ethical Impacts of Computer Technology (3) impact

Topics selected from key current areas of impact of computer technology on aspects of society and ethics such as: freedom versus the rule of law in cyberspace; social discourse; privacy; livelihoods and automation; fairness; security; political change; business models; technology divide.

CS 465: User Interface Design (4) humans

A project-focused course covering fundamental principles of user interface design, implementation, and evaluation. Small teams work on a term-long project that involves: analysis of the problem domain, user skills, and tasks; iterative prototyping of interfaces to address user needs; conducting several forms of evaluation such as cognitive walkthroughs and usability tests; implementation of the final prototype. Non-technical majors may enroll as non-programmers who participate in all aspects of the projects with the possible exception of implementation.

CS 466: Introduction to Bioinformatics (3) ai

Algorithmic approaches in bioinformatics: (i) biological problems that can be solved computationally (e.g., discovering genes, and interactions among different genes and proteins); (ii) algorithmic techniques with wide applicability in solving these problems (e.g., dynamic programming and probabilistic methods); (iii) practical issues in translating the basic algorithmic ideas into accurate and efficient tools that biologists may use.

CS 467: Social Visualization (3) graphics

Visualizing social interaction in networked spaces: investigation of patterns in networked communications systems such as messaging (email, instant messaging), social networking sites and collaborative sites; social network theory and visualizations; exploration of how to move beyond existing visualization techniques; visualizing the network identity over compilations of online data.

CS 468: Tech and Advertising Campaigns (3)

Same as ADV 492. See ADV 492.

CS 469: Computational Advertising Infrastructure (3) ai

Thorough coverage of technologies including web-search, auctions, behavioral targeting, mechanisms for viral marketing, that underpin the display of advertisements on a variety of locations (e.g., ads on search engines; display ads). Students shall also learn about emerging areas in computational advertising including location-based adverting and algorithmic synthesis of personalized advertisements. Discussion around privacy will be a significant focus of the class.

CS 470: Social and Information Networks (3) softeng

Social networks, auctions, and stock-markets appear to be very different phenomena, but they share a common foundation—the science of networks. The learning goal: to provide a broad, accessible introduction to the foundations of network science. We shall draw on ideas from mathematical sociology, and from game theory to understand strategic interaction over networks. We shall develop algorithms to identify network properties, and models for explaining network dynamics, including viral behavior.

CS 473: Algorithms (4) algs

Design and analysis techniques, approximation algorithms, randomized algorithms and amortized analysis, and advanced topics such as network flow, linear programming, and dynamic data structures, among others.

CS 474: Logic in Computer Science (3) theory

An introduction to mathematical logic from the perspective of computer science, emphasizing both computable aspects of logic, especially automated reasoning, as well as applications of logic to computer science in artificial intelligence, databases, formal methods, and theoretical computer science.

CS 475: Formal Models of Computation (3) theory

Finite automata and regular languages; pushdown automata and context-free languages; Turing machines and recursively enumerable sets; linear-bounded automata and context-sensitive languages; computability and the halting problem; undecidable problems; recursive functions; Chomsky hierarchy; computational complexity.

CS 476: Program Verification (3) softeng

Formal methods for demonstrating correctness and other properties of programs. Invariant assertions; Hoare axiomatics; well-founded orderings for proving termination; structural induction; computational induction; data structures; parallel programs; overview of predicate calculus.

CS 477: Formal Software Development Methods (3) softeng

Mathematical models, languages, and methods for software specification, development, and verification.

CS 481: Advanced Topics in Stochastic Processes & Applications (3) math

Modeling 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.

CS 482: Simulation (3) math

Use 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.

CS 484: Parallel Programming (3) sys

Techniques for the programming of all classes of parallel computers and devices including shared memory and distributed memory multiprocessors, SIMD processors and co-processors, and special purpose devices. Key concepts in parallel programming such as reactive and transformational programming, speculation, speedup, isoefficiency, and load balancing. Synchronization primitives, libraries and languages for parallel programming such as OpenMP and MPI, performance monitoring, program tuning, analysis and programming of numerical and symbolic parallel algorithms.

CS 492: Senior Project I (3) capstone

First part of a project course in computer science. Students work in teams to solve typical commercial or industrial problems. Work involves planning, design, and implementation. Extensive oral and written work is required both on-campus and possibly off-campus at sponsors' locations.

CS 493: Senior Project II, ACP (3) capstone

Continuation of CS 492. Identical to CS 494 except for an additional writing component.

CS 494: Senior Project II (3) capstone

Continuation of CS 492.

CS 497: CS Team Project (13) capstone

Student teams work with CS faculty to complete a significant project requiring advanced knowledge of CS principles. Project topics vary.

CS 499: Senior Thesis (3) capstone

Research and thesis development experience in computer science under guidance of a faculty member. Literature search, oral presentation, analysis and implementation, paper preparation, and completion of a written thesis.

STAT 107: Data Science Discovery (4) math

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

STAT 200: Statistical Analysis (3) math

Survey 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.

STAT 212: Biostatistics (3) math

Application 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.

MATH 221: Calculus I (4) math

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.

MATH 231: Calculus II (3) math

Second course in calculus and analytic geometry: techniques of integration, conic sections, polar coordinates, and infinite series.

MATH 241: Calculus III (4) math

Third course in calculus and analytic geometry including vector analysis: Euclidean space, partial differentiation, multiple integrals, line integrals and surface integrals, the integral theorems of vector calculus.

MATH 257: Linear Algebra with Computational Applications (3) math

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.

MATH 285: Intro Differential Equations (3) math

Techniques and applications of ordinary differential equations, including Fourier series and boundary value problems, and an introduction to partial differential equations. Intended for engineering majors and others who require a working knowledge of differential equations.

MATH 347: Fundamental Mathematics (3) math

Fundamental ideas used in many areas of mathematics. Topics will include: techniques of proof, mathematical induction, binomial coefficients, rational and irrational numbers, the least upper bound axiom for real numbers, and a rigorous treatment of convergence of sequences and series. This will be supplemented by the instructor from topics available in the various texts. Students will regularly write proofs emphasizing precise reasoning and clear exposition. Credit is not given for both MATH 347 and MATH 348.

STAT 400: Statistics and Probability I (4) math

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.

STAT 410: Statistics and Probability II (3) math

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.

MATH 412: Graph Theory (3) math

Examines basic concepts and applications of graph theory, where graph refers to a set of vertices and edges that join some pairs of vertices; topics include subgraphs, connectivity, trees, cycles, vertex and edge coloring, planar graphs and their colorings. Draws applications from computer science, operations research, chemistry, the social sciences, and other branches of mathematics, but emphasis is placed on theoretical aspects of graphs.

MATH 413: Intro to Combinatorics (3) math

Permutations and combinations, generating functions, recurrence relations, inclusion and exclusion, Polya's theory of counting, and block designs. Same as CS 413.

MATH 413: Intro to Combinatorics (3)

Permutations and combinations, generating functions, recurrence relations, inclusion and exclusion, Polya's theory of counting, and block designs.

MATH 414: Mathematical Logic (3) math

Introduction to the formalization of mathematics and the study of axiomatic systems; expressive power of logical formulas; detailed treatment of propositional logical and predicate logic; compactness theorem and Godel completeness theorem, with applications to specific mathematical theories; algorithmic aspects of logical formulas. Proofs are emphasized in this course, which can serve as an introduction to abstract mathematics and rigorous proof; some ability to do mathematical reasoning required.

MATH 415: Applied Linear Algebra (3) math

Introductory 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.

MATH 416: Abstract Linear Algebra (3) math

Rigorous proof-oriented course in linear algebra. Topics include determinants, vector spaces over fields, linear transformations, inner product spaces, eigenvectors and eigenvalues, Hermitian matrices, Jordan Normal Form.

MATH 417: Intro to Abstract Algebra (3) math

Fundamental theorem of arithmetic, congruences. Permutations. Groups and subgroups, homomorphisms. Group actions with applications. Polynomials. Rings, subrings, and ideals. Integral domains and fields. Roots of polynomials. Maximal ideals, construction of fields.

MATH 424: Honors Real Analysis (3) math

A rigorous treatment of basic real analysis via metric spaces recommended for those who intend to pursue programs heavily dependent upon graduate level Mathematics. Metric space topics include continuity, compactness, completeness, connectedness and uniform convergence. Analysis topics include the theory of differentiation, Riemann-Darboux integration, sequences and series of functions, and interchange of limiting operations. As part of the honors sequence, this course will be rigorous and abstract.

STAT 425: Statistical Modeling I (34) math

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.

STAT 426: Statistical Modeling II (34) math

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.

MATH 427: Honors Abstract Algebra (3) math

Group theory, counting formulae, factorization, modules with applications to Abelian groups and linear operators. As part of the honors sequence, this course will be rigorous and abstract.

STAT 428: Statistical Computing (34) math

Examines statistical packages, numerical analysis for linear and nonlinear models, graphics, and random number generation and Monte Carlo methods. Same as CSE 428.

STAT 431: Applied Bayesian Analysis (34) math

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.

STAT 432: Basics of Statistical Learning (34) math

Topics 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.

STAT 434: Survival Analysis (34) math

Introduction 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.

MATH 441: Differential Equations (3) math

Basic course in ordinary differential equations; topics include existence and uniqueness of solutions and the general theory of linear differential equations; treatment is more rigorous than that given in MATH 285.

MATH 444: Elementary Real Analysis (3) math

Careful treatment of the theoretical aspects of the calculus of functions of a real variable intended for those who do not plan to take graduate courses in Mathematics. Topics include the real number system, limits, continuity, derivatives, and the Riemann integral.

MATH 446: Applied Complex Variables (3) math

For students who desire a working knowledge of complex variables; covers the standard topics and gives an introduction to integration by residues, the argument principle, conformal maps, and potential fields.

MATH 447: Real Variables (3) math

Careful development of elementary real analysis for those who intend to take graduate courses in Mathematics. Topics include completeness property of the real number system; basic topological properties of n-dimensional space; convergence of numerical sequences and series of functions; properties of continuous functions; and basic theorems concerning differentiation and Riemann integration.

STAT 448: Advanced Data Analysis (4) math

Several 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.

MATH 461: Probability Theory (3) math

Introduction to mathematical probability; includes the calculus of probability, combinatorial analysis, random variables, expectation, distribution functions, moment-generating functions, and central limit theorem.

MATH 484: Nonlinear Programming (3) math

Iterative and analytical solutions of constrained and unconstrained problems of optimization; gradient and conjugate gradient solution methods; Newton's method, Lagrange multipliers, duality and the Kuhn-Tucker theorem; and quadratic, convex, and geometric programming.

PHYS 110: Physics Careers (0)

Exploration of careers founded on physics undergraduate training. Introduction to the Physics Department, faculty, research and curricula. Outside speaker presentations.

PHYS 211: University Physics: Mechanics (4) sci

Newton's Laws, work and energy, static properties and fluids, oscillations, transverse waves, systems of particles, and rotations. A calculus-based approach for majors in engineering, mathematics, physics and chemistry. Credit is not given for both PHYS 211 and PHYS 101.

PHYS 212: University Physics: Elec & Mag (4) sci

Coulomb's Law, electric fields, Gauss' Law, electric potential, capacitance, circuits, magnetic forces and fields, Ampere's law, induction, electromagnetic waves, polarization, and geometrical optics. A calculus-based approach for majors in engineering, mathematics, physics, and chemistry. Credit is not given for both PHYS 212 and PHYS 102.

PHYS 213: Univ Physics: Thermal Physics (2) sci

First and second laws of thermodynamics including kinetic theory of gases, heat capacity, heat engines, introduction to entropy and statistical mechanics, and introduction to application of free energy and Boltzmann factor. A calculus-based approach for majors in engineering, mathematics, physics and chemistry. Credit is not given for both PHYS 213 and PHYS 101.

PHYS 214: Univ Physics: Quantum Physics (2) sci

Interference and diffraction, photons and matter waves, the Bohr atom, uncertainty principle, and wave mechanics. A calculus-based course for majors in engineering, mathematics, physics, and chemistry.

PHYS 225: Relativity & Math Applications (2) sci

Theory of Special Relativity, with applications to kinematics and dynamics. Key mathematical methods as they apply to aspects of electromagnetic theory and classical mechanics, including vector analysis, series expansions, matrices, Fourier analysis, partial differentiation, three-dimensional calculus, and simple differential equations.

PHYS 246: Physics on the Silicon Prairie: An Introduction to Modern Computational Physics (2) sci

You will become a fearless code warrior, exploring the behaviors of systems that are too complicated for analytic characterization. You will calculate the trajectory of a relativistic starship and confirm an insight of Ramanujan, the 'Man Who Knew Infinity.' You will generate diagrams of spacetime curvature near black holes and confirm that General Relativity causes the non-Newtonian behavior of Mercury's orbit. You will calculate Π using simulated grains of sand. There will be chaos, Monte Carlo simulations, and adaptive numerical integrations.

PHYS 325: Classical Mechanics I (3) sci

Kinematics and dynamics of classical systems, including a review of Newtonian kinematics and dynamics. Three dimensional motion, variable mass, and conservation laws; damped and periodically driven oscillations; gravitational potential of extended objects and motion in rotating frames of reference; Lagrangian and Hamiltonian mechanics.

PHYS 435: Electromagnetic Fields I (3) sci

Static electric and magnetic fields, their interactions with electric charge and current, and their transformation properties; the effect of special relativity is incorporated. Macroscopic fields in material media are described. Register for the lecture and one of the discussion sections.

PHYS 446: Modern Computational Physics (3) sci

This is an immersive advanced computational physics course. The goals in this class are to program from scratch, simulate, and understand the physics within a series of multi-week projects spanning areas such as quantum computing, statistical mechanics, the renormalization group, machine learning, and topological insulators. The course approach (lectures, one-on-one interaction in class, etc.) is centered around giving you the information and skills you need to succeed in carrying out these projects.

PHYS 485: Atomic Phys & Quantum Theory (3) sci

Basic concepts of quantum theory which underlie modern theories of the properties of materials; elements of atomic and nuclear theory; kinetic theory and statistical mechanics; quantum theory and simple applications; atomic spectra and atomic structure; molecular structure and chemical binding.

PHYS 486: Quantum Physics I (4) sci

Atomic phenomena integrated with an introduction to quantum theory; evidence for the atomic nature of matter and the properties of the Schrodinger equation, single particle solutions in one dimension, the hydrogen atom, perturbation theory, external fields, and atomic spectroscopy of outer electrons.

ENG 100: Grainger Engineering Orientation Seminar (1)

Introduces students to the Grainger College of Engineering and their respective departments. Students will explore the academic environment at Illinois, developing skills that will aid in learning both inside and outside the classroom, build their leadership and collaborative skills, and build community inside and outside the classroom. Through class discussion and assignments, students will explore campus resources, examine and set goals for academic, personal, and professional development, and develop skills to work in diverse teams through a class project.