Skip to content

ECE365

ECE365 (Data Science and Engineering) is a 3-credit-hour course that satisfies the Technical Elective requirement for ECE majors and satisfies a software lab for EEs. It is offered only in fall semesters.

Content Covered

  • Classification vs clustering
  • Maximum Likelihood Estimation (MLE), Maximum a posteriori (MAP) rules, Likelihood ratio
  • Bayesian Classifiers, Precision vs. Recall, Linear Classifiers, K-means Classifiers
  • M-ary Classification
  • Linear Discriminant Analysis
  • Support Vector Machines (SVMs)
  • Linear Regression, Logistic Regression
  • Neural networks
  • Principal Component Analysis (PCA), Singular Value Decomposition (SVD), Eigenvalues/Eigenvectors
  • Covariance
  • Multi-variable Gaussians
  • Virtual bidding markets
  • Explore-then-commit (ETC) algorithms, Multi-Armed Gaussian Bandits

Prerequisites

ECE313 is the official prerequisite for this class. It is also a good idea to be sharp on your Linear Algebra for this course. It is particularly useful for the linear regression and neural nets portion of the course.

When to Take It

The course is only offered in fall semesters, so if you want to delve into data science or AI/ML, look to take this course after you take ECE313 or an equivalent course. You will need to be strong in probability and linear algebra.

Course Structure

The course structure has varied between semesters. In Fall 2022, the course was split up into three sections, each covering applications of data science to a different specialization of ECE. In Fall 2023, the course was taught as one cohesive course, being core to the main aspects of data science with various references to different applications (such as power systems and electricity markets). The course has two 80-minute lectures per week. The grade breakdown in Fall 2023 is as follows:

  • 30% quizzes
  • 70% labs

The schedule for the labs and quizzes are both roughly bi-weekly, but not strictly bi-weekly. The labs consist of coding Jupyter Notebooks in Python. Some labs will have extra-credit portions, and you should make sure to take advantage of these because the extra credit can overflow the 70% lab portion of the grade, which can help offset the quiz grade. The quizzes are given during lecture for the last 20 minutes of class. They usually consist of two problems, the first being math/probability-based, and the second being conceptual. Occasionally, a quiz will have a different format, such as being take-home or being a write-up report on a data science algorithm or research paper covered in class. There is no final for this class.

Instructors

In Fall 2022, Professors Venugopal Veeravalli, Subhonmesh Bose and Zhizhen Zhao taught each of the three sections of the course respectively. Professor Subhonmesh Bose taught the class for Fall 2023. In Fall 2024, the course is currently taught by Professor Abhishek Kumar Umrawal.

Course Tips

  • Revisit the lecture slides and/or notes during the week of a quiz. Occasionally, a quiz may contain a conceptual question, which can cost you a lot if you don't remember the concept.
  • Take advantage of the extra credit for the labs. It can help offset lost points on the quizzes, as the lab category counts for a large part of the grade.

Life After

  • Relevant courses include ECE448 (Artificial Intelligence), ECE449 (Machine Learning), and ECE471 (Data Science Analytics Using Probabilistic Graph Models).
  • Most companies need software/data engineers with some experience in Machine Learning concepts, and this course explores different ways to extract and filter data, which is a useful skill.

Infamous Topics

  • Virtual bidding electricity markets: This topic is more conceptual and is one of the more confusing topics.
  • Neural Networks: If you have not covered these in a previous course, they can be difficult to conceptualize mathematically and how they are used to influence decision-making and predictions.
  • Explore then Commit (ETC) with Gaussian Bandits: This type of data science problem involves using 2 (or more) Gaussian models and how to come up with an algorithm that maximizes reward and minimizes loss according to the parameters of each model.
  • Principal Component Analysis: Also difficult when applying dimension reduction to datasets.

Resources