Compsci 201:
Algorithms and Data Structures
Course Description
Analysis, use, and design of data structures and algorithms using an
object-oriented language like Java to solve computational
problems. Emphasis on abstraction including interfaces and abstract data
types for lists, trees, sets, tables/maps, and graphs. Implementation and
evaluation of programming techniques including recursion. Intuitive and
rigorous analysis of algorithms. Prerequisite: CompSci 101,
CompSci 116, Engineering 103L, AP CS A, or equivalent.
Course Goals:
At the end of the course, students should be able to:
- Given a problem statement and a real data source, design, develop,
debug, and test a Java program that uses appropriate standard libraries to
efficiently solve the problem.
- Write programs that effectively implement
and use data structures such as: arrays, maps, linked lists, stacks, trees, and graphs.
- Evaluate the time and space complexity of iterative and
recursively-defined algorithms using empirical and mathematical analysis.
Course Announcements
- January 8, 2019
- The Discussion for January 8 is virtual, do not go to class, but
instead try to setup your environment online.
- The first lecture is on January 10.
- Fill out the course survey before coming to class. This is the survey
on the virtual discussion for January 8
- Mark on your calendar, Exam 1 is February 14 and Exam 2 is April 3.
- DO NOT PLAN to leave town until after your final exam! The
final exam is April 30.