CS 240 - Data Structures and Algorithms, Spring 2024

The focus of this course is on solving computational problems that involve collections of data. We will study a core set of data abstractions, data structures, and algorithms that provide a foundation for writing efficient programs.

At the conclusion of this course students will be able to:

  • Describe, explain, and use abstract data types including stacks, queues, lists, sets, maps and graphs.
  • Implement data types using both contiguous and linked representations.
  • Implement a variety of algorithms for searching and sorting, including linear and binary search, insertion/selection/merge/quick sort, binary search trees, and heaps
  • Read and write recursive algorithms. Understand when recursion is, and is not, appropriate.
  • Characterize the performance of recursive algorithms.
  • Analyze the time and space efficiency of data structures and algorithms and apply this analysis to select the best tools for solving particular problems.

This is a programming intensive course and will involve developing and analyzing algorithms in the Java programming language. \

CS 240 Details

Find them on Canvas.

Autograding!

Ask and Answer Questions

Piazza facilitates collaborating in asking and answering questions, even anonymously.

Artboard 95