Cornell UniversityWebsiteAcademic Catalog
Majors
Courses
source 1source 2source 3source 4source 5source 6source 7CS 1109: Fundamental Programming Concepts (2) intro
Designed for students who intend to take CS 1110 or CS 1112 and wish to get a head start, CS 1109 focuses on basic programming concepts and problem analysis and decomposition. The programming concepts to be studied include control flow, function, and list. An appropriate high-level programming language is used.
CS 1110: Introduction to Computing: A Design and Development Perspective (4) intro
Programming and problem solving using Python. Emphasizes principles of software development, style, and testing. Topics include procedures and functions, iteration, recursion, arrays and vectors, strings, an operational model of procedure and function calls, algorithms, exceptions, object-oriented programming.
CS 1112: Introduction to Computing: An Engineering and Science Perspective (4) intro
Programming and problem solving using Python. Emphasizes the systematic development of algorithms and programs. Topics include iteration, functions, arrays, strings, recursion, object-oriented programming, algorithms, and data handling and visualization.
CS 1132: Short Course in MATLAB (1.5) intro
Introduction to the MATLAB programming language. Covers the basic programming constructs of MATLAB, including assignment, conditionals, iteration, functions, arrays, vectorized computation, and scientific graphics. Designed for students who need MATLAB for research or other courses. Does not assume any previous programming experience.
CS 1133: Short Course in Python (1.5) intro
Introduction to the Python programming language. Covers the basic programming constructs of Python, including assignment, conditionals, iteration, functions, object-oriented design, arrays, and vectorized computation. Designed for students who need Python for research or other courses. Does not assume any previous programming experience.
CS 1380: Data Science for All (4) math
For description, see STSCI 1380.
CS 1610: Computing in the Arts (3)
Over the centuries, artists in a wide variety of media have employed many approaches to the creative process, ranging from the philosophical to the mechanical to the virtual. This course unravels some of the mysteries going on inside software used for art and music. It looks at ways of breaking things apart and sampling and ways of putting things together and resynthesizing, and explores ideas for creation. This course does not teach software packages for creating art and music. The course complements ART 2701 and MUSIC 1421.
CS 1620: Visual Imaging in the Electronic Age (4)
For description, see ARCH 3702.
CS 1700: Elements of Artificial Intelligence (3) ai
This course provides a non-programming introduction to the key ideas of Artificial Intelligence (AI), intended for students without significant technical background in computing. Students will leave with an understanding of the core technical ideas that power modern AI, in such areas as machine learning and neural networks, computer vision, natural processing, game AI, and robotics, as well as our evolving appreciation of the societal implications of work in this area.
CS 1710: Introduction to Cognitive Science (3)
For description, see COGST 1101.
CS 1998: First-year and Nontechnical Team Projects (13) special
First-year and Nontechnical Team Projects.
CS 2024: C++ Programming (2) intro
Fall. 2 credits. S/U grades only. R. DiNapoli. An intermediate introduction to the C++ programming language and the C/C++ standard libraries. Topics include basic statements, declarations, and types; stream I/O; user-defined classes and types; derived classes, inheritance, and object-oriented programming; exceptions and templates. Recommended for students who plan to take advanced courses in computer science that require familiarity with C++ or C.
CS 2043: UNIX Tools and Scripting (2) sys
Spring. 2 credits. S/U grades only. R. DiNapoli. UNIX and UNIX-like systems are increasingly being used on personal computers, mobile phones, web servers, and many other systems. They represent a wonderful family of programming environments useful both to computer scientists and to people in many other fields, such as computational biology and computational linguistics, in which data is naturally represented by strings. This course takes students from shell basics and piping, to regular-expression processing tools, to shell scripting and Python. Other topics to be covered include handling concurrent and remote resources, manipulating streams and files, and managing software installations.
CS 2110: Object-Oriented Programming and Data Structures (4) intro
Fall, Spring, Summer. 4 credits. Student option grading. C. Muhlberger, A. Myers. Intermediate programming in a high-level language and introduction to computer science. Topics include object-oriented programming (classes, objects, subclasses, types), graphical user interfaces, algorithm analysis (asymptotic complexity, big “O” notation), recursion, testing, program correctness (loop invariants), searching/sorting, data structures (lists, trees, stacks, queues, heaps, search trees, hash tables, graphs), graph algorithms. Java is the principal programming language.
CS 2112: Object-Oriented Design and Data Structures - Honors (4) intro
Fall. Not offered: 2023-2024. Next offered: 2024-2025. 4 credits. Student option grading (no audit). N Foster. Intermediate software design and introduction to key computer science ideas. Topics are similar to those in CS 2110 but are covered in greater depth, with more challenging assignments. Topics include object-oriented programming, program structure and organization, program reasoning using specifications and invariants, recursion, design patterns, concurrent programming, graphical user interfaces, data structures as in CS 2110, sorting and graph algorithms, asymptotic complexity, and simple algorithm analysis. Java is the principal programming language.
CS 2770: Excursions in Computational Sustainability (3) impact
Balancing environmental, economic, and societal needs for a sustainable future encompasses problems of unprecedented size and complexity. Computing and information science can play an important role in addressing critical sustainability challenges faced by present and future generations. The goal of the course is to introduce students to a range of sustainability challenges and to computational methods that can help address such challenges. Sustainability topics include sustainable development, biodiversity and wildlife conservation, poverty mitigation, food security, renewable resources, energy, transportation, and climate change. In the context of these sustainability topics, the course will introduce students to mathematical and computational modeling techniques, algorithms, and statistical methods.
CS 2800: Discrete Structures (4) math
Covers the mathematics that underlies most of computer science.
CS 2802: Discrete Structures - Honors (3) math
Covers the mathematics that underlies most of computer science. This course is an honors version of CS 2800.
CS 2850: Networks (3) math
For description, see ECON 2040.
CS 3110: Data Structures and Functional Programming (4) intro
Advanced programming course that emphasizes functional programming techniques and data structures.
CS 3152: Introduction to Computer Game Architecture (4) graphics
A project-based course in which programmers and designers collaborate to make a computer game.
CS 3220: Computational Mathematics for Computer Science (3) math
Introduction to computational mathematics covering topics in (numerical) linear algebra, statistics, and optimization. Topics included are those of particular relevance to upper-division computer science courses in machine learning, numerical analysis, graphics, vision, robotics, and more. An emphasis is placed both on understanding core mathematical concepts and introducing associated computational methodologies.
CS 3300: Data-Driven Web Applications (3) sys
For description, see INFO 3300.
CS 3410: Computer System Organization and Programming (4) sys
Introduction to computer organization, systems programming and the hardware/ software interface. Topics include instruction sets, computer arithmetic, datapath design, data formats, addressing modes, memory hierarchies including caches and virtual memory, I/O devices, bus-based I/O systems, and multicore architectures. Students learn assembly language programming and design a pipelined RISC processor.
CS 3420: Embedded Systems (4) sys
For description, see ECE 3140.
CS 4090: Teaching Experience in Computer Science (14) special
Earn course credit for working as a consultant or ugrad TA in a computer science course.
CS 4110: Programming Languages and Logics (4) pls
An introduction to the theory, design, and implementation of programming languages. Topics include operational semantics, type systems, higher-order functions, scope, lambda calculus, laziness, exceptions, side effects, continuations, objects, and modules. Also discussed are logic programming, concurrency, and distributed programming.
CS 4120: Introduction to Compilers (3) pls
An introduction to the specification and implementation of modern compilers. Topics covered include lexical scanning, parsing, type checking, code generation and translation, an introduction to program analysis and optimization, and compile-time and run-time support for modern programming languages. As part of the course, students will build a working compiler for an object-oriented language.
CS 4121: Practicum in Compilers (2) pls
Students will build a working compiler for an object-oriented language.
CS 4152: Advanced Topics in Computer Game Architecture (3) graphics
Project-based follow-up course to CS 3152. Students work in a multidisciplinary team to develop a game that incorporates innovative game technology.
CS 4160: Formal Verification (4) pls
An introduction to formal verification, focusing on correctness of functional and imperative programs relative to mathematical specifications.
CS 4210: Numerical Analysis and Differential Equations (4) math
For description, see MATH 4250.
CS 4220: Numerical Analysis: Linear and Nonlinear Problems (4) math
Introduction to the fundamentals of numerical linear algebra: direct and iterative methods for linear systems, eigenvalue problems, singular value decomposition.
CS 4300: Language and Information (3) ai
For description, see INFO 4300.
CS 4320: Introduction to Database Systems (3) sys
Introduction to modern database and data storage systems.
CS 4321: Practicum in Database Systems (2) sys
Students build part of a database system in Java.
CS 4410: Operating Systems (3) sys
Introduction to the design of systems programs, with emphasis on multiprogrammed operating systems.
CS 4411: Practicum in Operating Systems (2) sys
Studies the practical aspects of operating systems through the design and implementation of an operating system kernel.
CS 4414: Systems Programming (3) sys
CS 4414 exposes students to programming applications at the systems level.
CS 4420: Computer Architecture (4) sys
For description, see ECE 4750.
CS 4450: Introduction to Computer Networks (3) sys
This course introduces the basic architectural and design principles of computer networking.
CS 4620: Introduction to Computer Graphics (3) graphics
Introduction to the principles of computer graphics in two and three dimensions.
CS 4621: Computer Graphics Practicum (2) graphics
Provides CS 4620 students with hands-on experience in computer graphics programming on modern graphics hardware. This course emphasizes effective use of graphics APIs and the architecture of graphics applications. A final project involves building a substantial interactive graphics system. The course uses Javascript and WebGL for code development.
CS 4670: Introduction to Computer Vision (4) ai
An in-depth introduction to computer vision. The goal of computer vision is to compute properties of our world-the 3D shape of an environment, the motion of objects, the names of people or things-through analysis of digital images or videos. The course covers a range of topics, including 3D reconstruction, image segmentation, object recognition, and vision algorithms fro the Internet, as well as key algorithmic, optimization, and machine learning techniques, such as graph cuts, non-linear least squares, and deep learning. This course emphasizes hands-on experience with computer vision, and several large programming projects.
CS 4700: Foundations of Artificial Intelligence (3) ai
Challenging introduction to the major subareas and current research directions in artificial intelligence. Topics include: knowledge representation, heuristic search, problem solving, natural-language processing, game-playing, logic and deduction, planning, and machine learning.
CS 4701: Practicum in Artificial Intelligence (2) ai
Artificial Intelligence project class. Possible projects topics include knowledge representation systems, search procedures, game-playing, automated reasoning, concept learning, reinforcement learning, neural nets, genetic algorithms, planning, natural language processing, computer vision. Should be taken only by students with significant experience in Artificial Intelligence, such as those who have already taken CS 4700, CS 4780, CS 4670, or CS 4740.
CS 4740: Natural Language Processing (4) ai
This course constitutes an introduction to natural language processing (NLP), the goal of which is to enable computers to use human languages as input, output, or both. NLP is at the heart of many of today’s most exciting technological achievements, including machine translation, automatic conversational assistants and Internet search. The course will introduce core problems and methodologies in NLP, including machine learning, problem design, and evaluation methods.
CS 4744: Computational Linguistics I (4) ai
For description, see LING 4424.
CS 4745: Computational Linguistics II (4) ai
For description, see LING 4434.
CS 4750: Foundations of Robotics (4) ai
Fall. 4 credits. Letter grades only.
CS 4754: Re-Designing Robots (3) ai
Fall. 3 credits. Letter grades only.
CS 4756: Robot Learning (4) ai
Spring. 4 credits. Letter grades only.
CS 4758: Autonomous Mobile Robots (3) ai
Spring. Not offered: 2023-2024. Next offered: 2024-2025. 3 credits. Letter grades only.
CS 4775: Computational Genetics and Genomics (4) ai
Fall. 4 credits. Student option grading.
CS 4780: Introduction to Machine Learning (4) ai
The course provides an introduction to machine learning, focusing on supervised learning and its theoretical foundations. Topics include regularized linear models, boosting, kernels, deep networks, generative models, online learning, and ethical questions arising in ML applications.
CS 4783: Mathematical Foundations of Machine Learning (4) ai
Machine Learning (ML) is a ubiquitous technology. This course, which is a follow up to an introductory course on ML will cover topics that aim to provide a theoretical foundation for designing and analyzing ML algorithms.
CS 4786: Machine Learning for Data Science (4) ai
An introduction to machine learning for data-science applications. Topics include dimensionality-reduction, clustering, and probabilistic modeling.
CS 4787: Principles of Large-Scale Machine Learning Systems (4) ai
An introduction to the mathematical and algorithms design principles and tradeoffs that underlie large-scale machine learning on big training sets.
CS 4789: Introduction to Reinforcement Learning (3) ai
Reinforcement Learning is one of the most popular paradigms for modelling interactive learning and sequential decision making in dynamical environments. This course introduces the basics of Reinforcement Learning and the Markov Decision Process. The course will cover algorithms for planning and learning in Markov Decision Processes. We will discuss potential applications of Reinforcement Learning and their implications. We will study and implement classic Reinforcement Learning algorithms.
CS 4810: Introduction to Theory of Computing (3) theory
Introduction to the modern theory of computing: automata theory, formal languages, and effective computability.
CS 4812: Quantum Information Processing (3)
For description, see PHYS 4481.
CS 4814: Introduction to Computational Complexity (3) theory
Explores the power and limitations of efficient computation. Understanding how the notion of efficient computation changes with respect to resources such as time, space, randomness, advice, and interaction. Concrete computational models that we will study will include Turing machines, Boolean circuits, Decision trees, and Branching Programs. Advanced topics may include error-correcting codes, probabilistic checkable proofs, and circuit lower bounds.
CS 4820: Introduction to Analysis of Algorithms (4) algs
Develops techniques used in the design and analysis of algorithms, with an emphasis on problems arising in computing applications. Example applications are drawn from systems and networks, artificial intelligence, computer vision, data mining, and computational biology. This course covers four major algorithm design techniques (greedy algorithms, divide-and-conquer, dynamic programming, and network flow), undecidability and NP-completeness, and algorithmic techniques for intractable problems (including identification of structured special cases , approximation algorithms, local search heuristics, and online algorithms).
CS 4830: Introduction to Cryptography (3) theory
A rigorous introduction to the theoretical foundations of the cryptography that powers much of the modern world. Topics include one-way functions, secret-key encryption, zero-knowledge proofs, signatures, public-key encryption etc. As this is a theoretical class, the emphasis will be on formal definitions and proofs.
CS 4850: Mathematical Foundations for the Information Age (4) math
Covers the mathematical foundations for access to information. Topics include high dimensional space, random graphs, singular value decomposition, Markov processes, learning theory, and algorithms for massive data.
CS 4852: Networks II: Market Design (3) math
For description, see INFO 4220.
CS 4860: Applied Logic (3) math
For description, see MATH 4860.
CS 4990: International Research Internship (612) special
Students with internship opportunities may be able to receive credit through this course.
CS 4997: Practical Training in Computer Science (0.25) special
This independent study course offers CS majors an opportunity to reflect on concepts from computer science as they were encountered and applied in a recent internship. Students write a short paper describing their work experience and how it connects to the educational objectives of the computer science major.
CS 4998: Team Projects (14) special
Advanced independent work in computer science as part of a student-led team project.
CS 4999: Independent Reading and Research (14) special
Independent reading and research for undergraduates.
CS 5150: Software Engineering (4) softeng
Introduction to the practical problems of specifying, designing, building, testing, and delivering reliable software systems. Special topics include professionalism, project management, and the legal framework for software development. As a central part of the course, student teams carry out projects for real clients, using concepts of agile software development. Each project includes all aspects of software development from a feasibility study to final delivery.
CS 5152: Advanced Topics in Computer Game Architecture (3) graphics
Students work in a multidisciplinary team to develop a game that incorporates innovative game technology. Advanced topics include 3D game development, mobile platforms, multiplayer gaming, and nontraditional input devices. There is a special emphasis on developing games that can be submitted to festivals and competitions.
CS 5412: Cloud Computing (4) sys
Focuses on cloud computing, large-scale Internet applications, and other practical issues in designing and implementing trustworthy, scalable distributed software.
CS 5414: Distributed Computing Principles (4) sys
Studies the abstractions and algorithms that constitute the foundations for implementing concurrent and distributed computing, with emphasis on supporting fault-tolerance.
CS 5625: Interactive Computer Graphics (4) graphics
Methods for interactive computer graphics, targeting applications including games, visualization, design, and immersive environments. Introduces students to state-of-the-art interactive techniques and programmable shading. Programming assignments use C++ and OpenGL, and students also propose and implement an open-ended final project.
CS 5643: Physically Based Animation for Computer Graphics (4) graphics
This course introduces students to fundamental physically based modeling techniques used in computer graphics for animation of rigid and deformable solids, virtual characters, fluids and gases, and other systems. Students learn the techniques by implementing a series of interactive computer programs that apply a range of representative simulation methods to simple, primarily 2D systems, and by proposing and implementing a final project.
MATH 1110: Calculus I (4) math
Topics include functions and graphs, limits and continuity, differentiation and integration of algebraic, trigonometric, inverse trig, logarithmic, and exponential functions; applications of differentiation, including graphing, max-min problems, tangent line approximation, implicit differentiation, and applications to the sciences; the mean value theorem; and antiderivatives, definite and indefinite integrals, the fundamental theorem of calculus, and the area under a curve.
MATH 1120: Calculus II (4) math
Focuses on integration: applications, including volumes and arc length; techniques of integration, approximate integration with error estimates, improper integrals, differential equations and their applications. Also covers infinite sequences and series: definition and tests for convergence, power series, Taylor series with remainder, and parametric equations.
MATH 1910: Calculus for Engineers (4) math
Essentially a second course in calculus. Topics include techniques of integration, finding areas and volumes by integration, exponential growth, partial fractions, infinite sequences and series, tests of convergence, and power series.
MATH 1920: Multivariable Calculus for Engineers (4) math
Introduction to multivariable calculus. Topics include partial derivatives, double and triple integrals, line and surface integrals, vector fields, Green’s theorem, Stokes’ theorem, and the divergence theorem.
MATH 2210: Linear Algebra (4) math
Topics include vector algebra, linear transformations, matrices, determinants, orthogonality, eigenvalues, and eigenvectors. Applications are made to linear differential or difference equations. The lectures introduce students to formal proofs. Students are required to produce some proofs in their homework and on exams.
MATH 2930: Differential Equations for Engineers (4) math
Introduction to ordinary and partial differential equations. Topics include: first-order equations (separable, linear, homogeneous, exact); mathematical modeling (e.g., population growth, terminal velocity); qualitative methods (slope fields, phase plots, equilibria, and stability); numerical methods; second-order equations (method of undetermined coefficients, application to oscillations and resonance, boundary-value problems and eigenvalues); and Fourier series. A substantial part of this course involves partial differential equations, such as the heat equation, the wave equation, and Laplace’s equation.
MATH 2940: Linear Algebra for Engineers (4) math
Linear algebra and its applications. Topics include: matrices, determinants, vector spaces, eigenvalues and eigenvectors, orthogonality and inner product spaces; applications include brief introductions to difference equations, Markov chains, and systems of linear ordinary differential equations. May include computer use in solving problems.
MATH 4710: Basic Probability (4) math
Introduction to probability theory, which prepares the student to take MATH 4720. The course begins with basics: combinatorial probability, mean and variance, independence, conditional probability, and Bayes formula. Density and distribution functions and their properties are introduced. The law of large numbers and the central limit theorem are stated and their implications for statistics are discussed.
ENGRD 2700: Basic Engineering Probability and Statistics (4) engr
Gives students a working knowledge of basic probability and statistics and their application to engineering. Includes computer analysis of data and simulation. Topics include random variables, probability distributions, expectation, estimation, testing, experimental design, quality control, and regression.
ECE 3100: Introduction to Probability and Inference for Random Signals and Systems (4) engr
Probability theory is a mathematical discipline that allows one to reason about uncertainty: it helps us to predict uncertain events, to make better decisions under uncertainty, and to design and build systems that must operate in uncertain environments. This course will serve as an introduction to the subject on the modeling and analysis of random phenomena and processes, including the basics of statistical inference in the presence of uncertainty. Topics include probability models, combinatorics, countable and uncountable sample spaces, discrete random variables, probability mass functions, continuous random variables, probability density functions, cumulative distribution functions, expectation and variance, independence and correlation, conditioning and Bayess rule, concentration inequalities, the multivariate Normal distribution, limit theorems (including the law of large numbers and the central limit theorem), Monte Carlo methods, random processes, and the basics of statistical inference. Applications to communications, networking, circuit design, computer engineering, finance, and voting will be discussed throughout the semester.
CHEM 2080: General Chemistry II (4) sci
Covers fundamental chemical principles, including reaction kinetics, thermodynamics, and equilibrium. These principles are presented quantitatively and explored in the laboratory. Considerable attention is given to the quantitative calculations and techniques important for further work in chemistry.
CHEM 2090: Engineering General Chemistry (4) sci
Covers basic chemical concepts, such as reactivity and bonding of molecules, introductory quantum mechanics, and intermolecular forces in liquids and solids and gases. Attention will be focused on aspects and applications of chemistry most pertinent to engineering.
CHEM 2150: Honors General and Inorganic Chemistry (4) sci
Intensive systematic study of the laws and concepts of chemistry, with considerable emphasis on quantitative aspects. CHEM 2150 covers electronic structure of atoms, chemical bonding, thermodynamics, kinetics, and equilibrium. This course serves as an accelerated entry into organic chemistry in the Spring semester for students with a strong background in chemistry. Laboratory work covers qualitative and quantitative analysis, thermodynamics, kinetics transition metal chemistry, and spectroscopic techniques.
PHYS 1112: Physics I: Mechanics and Heat (3) sci
First course in a three-semester introductory physics sequence. This course is taught in a largely 'flipped', highly interactive manner, with reading preparation and online reading quizzes required for class. Covers the mechanics of particles with focus on kinematics, dynamics, conservation laws, central force fields, periodic motion. Mechanics of many-particle systems: center of mass, rotational mechanics of a rigid body, translational & rotational equilibrium. Temperature, heat, the laws of thermodynamics. At the level of University Physics, Vol. 1, by Young and Freedman.
PHYS 1116: Physics I: Mechanics and Special Relativity (4) sci
First in a three-semester introductory physics sequence. Explores quantitative modeling of the physical world through a study of mechanics. More mathematical than a typical mechanics course - for example, considers how choice of coordinate system (Cartesian, cylindrical, etc.) influences the nature of kinematical equations. Includes kinematics, dynamics, conservation laws, central force fields, periodic motion, and special relativity. At the level of An Introduction to Mechanics by Kleppner and Kolenkow, which assumes a strong mathematical foundation in calculus.
PHYS 2213: Physics II: Electromagnetism (4) sci
Second course in a three semester introductory physics sequence. The course emphasizes active learning during class. Video lectures are viewed before class; most class time is devoted to problem-solving. Topics include: electric forces and fields, electric energy and potential, circuits, magnetic forces and fields, magnetic induction, and Maxwell’s equations. Taught at a level somewhat higher than University Physics, Vol. 2, by Young and Freedman. The math prerequisite is essential: line, surface, and volume integrals are done routinely and occasional use is made of gradient, divergence, and curl.
PHYS 2214: Physics III: Oscillations, Waves, and Quantum Physics (4) sci
For majors in engineering (including bio-, civil, and environmental engineering), computer and information science, physics, earth and atmospheric science, and other physical and biological sciences who wish to understand the oscillation, wave, and quantum phenomena behind everyday experiences and modern technology including scientific/medical instrumentation. Covers the physics of oscillations and wave phenomena, including driven oscillations and resonance, mechanical waves, sound waves, electromagnetic waves, standing waves, Doppler effect, polarization, wave reflection and transmission, interference, diffraction, geometric optics and optical instruments, wave properties of particles, particles in potential wells, light emission and absorption, and quantum tunneling. With applications to phenomena and measurement technologies in engineering, the physical sciences, and biological sciences. Some familiarity with differential equations, complex representation of sinusoids, and Fourier analysis is desirable but not essential.
PHYS 2217: Physics II: Electricity and Magnetism (4) sci
Second in a three semester introductory physics sequence. Explores quantitative modeling of the physical world through a study of electricity and magnetism. More mathematical and abstract than a typical introductory electricity and magnetism course. Topics include electrostatics, behavior of matter in electric fields, circuits, magnetic fields, Faraday’s law, AC circuits, and electromagnetic waves. Makes substantial use of vector calculus. At the level of Electricity and Magnetism by Purcell.
PHYS 2218: Physics III: Waves and Thermal Physics (3) sci
This course is divided into two parts. The larger segment of the course typically focuses on wave phenomena. Topics include: coupled harmonic oscillators, strings, sound and light waves, superposition principle, wave equations, Fourier series and transforms, diffraction and interference. The discussion is at the level of The Physics of Waves by Georgi. The second segment of the course covers thermodynamics and statistical mechanics at the level of Thermal Physics by Schroeder.
BTRY 3080: Probability Models and Inference (4)
This course provides an introduction to probability and parametric inference. Topics include: random variables, standard distributions, the law of large numbers, the central limit theorem, likelihood-based estimation, sampling distributions and hypothesis testing, as well as an introduction to Bayesian methods. Some assignments may involve computation using the R programming language.
ECON 3130: Statistics and Probability (4)
Provides an introduction to statistical inference and to principles of probability. It includes descriptive statistics, principles of probability, discrete and continuous distributions, and hypothesis testing (of sample means, proportions, variance). Regression analysis and correlation are introduced.