Course Syllabus
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.
Instructor
Jeremy Siek, Office hours: Mondays 2-3pm, Fridays 2-3pm, and by appointment. Office: LH 230D.
Assistant Instructors
- Deyaaeldeen Almahallawi (dalmahal@indiana.edu), Office hours: Thursdays 4-6pm in LH 125
- Kyle Carter (kylcarte@indiana.edu), Office hours: Thursdays 4:00-5:30pm in LH 125
- Xiaohui Wang (wang502@imail.iu.edu), Office hours: Fridays 1-3pm in LH 125
- Brahmendra Sravan Kumar Patibandla (bpatiban@umail.iu.edu), Office hours: Fridays 2-4pm in LH 125
- Sai Sri Vidya Chitta (schitta@indiana.edu), Office hours: Thursdays 11am-1pm, LH 125.
- Vikrant Kaushal (vkaushal@indiana.edu), Office hours: Wednesday, 1:30-3:30pm, Location: LH125..
Each AI is responsible for grading for half of the students in their lab.
To find out which AI is responsible for you, consult this file. If your name is not in that file, please send email to Jeremy.
Lecture
4:00 PM - 5:15 PM, Monday and Wednesday, Optometry Building Room 111
Textbook (required)
Data Structures & Algorithm Analysis in Java (Third Edition, version 3.2) by Clifford A. Shaffer.
Course Schedule
For the course schedule, follow this link.
Discussion
We will use Piazza for out-of-class course-related discussions. Participating in the Piazza discussions is part of your participation grade.
Late Assignment Policy
You may turn-in assignments (labs, textbook exercises, projects) up to 1 week late and they will still be graded, but with a 10% deduction from your assignment grade.
Resources
- Eclipse (text editor and IDE) download and tutorial: Eclipse-IDE-Tutorial.pdf.
- Github tutorial.
- Java programming
- Book: Core Java for the Impatient by Cay Horstman. (Textbook for C212.)
- Book: Head First Java by Kathy Sierra and Bert Bates.
- Book: Intro. to Programming using Java by David J. Eck
- Code Academy Java Course
- Kattis Programming Problems
- Code Fights
- Code Exercises
- Project Euler
Course Summary:
Date | Details | Due |
---|---|---|