This course studies the fundamental ideas for efficiently analyzing 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 tightly 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.
Jeremy Siek, Office hours: 1:00-3:00 PM Fridays, and by appointment. Office: LH 230D.
- Paul Spears firstname.lastname@example.org, office hours: 2:00-3:00 PM Tuesdays and Thursdays LH 125
- Ma, Weixi email@example.com, office hours: 9:30-10:45 AM Tuesdays LH 315
- Kai Zhen firstname.lastname@example.org, office hours: 4:00-5:00 PM Thursdays LH 125
- Brandon Peavler email@example.com, office hours: 5:00 PM - 6:00 PM Tuesdays, 6:00 PM - 7:00 PM Thursdays LH 125
- Paul Logan firstname.lastname@example.org, 10am-11am Mondays LH 125
- Kyle Ross email@example.com, 12-1pm Wednesdays LH 125
4:00 PM - 5:15 PM, Monday and Wednesday, Swain East 105
Data Structures and Algorithms in Python, by Goodrich, Tamassia, and Goldwasser. ISBN: 978-1-118-29027-9, also available as an e-Book
For the course schedule, follow this link.
The syllabus page shows a table-oriented view of the course schedule, and the basics of course grading. You can add any other comments, notes, or thoughts you have about the course structure, course policies or anything else.
To add some comments, click the "Edit" link at the top.