University of Illinois Urbana-ChampaignWebsiteAcademic Catalog
Computing and Data ScienceDepartment Website
BS Degree in Computer Science + Physicssource 1source 2
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 IorCS 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.
Numerical AnalysisCS 450 (3)mathCS 450: Numerical AnalysisLinear 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.
- 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.
Math/Stat Courses
- 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.
- Intro Differential EquationsMATH 285 (3)mathMATH 285: Intro Differential Equations
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.
- Probability & Statistics for Computer ScienceorCS 361 (3)mathCS 361: Probability & Statistics for Computer Science
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.
Statistics and Probability ISTAT 400 (4)mathSTAT 400: Statistics and Probability IIntroduction 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.
Engineering Courses
Science Courses
- University Physics: MechanicsPHYS 211 (4)sciPHYS 211: University Physics: Mechanics
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.
- University Physics: Elec & MagPHYS 212 (4)sciPHYS 212: University Physics: Elec & Mag
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.
- Univ Physics: Thermal PhysicsPHYS 213 (2)sciPHYS 213: Univ Physics: Thermal Physics
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.
- Relativity & Math ApplicationsPHYS 225 (2)sciPHYS 225: Relativity & Math Applications
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.
- Physics on the Silicon Prairie: An Introduction to Modern Computational PhysicsPHYS 246 (2)sciPHYS 246: Physics on the Silicon Prairie: An Introduction to Modern Computational Physics
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.
- Classical Mechanics IPHYS 325 (3)sciPHYS 325: Classical Mechanics I
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.
- Electromagnetic Fields IPHYS 435 (3)sciPHYS 435: Electromagnetic Fields I
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.
- Modern Computational PhysicsPHYS 446 (3)sciPHYS 446: Modern Computational Physics
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.
- Atomic Phys & Quantum TheoryorPHYS 485 (3)sciPHYS 485: Atomic Phys & Quantum Theory
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.
Quantum Physics IPHYS 486 (4)sciPHYS 486: Quantum Physics IAtomic 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.
Other Courses
- 5 × Free elective