Data Science & Engineering

ECE 379, Fall 2019–20
University of Wisconsin–Madison

A hands-on introduction to Data Science using the Python programming language. The course is intended for Freshmen and Sophomores of any major that have limited prior experience in computer programming or data science. The course teaches how to think about data-centric problems in a computational way. Given data from real-world phenomena, students will learn to describe, analyze, and make predictions. To this effect, the course will also introduce programming in Python, which is the most widely used programming language in the data science industry. Topics covered include: how to import, manipulate, summarize, and visualize data of various types, how to perform descriptive analyses such as clustering and principal component analysis, how to perform predictive analyses such as classification and regression, and notions of bias, fairness, and ethics in data science.

Prerequisites: There are no prerequisites for this course. We will provide you with the tools you need and teach you how to use them. Most importantly, we will equip you with the knowledge and ability to continue using what you’ve learned long after you complete the class and for the rest of your career as a student and beyond.

What degree requirements does this course satisfy? ECE 379 counts as a Professional Elective for students in Electrical Engineering or Computer Engineering. It also counts as an Engineering Science Elective and a Stats Elective for ISyE students. This is recent information so it may not yet be reflected in the online Undergraduate Guide. If you have any questions about degree requirements, please email me.

Lectures: Tue/Thu, 9:30am–10:45am, Wendt Commons, Room 312.
Instructor: Laurent Lessard.

Canvas URL: (not yet online)

As mentioned above, this is intended to be a first course in programming and learning to reason with data. This is the first course of its kind at UW-Madison and it is still under active development, so we do not yet have a detailed syllabus with a week-by-week breakdown of topics. Here is some preliminary information to address questions you might have:

Learning outcomes

In other words: what are the skills you will acquire upon completing this class?

  1. Write working code in Python to import, manipulate, analyze, visualize, and otherwise interact with datasets of various types. If you don’t know what “writing code” even means, you’ll learn that too!
  2. Perform descriptive analyses to extract, summarize, and interpret salient features from datasets.
  3. Perform predictive analyses to model trends and make predictions from datasets.
  4. Apply techniques to identify and clean data that contains missing entries, outliers, or other forms of noise or uncertainty.
  5. Recognize and evaluate potential issues pertaining to bias, fairness, privacy, and ethics in applying data science techniques. Also understand the limits of what data can do.


A combination of in-class activities, homework assignments, midterm exams, and a final exam. These will largely be hands-on activities where you will complete tasks on your computer and submit your answers electronically.

Materials required

The only thing you will need is a laptop. All course-related materials and software will be provided.