This course studies the fundamental ideas for how to efficiently analyze large amounts of data, such as DNA sequence databases and geographic information. These fundamental ideas come in two kinds: algorithms and data structures. Algorithms are instructions for solving problems and data structures are strategies for organizing information on computers. Efficient algorithms require appropriate data structures, and vice versa, so the study of algorithms and data structures is tighly linked. In this course we learn about the algorithms and data structures that form the building blocks for most of Today's large-scale computer systems. We apply these ideas to solve challenging problems in bioinformatics and geographic information systems.

Warning: a possible side-effect of taking this course is doing better on job interview questions.

Instructor: Jeremy Siek, Office hours: Wed. 3-4pm, Fri. 2-3pm, and stop by or email. Office: LH 330C.

Associate Instructors:

  • Amey Jahagirdar, Office hours: Thu 12:30-1:30pm, Location: LH 406
  • Nilesh Mahajan, Office hours: Fri 3-4pm (Thu 1-2pm starting 10/17), Location: LH 406
  • Sai Prakash,, Office hours: Wed 4-5pm, Location: LH 406

Undergraduate Instructors:

  • Max Crouse, mvcrouse at, Office hours: Fri 11am-12, Location: LH 406
  • Geralyn Dierfeldt, gbdierfe at, Office hours: Thu 11am-12, Location: LH 406
  • Riley Todd, rileyatodd at,Office hours: Fri 2:30-3:30pm, Location: LH 406

Lecture: Monday & Wednesday, 4:00-5:15pm @ Lindley Hall 102


  • Thursday, 11:15am-12:05pm @ WH 002, Instructors: Amey and Sai
  • Thursday, 4:00-4:50pm @ WH 007, Instructors: Riley and Geralyn
  • Friday, 12:20-1:10pm @ GY 226, Instructors: Nilesh, Max, and Priyanka

Homework: Due on Friday's, 11:59pm @ GitHub:IU, Guide to GIT
AI to Student Mapping


  • Midterm: October 16, 4:00-5:15pm
  • Final: Dec. 16, 10:15am-12:15pm

Online Discussion: Piazza


Textbooks (required):

  • Introduction to Algorithms, 3rd ed. by Cormen, Leiserson, Rivest, Stein.
  • Problem Solving with Algorithms and Data Structures Using Python 2nd Ed. by Miller and Ranum (free online version).


© Jeremy Siek 2013