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)

Learning Resources
Piazza, Java API, required textbooks

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.

Pre-required Knowledge
Basic Programming Skills (loops, functions, arrays)

Assessment Structure
Quizzes (12%), Homework/Labs (49%), Midterms (14%), and Exams (25%)

Course Link
http://www.cs.cmu.edu/~mjs/121/index.html