15-121 Introduction to Data Structures


Course Level:UndergraduateUnits: 10Special Permission Required: No
(if yes, please see Notes)

Frequency Offered: Confirm course offerings for upcoming semesters by accessing the university Schedule of Classes.

Course Relevance (who should take this course?): This course is or students with some prior programming experience and want to learn about data structures.

Course Website: http://www.cs.cmu.edu/~mjs/121
Key Topics:Background Knowledge:Assessment Structure:
  • Data Structures
    • Graphs
    • Trees
    • Heaps
    • Stacks
    • Queues, etc.
  • Object Oriented Programming in Java
  • Analysis of Algorithms on Data Structures (Time/Space Efficiency).

Basic Programming Skills (loops, functions, arrays)

Sample class notes:

Sample Assignment:

  • Quizzes (12%)
  • Homework/Labs (49%)
  • Midterms (14%)
  • and Exams (25%)

Sample Exam: Not provided

Sample Lecture Recording: Typically no recorded lectures

Most Recent Syllabus: 

Course Goals/Objectives:
  • Analyze the efficiency of algorithms
  • Design and implement event-based graphical animations
Learning ResourcesPre-reqs, Cross list, RelatedNotes
  • Piazza
  • Java API
  • Blackboard
  • Required Textbooks – Java Illuminated by Julie Anderson (Based on F 2014 website)
  • Prerequisites Required: 15-112
  • Minimum Grades in Prereqs: D in 15-112
  • Corequisites: None
  • Prerequisite for: 
  • Anti-requisites: None
  • Cross-Listed: None
  • Substitutes: 15-122
  • Related Courses: 15-122
  • Reservations: Some reservations are for Freshmen & Sophomores in HSS, Some reservations are for students in QIS
Department Website:College Website:Updated November 2017
https://www.csd.cs.cmu.eduhttp://www.cs.cmu.edu/ Back to Course Profile List