ECE 314

ECE 314 - Probability in Engineering Lab

Summer 2024

Probability in Engineering LabECE314AL140782LEC11100 - 1150 W  2013 Electrical & Computer Eng Bldg Bruce Hajek
Probability in Engineering LabECE314ON140817ONL1 -    Bruce Hajek
Probability in Engineering LabECE314ONL41735OLC1 -    Bruce Hajek

Official Description

Designed to be taken concurrently with ECE 313, Probability in Engineering Systems, to strengthen the students' understanding of the concepts in ECE 313 and their applications, through computer simulation and computation using the Python programming language. Topics include sequential hypothesis testing, parameter estimation, confidence intervals, Bloom filters, min hashing, load balancing, inference for Markov chains, PageRank algorithm, vector Gaussian distribution, contagion in networks, principle component method and linear regression for data analysis, investment portfolio analysis. Course Information: Prerequisite: Concurrent enrollment in ECE 313 or credit in one of: ECE 313, IE 300, STAT 410.

Course Director

Lab Equipment

Access to Engineering Work Stations during class hours for Python programming. Many students can an choose to use their own laptops instead. Python software is open source and easily installed.

Lab Software

Python software with basic modules for numerical and statistical modeling and analysis.

Topical Prerequisites

Basic probability theory, as provided by concurrent enrollment in ECE 313.


Reading is provided within an iPython notebook for each lab, with reference to the ECE 313 notes.

Required, Elective, or Selected Elective

Elective. Counts as a laboratory course for EE majors.

Course Goals

Strengthen the students' understanding of the concepts in probability and engineering applications. This involves a mixture of review and use of concepts in ECE 313, and introduction of real applications that require concepts related to, but beyond those, in ECE 313.

Instructional Objectives

Show students how to solve problems involving uncertainty through reasoning and computer programming.

Enhance student effectiveness in using a scientific programming language such as Python to solve problems.

At the end of this course, the student will be able to apply the knowledge of probability and statistic and Python programming gained in this course to several different types of problems in engineering.

1. Given a network of hosts that communicate with each other over links that are prone to failure, the student will be able to compute the probability that there exists a viable communication path between any two nodes in the network. (1) The student will also be able to model failure modes for systems composed of several subsystems as a network problem, and to solve such problems. (1)

2. The student will be able to formulate engineering decision-making problems as hypothesis testing schemes that compare likelihood ratios to thresholds. (1, 2) The student will be able to calculate the thresholds required to meet design specifications such as maximum false-alarm probabilities or detection probabilities in radar decision problems, including for sequential hypothesis testing (1,6) The student will be able to design tests using Bayesian methods for the purpose of minimizing the average probability of error. (1,2)

3. The student will be able to specify maximum-likelihood estimates for system parameters. (1,2,6) The student will be able to estimate confidence intervals for parameters for any specified confidence level. (1)

4. The student will be able to compute probability distributions for the parameters of various systems, to estimate average values and variances of these parameters, and to estimate the probabilities that various design specifications are met. (1,6)

Last updated