Computer Science

ECS 132 Probability and Statistical Modeling for Computer Science


Lecture: 3 hours
Discussion: 1 hour

Catalog Description:
Univariate and multivariate distributions. Markov models. Sampling, estimation and model building. Regression analysis. Applications to data mining, networks, disk systems, security, software engineering and bioinformatics.

Prerequisites: Course 40; course 50 or Engineering Electrical and Computer 70; Mathematics 21C; Mathematics 22A or Mathematics 67

Credit restrictions, cross listings: None

Summary of course contents

  1. Univariate and Multivariate Distributions
    1. Probability mass, density, and cumulative distribution functions
    2. Parametric families of distributions
    3. Expected value, variance, conditional expectation
    4. Applications of the univariate and multivariate Central Limit Theorem
    5. Probabilistic inequalities
    6. Markov chains
  2. Sampling, Estimation and Model Building
    1. Random samples, sampling distributions of estimators
    2. Methods of Moments and Maximum Likelihood
    3. Statistical inference
    4. Introduction to multivariate statistical models: regression and classification problems, principal components analysis
    5. The problem of overfitting; model assessment
  3. Computer science and engineering applications (interspersed with the above topics throughout the course)
    1. Data mining
    2. Network protocols, analysis of Web traffic
    3. Computer security
    4. Software engineering
    5. Computer architecture, operating systems, distributed systems
    6. Bioinformatics
    7. Machine learning

The course includes moderately extensive programming, platform-independent, using the open-source programming language R or the MATLAB package.

Goals: Students will: (1) understand basic notions of discrete and continuous probability; (2) understand the philosophy behind basic methods of statistical inference, and the role that sampling distributions play in those methods; (3) be able to perform correct and meaningful statistical analyses of simple to moderate complexity; and (4) have a first-level understanding of Monte Carlo simulation.

Illustrative reading

Possible choices include

  • K. Trivedi. Probability and Statistics with Reliability, Queuing, and Computer Science Applications. Wiley, New York, 2001.
  • M. Mitzenmacher and E. Upfal. Probability and Computing: Randomized Algorithms and Probabilistic Analysis, Cambridge, 2005.
  • N. Matloff. A Course in Probabilistic and Statistical Modeling in Computer Science.

Computer Usage:
Moderately extensive programming, platform-independent, using the open-source programming language R or the MATLAB package.

ABET Category Content:
Engineering Science: 3 units
Engineering Design: 1 unit

Science & Engineering
Quantitative Literacy

Overlap: There is some topical overlap with MAT 135A and STA 131ABC, as well as with application-specific probability/statistics courses such as ECI 114, EEC 161, ECN 140. This course differs greatly in its collection of topics, its usage of computers, and especially in its computer science applications.

Instructors: I. Davidson, D. Ghosal, and N. Matloff

History: 2012.10.24 (N. Matloff): changed abbreviated title, catalog description, course contents. Initial course description prepared by N. Matloff (December 2007).




an ability to apply knowledge of mathematics, science, computing, and engineering



an ability to design and conduct experiments, as well as to analyze and interpret data



an ability to design, implement, and evaluate a system, process, component, or program to meet desired needs, within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability



an ability to function on multi-disciplinary teams



an ability to identify, formulate, and solve computer science and enginequisites: Course 40; course 50 or Eering problems  and define the computing requirements appropriate to their solutions



an understanding of professional, ethical, legal, security and social issues and responsibilities



an ability to communicate effectively with a range of audiences



the broad education necessary to understand the impact of computer science and engineering solutions in a global and societal context



a recognition of the need for, and an ability to engage in life-long learning



knowledge of contemporary issues



an ability to use current techniques, skills, and tools necessary for computing and engineering practice



an ability to apply mathematical foundations, algorithmic principles, and computer science and engineering theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices



an ability to apply design and development principles in the construction of software systems or computer systems of varying complexity