![]()
CS171: Introduction to Computer Science II:
Introduction to Data
Structures and Algorithms
Spring 2007
Tuesdays and Thursdays, 10am-11:15am
Math &
Science Center W303
![]()
[ Course Overview ] [ Lecture Notes and Schedule ] [ Assignments ] [ Discussion Board ] [ Announcements ]
![]()
Recent Announcements
| Course Description: | A continuation of CS170, where we implement and begin to analyze some of the fundamental data structures and algorithms. We will primarily use Java, but will also use C for some assignments. Details information available in the Handout #1: Class Information | ||||
| Prerequisites: | CS170 or equivalent; Working knowledge
of Java |
||||
| Topics: | ▪ Basic algorithm analysis: Big-Oh
notation, recurrences ▪ Basic data structures: arrays, linked lists ▪ Low-level issues (in C) e.g., memory allocation, pointer arithmetic ▪ Abstract data types (in Java), with some material on OOP and design issues ▪ Recursion ▪ Trees: properties, traversal ▪ Sorting: basic sorting algorithms, performance characteristics ▪ More sorting: Quicksort, Mergesort, Heapsort, Radix ▪ Searching: basic searching algorithms, *intro to hashing* ▪ Graph traversal and *search* * tentative topics - may not get to this |
||||
| Textbook: | Required: Robert Sedgewick,
Algorithms in Java (Parts 1-4) (3rd ed).
(also used in CS253). Recommended: Kernighan and Ritchie, The C Programming Language (2nd ed.) |
||||
| Grading: | 50% homework:
Approximately weekly, most assignments will involve programming. 30% midterms: 2 Midterm exams, each worth 15% 20% final: Final exam |
||||
Instructor:![]() |
Eugene Agichtein
|
![]()