Skip to content

ECE314

ECE 314 (Probability in Engineering Lab) is a 1-credit-hour course that counts toward 1 of the 3 labs required for EEs as a supplemental software lab to ECE 313. The course is offered in the fall, spring, and summer terms.

Content Covered

Real-world applications of:

  • Law of Large Numbers
  • Bernoulli processes, Poisson distribution
  • Standardized random variables, parameter estimation, confidence intervals
  • Bloom filter, min hashing
  • Random processes
  • Markov chains
  • Binary hypothesis testing
  • Central limit theorem, change detection, multidimensional Gaussian distribution
  • ODEs, failure rates, evolutionary games
  • Epidemics
  • Linear regression
  • Principal component analysis

ECE 314 begins with an overview of basic Python skills and the early topics of random variables you first learn in ECE313. It then follows fairly closely with lecture as you begin to implement some of the more abstract concepts learned in ECE313. As you will see in class, one of the central ideas behind probability is the ability to predict trends of certain random variables/processes given a large enough sample size. In these Python labs you will be able to see "hands on" the result of large sample sizes that you can simulate.

Prerequisites

  • ECE313 (Credit or Concurrent)

ECE313 is the only official corequisite for this course.

When to Take it

Taking ECE314 is an excellent way to get 1 of the 3 labs required for EE majors. Taking it concurrently with ECE313 should be no problem as the lectures line up well with the labs. ECE314 and ECE311 have very similar structure, with both having Python labs using Jupyter Notebook, so taking one of these classes helps to prepare you for the other.

Course Structure

The course has 1 Python lab per week, and a bi-weekly quiz on the last 2 labs. Each lab consists of 3-6 parts where you implement concepts in probability learned from ECE313. The actual Python coding is fairly rudimentary, so understanding the probability concepts behind the problems is the hardest part in each lab.

The course meets weekly, but that time is mainly for introducing the new lab with the remaining time left for office hours. The bi-weekly quizzes are held in the first 25 minutes of lecture every other week, so you only have to go to class on the weeks that there is a quiz. The quizzes are fairly simple, and just test students on what they implemented in the past 2 labs. Students are allowed a cheatsheet for each quiz. It is recommended to write notes/equations down for the hardest problems from the given labs, as those will probably be the parts quizzed.

This course has videos posted each week that cover the content needed for that week's lab. These videos are nearly exactly the same as what is covered in lecture, so it is not necessary to both go to lecture and watch the videos on the weeks where there isn't a quiz.

Instructors

While Professor Bruce Hajek is listed as the primary instructor for this course, the ECE314 TAs are the ones who will administer and grade the quizzes as well as grade the lab assignments for this course.

Course Tips

On the first day, introduce yourself to as many of your fellow classmates as you can so you can get their contact information. Don’t be afraid to reach out to them when you eventually get stuck on a specific exercise, because chances are that they struggled with the same one! Even if you feel confident in your results, double-checking them with another student (or multiple other students) is a great way to increase your chances of getting a better grade on your labs.

When it comes to the bi-weekly quizzes, make sure that you remember the ECE313 concepts that you applied throughout the previous labs' exercises, and use your cheatsheet.

Utilizing office hours for this course is highly recommended. If you do not understand the questions or coding problems, you can ask the TA at office hours.

The material in ECE314 tends to be ahead of ECE313, so you sometimes have to do labs on material before it is covered in ECE313 if you are taking these classes concurrently. When this happens, it is important to go to lecture or watch the videos to learn the content needed for the lab.

Life After

See ECE313 for future course recommendations.

Infamous Topics

  • ODEs: You don't need to remember too much from previous diffeq courses, but the implementation in Python is a bit strange. Paying special attention to the documentation should make this manageable.
  • Markov chains: These aren't explicitly gone over in lecture, so reading over the provided material is a must.

Resources