SyllabusΒΆ
Course Number: 56:198:501 (also cross-listed as 56:121:531)
Instructor: Sunil Shende
Class Schedule: Asynchronous Online
Class Office Hours: On Zoom Meetings weekly on TTh from 5pm to 6pm, or strictly by prior arrangement at a mutually agreed-upon time.
Email: shende AT camden DOT rutgers DOT edu
Data structures and algorithms are at the heart of all computer programs and applications. This course is an introduction to many of the common data structures like arrays, linked lists and tree structures as well as some fundamental algorithms on data collections and graphs. More to the point, the course exposes students to powerful techniques for algorithm design and analysis to demonstrate their correctness and computational efficiency.
A variety of application contexts will be considered. We will use the Python programming language along with specific frameworks and libraries from the Python ecosystem to implement algorithms and data structures. This is a hands-on course: students who are not familiar with Python must be prepared to get up to speed with the language basics (constructs; object-oriented programming; built-in modules etc.) by the end of the first two weeks.