IITM BS Algorithms for Data Science (ADS) (BSDA5003): Syllabus and Tips
By Editorial TeamLast reviewed
4 min readData ScienceOn this page
Algorithms for Data Science (ADS, BSDA5003) is a 4 credit elective at the degree level of the IITM BS in Data Science. The handbook places it at level 5. The course page lists Machine Learning Techniques (BSCS2007) as the prerequisite. The course teaches fast, mostly randomised methods for working with very large data: sketches, sampling, hashing and graph methods.
| Code | Credits | Level | Prerequisites |
|---|---|---|---|
| BSDA5003 | 4 | Degree (level 5) | Machine Learning Techniques (BSCS2007) |
The course is taught by Arun Rajkumar, Assistant Professor in the Department of Data Science and AI at IIT Madras. He also teaches Machine Learning Foundations, Machine Learning Techniques and Reinforcement Learning in the programme. The page itself calls ADS a second-level graduate course.
Handbook check. The handbook's course table leaves the prerequisite blank for BSDA5003, while the course page lists MLT. The course page also leaves the course type blank, and the handbook tags it BD/BP. Plan as if MLT is required, and confirm with support.
What you learn in Algorithms for Data Science
The 12 weeks fall into five blocks.
- Weeks 1 to 3: randomness as a tool. Why random methods work, using concentration inequalities that bound how far a random result strays. Then randomised SVD and how it speeds up PCA and dimension reduction.
- Weeks 4 and 5: learning on graphs. Spectral graph theory, graph clustering and finding communities. Then ranking methods built on graphs.
- Weeks 6 to 8: shrinking data and finding neighbours fast. The Johnson-Lindenstrauss lemma for cutting dimensions while keeping distances. Then approximate nearest neighbour search with locality sensitive hashing, MinHash, SimHash and Bloom filters.
- Weeks 9 and 10: faster linear algebra for ML. Randomised methods for regression, and matrix sketching.
- Weeks 11 and 12: streaming algorithms. Working with data you can see only once: count-min sketch, heavy hitters, frequency moments, reservoir sampling, graph streams and streaming PCA.
The suggested books are Foundations of Data Science by Blum, Hopcroft and Kannan (2020), and Mahoney's monograph on randomised algorithms for matrices and data (2010).
How the course is assessed
The course page points to the standard course structure on the programme's Academics page. It does not list a separate assessment plan.
Where it counts
- Minor in Algorithmic Decision Making. It is one of three courses, with Reinforcement Learning (BSDA5007) and Sequential Decision Making (BSDA6004). See the Algorithmic Decision Making minor.
- BS level stream rule. It is level 5 and tagged BD/BP. The handbook does not say which stream a BD/BP course counts for, so ask support before you count it. See the BS degree level.
- Terms. The DS course table (updated 18 March 2026) marks it for May 2026, September 2026 and January 2027.
Who finds it hard and how to prepare
This is a theory heavy course. Expect probability bounds and linear algebra arguments, not just code. If you passed MLT by memorising steps without really understanding eigenvectors and SVD, weeks 2 and 3 will be hard.
- Revise SVD, eigenvalues and PCA from MLF and MLT until you can explain them on paper.
- Learn the Markov and Chebyshev inequalities and practise one or two simple bounds. Week 1 builds on this style of reasoning.
- Refresh hashing from PDSA. Weeks 7, 8 and 11 lean on hash functions.
- After each lecture, code the method in NumPy on a small random matrix and compare it with the exact answer. Seeing the error shrink makes the theory concrete.
- Read the matching chapter of the Blum, Hopcroft and Kannan book after each week.
What to take before and after
Machine Learning Techniques (BSCS2007) is the listed prerequisite. Advanced Algorithms (BSCS4021) pairs well with it, since it studies performance guarantees and has a week on randomised algorithms. For the minor, Reinforcement Learning (BSDA5007) is the other level 5 course.
Common questions
Is ADS mostly coding or mostly theory?
The weekly topics are mostly methods and their guarantees, so expect a lot of theory. The course page does not describe any programming assignments. Coding the methods yourself is still the best way to learn them.
Is ADS the same as PDSA?
No. PDSA is a diploma level course on basic data structures and algorithms in Python. ADS is a level 5 course on randomised and streaming methods for large data.
Do I need Sequential Decision Making for this minor?
Yes, it is one of the three minor courses. It is not in the handbook's course table, so its credits and terms are not stated. Ask support about it.
Official sources
Read next
- IITM BS Deep Learning Practice (BSDA5013): Syllabus and Tips
- IITM BS Operating System (BSCS4022): Syllabus and Tips
- IITM BS Reinforcement Learning (BSDA5007): Syllabus and Tips
- IITM BS Deep Learning for Computer Vision (BSDA5006): Syllabus and Tips
- IITM BS Introduction to Big Data (BSDA5001): Syllabus and Tips
- IITM BS Large Language Models (BSDA5004): Syllabus and Tips