Introduction to Data Structures Course ID 15121 Description A continuation of the process of program design and analysis for students with some prior programming experience (functions, loops, and arrays, not necessarily in Java). The course reinforces object-oriented programming techniques in Java and covers data aggregates, data structures (e.g., linked lists, stacks, queues, trees, and graphs), and an introduction to the analysis of algorithms that operate on those data structures. Key Topics Data Structures: Graphs, trees, heaps, stacks, queues, etc. Object Oriented Programming in Java. Analysis of algorithms on data structures (time/space efficiency) Required Background Knowledge Basic Programming Skills (loops, functions, arrays) Course Relevance This course is or students with some prior programming experience and want to learn about data structures. Course Goals Analyze the efficiency of algorithms. Design and implement event-based graphical animations. Learning Resources Piazza, Java API, required textbooks Assessment Structure Quizzes (12%), Homework/Labs (49%), Midterms (14%), and Exams (25%) Course Link http://www.cs.cmu.edu/~mjs/121/index.html