EE698K: Programming for Signal Processing (Fall 2024)
Units: 3-0-0-0-9 (modular course; 3 hours lecture; total 9 credits)
Class timings: MTh 12:00-13:15 (TB-208)
Instructor: Vipul Arora
Office hours: After each class
Registration Note:
- It is a PG-only course, open to all PGs only.
- It is ideal for 1st year EE PGs, but can also be taken by senior EE PGs.
- This course is not open for CSE students.
TAs
Name | |
---|---|
Parampreet Singh | params21@iitk.ac.in |
Aravind Potluri | aravindp23@iitk.ac.in |
Course Objectives:
Most of the research in signal processing is heavily computational. Good programming skills are indispensable for good computational research. The knowledge of data structures and algorithms is necessary for writing efficient and easy to understand codes. With advacing computational technologies and infrastructure, it is even more important to know these concepts well for effective and efficient use. The course will discuss basics of programming and basics of digital signal processing.
This course is tailored specifically for EE PGs with limited programming experience. We will use Python to implement the concepts we learn in this course. (Python is one of the most popular high-level languages highly recommended for researchers). There will be theory classes as well as coding assignments or projects.
Pre-requisites:
- None
Lecture Plan
Topics | No of weeks |
---|---|
Python basics | 1 |
Abstract Data Types, Arrays | 1 |
Linked Lists, Stacks and Queues | 2 |
Trees and Binary Search Tree | 1 |
Heaps, Sets, Hash Tables | 1 |
Graphs and Dynamic Programming | 1 |
Linear Time Invariant Systems, Fourier Transforms | 2 |
Z-transforms, symbolic programming, Linear Constant Coefficient Difference Equations, Digital Filter Design | 2 |
Filter banks, cepstral analysis, short time Fourier analysis, time series analysis | 2 |
Grading Scheme
- Quizzes and assignments – 40%
- Mid-sem Exam – 20%
- Project - 30%
- End-sem Exam - 10%
- Quizzes will follow the best (N-1) out of N policy.
- Minimum attendance of 80% is needed to pass the course.
Plagiarism Penalty:
As heavy as possible. Zero-tolerance policy.
References:
- This course will take excerpts from some standard books on data structures and algorithms, and digital signal processing.
- Textbook for signal processing: “Digital Signal Processing: A Computer-Based Approach” by Sanjit K. Mitra
- See my introduction to basics of Python here.
Books:
- “Data Structures and Algorithms” by A. V. Aho, J. E. Hopcroft, J. D. Ullman
- https://livebook.manning.com/book/grokking-algorithms/table-of-contents
- Discrete time signal processing (3rd ed.) – by Oppenheim and Schafer
- Digital Signal Processing (4th ed.) – by Proakis and Manolakis
- The Scientist and Engineer’s Guide to Digital Signal Processing - by Steven W. Smith (Available online https://www.dspguide.com/pdfbook.htm)
- Think DSP: Digital Signal Processing in Python - by Allen B. Downey (Available online https://greenteapress.com/wp/think-dsp/)