ECE 512 - Data Science from a Signal Processing Perspective

Fall 2024


Instructor: Dr. Dror Baron, email: barondror AT ncsu DOT edu, office hour (Zoom): Wednesday 3-4 pm.
Teaching assistant: None.
Classrooms: Classes will be on Monday and Wednesday, 11:45-13:00, EB2 1229. Modules have been recorded electronically and are available on Youtube.

Announcements

Useful Links

About this Course

Prerequisites

The main prerequisite is eagerness to learn about data science. Technical prerequisites include undergraduate signal processing (ECE 421), probability (ST 371), comfort in math (linear algebra, calculus, multi-dimensional spaces), and comfort programming (we will be using Matlab and/or Python; see below).

Purpose

ECE 512 (Data Science from a Signal Processing Perspective) will acquaint students with some core basic topics in data science. Some specific topics that are covered will be described in the course outline.

Course Outline

The course will proceed as follows:

Course Materials

Textbook

The instructor will be borrowing and inspired by several textbooks (see below). You need not purchase any of these. There will also be some references provided (to academic papers) in the slides and assignments; this is meant for your enrichment if you find that topic of special interest.

Matlab/Python

We will be using the Matlab and/or Python languages during the course. We will have some computer homework questions; either language can be used to submit homeworks. (Note that many other programming platforms can and are often used.) Here are some resources for these languages:

Slides and Modules

Course materials are in several slide decks, where each one covers a major topic. Under each deck of slides, we organize and describe corresponding modules, which have been recorded to YouTube (links below). We also have some supplements, which provide details about some of the more delicate course topics.

Software

Below are Matlab and Python implementations for various examples provided during the course. Many thanks to Dhananjai Ravindra, Jordan Miller, and Deveshwar Hariharan for translating Matlab scripts to Python!

Assignments and Grading

Component % of Grade Due Date
Tests: 40% (3 tests) See course schedule
Homework: 30% Throughout course
Final Project: 20% Due last week end of course
Quizzes: 5% See course schedule
Lead class discussion: 5% Schedule TBD

Up to 2-3% extra credit will be provided. We encourage students to be proactive about their studies, including class participation, office hours, evmails to the instructor and TA, spotting errors, and making suggestions.

Homework

We expect homeworks roughly every 1-2 weeks. They will be posted below, and solutions will be submitted electronically on Moodle. Some of these homeworks will be more theoretical in nature, while others will be closer to applications, which we hope will help students appreciate how data science is used in many real world settings.

Final Project

The final project will involve a topic that 2-3 students choose to work on. This could involve reading a paper and presenting it to the class, working on a data set using an algorithm that wasn't covered in depth in class, or even (hopefully) presenting new results that you worked on. A list of possible topics for projects appears here; it has been updated in Fall 2024. You will be submitting a final report (3-4 pages are expected; you do not need to attach code). In some past years, students submitted video recordings; we may have presentations in class this year. The reports and videos / in-class presentations will be peer-graded by other students; each student will peer-grade several reports and videos. Overall, the objective of the final project is to provide students a personalized learning experience and an opportunity to present their findings to the class. Regulations for individual projects can be found here. Note that 5% of the project grade involves timely submission of the project proposal.

Dates when the project reports and peer grading are due will be advertised during the semester.

The project proposal will briefly describe the way how you envision your project, in order to help us make sure that you are on track.

Tests

Below are past tests (and their solutions) throughout the history of this course.

Feedback

Students are encouraged to send feedback to the instructional staff.