Data Structures and Algorithms -- Program Description

Jon Jacky

This program description goes into students' transcripts.

Last revised December 13, 2001. Use your browser's Reload or Refresh button to get the latest version.

Back to course page.


Data Structures and Algorithms is an upper-division computer science course. Topics include: algorithms for searching and sorting; fundamental data structures including arrays, linked lists, and hash tables; assessment of performance using Big-O analysis (including a review of pertinent mathematics including powers and logs and the growth of functions); program derivation and assessment of correctness using assertions and loop invariants (including a review of logic and boolean algebra and an introduction to programming language semantics); Java programming techniques, especially using reference variables (pointers) and linked data structures; programming language support for data structures, including arrays (in most languages), lists and trees (in Lisp and Scheme), and hash tables (in Awk and Perl). Assigned readings were technical articles from professional journals. Programming assignments included individual and group projects assigned by the instructor, and projects chosen by the students themselves. Evaluations considered students' oral and written reports on their projects (including their code), their performance on short-answer quizzes, and their attendance, timeliness, and other work habits.

Course Equivalencies (in quarter hours):

8 - Data Structures and Algorithms


Jon Jacky, jackyj@evergreen.edu