1 minute read

“Data Structures and Algorithms” course (ECE-GY 9343) at NYU Tandon by Yong Liu

nyu-header

The “Data Structures and Algorithms” course (ECE-GY 9343) at NYU Tandon, taught by Yong Liu, provides a comprehensive introduction to the fundamental principles of data structures and algorithm design, equipping students with the skills to analyze and solve complex computational problems efficiently. It begins with a review of basic data structures and essential mathematical tools, building a solid foundation for more advanced topics.

The course covers a wide range of data structures, including priority queues, binary search trees, and balanced search trees, and explores their applications in algorithm design. Key algorithms for searching and sorting, such as heapsort, quicksort, linear-time sorting, and medians/order statistics, are analyzed in depth. Students will learn powerful design and analysis techniques like divide-and-conquer, dynamic programming, and greedy algorithms, which are crucial for solving real-world problems.

Graph algorithms form a significant portion of the course, covering essential topics such as breadth-first search, depth-first search, topological sorting, connected components, strongly connected components, minimum spanning trees, and shortest paths. Additionally, the course provides a brief introduction to computational complexity and NP-completeness, offering insights into the theoretical limits of algorithmic efficiency.

This course is ideal for students aiming to build a strong foundation in data structures and algorithms, essential for careers in software development, data science, and related fields.

Course Structure

  • Homeworks - 10%
  • Midterm Exam - 40%
  • Final Exam - 50%

Course Review

The Data Structures and Algorithms course offers a solid foundation for understanding the theoretical principles behind algorithms and data structures, making it ideal for students looking to gain a deep, conceptual understanding of the subject. However, the course is highly theoretical and does not include assignments focused on implementing the algorithms, which can make it challenging for students who prefer hands-on learning. For practical implementation, platforms like YouTube can be helpful supplementary resources.

The exams are particularly difficult, with tough grading standards that require significant effort and preparation to achieve a high grade. Scoring an A in this course demands a deep understanding of the material and substantial effort. While the course is excellent for those interested in the theory behind algorithms, students seeking a more balanced approach that includes practical coding exercises might find it lacking. Overall, it’s a challenging but valuable course for those willing to put in the work to master the concepts.