Dr. Durant: CSC4651/5651 Deep Learning in Signal Processing


This elective course provides an overview of deep learning methods and models as used in digital signal processing (DSP), including key DSP concepts that appear in and adjacent to such models in both real-time and off-line applications. Key topics include training pipelines, loss functions including perceptual losses, confusion matrices and performance metrics, convolutional layers of various dimensions used on both time series and time-frequency representations of data, dropout, principal components analysis, autoencoders, various types of RNNs, common network architectures, mitigation of overfitting, frequency response, discrete Fourier transforms, spectrograms and windowing, and perfect reconstruction. Topics of student interest will be addressed by special lecture topics and course projects. Laboratory exercises include several weeks of guided exercises and culimnate with a term project.

Beginning in fall of 2023, this course will be asynchronous and online. Small teams will likely need to schedule some synchronous meetings. The professor is also glad to (and expects to) meet with you in-person or virtually when you have questions or items to discuss.

CSC4651 (Undergraduate) Details

CSC5651 (Graduate) Details

Graduate students enrolled in the course will prepare critical summaries of published research papers in addition to meeting the requirements of the undergraduate course. Milestones of these summaries will include regular reviews and feedback from the faculty member and presentations to the class.

Course in Canvas

Course Outline and Grading (PDF), Quarter Version

General Course Policies


Applied Project

Research Projects

Two papers will be selected in milestone 1, then milestones 2–5 will be repeated for each paper. See Canvas for further details.


Rosie is MSOE’s high performance supercomputer, which we will be using in this class. Please see the Rosie User Guide.

Please see the user guide section on running MATLAB on Rosie using VNC Desktop in local browser. This is the recommended environment for this course. The course does not assume prior knowledge of MATLAB or Python, etc.