CS 231: Data Structures and Algorithms

Title image Spring 2018

Course Information for Spring 2018

Time: MWF 9am, 10am
Place:Davis 117
Lab A: M 1-2:20pm
Lab B: M 2:30-3:50pm
Lab C: T 1-2:20pm
Place:Davis 102

Instructor Information

Asst. Prof. Ying Li
Office: Davis 115

Prof. Bruce A. Maxwell
Office: Davis 112
Phone: 859-5854
Office hours: Knock
M 10pm-late, R 7:30pm-late
Any time my door is open. Good times will be before 11am M-F or Friday after lunch.

Lab and Project Links

LabsProjectsDue Dates
Java and ArrayListsMonte-Carlo Simulation: Blackjack19 February 2018
2D ArraysCellular Automata Simulation: Game of Life26 February 2018
StacksSearch Simulation: Sudoku5 March 2018
Linked ListsAgent-based Simulation: Grouping Behaviors12 March 2018
QueuesDecision-making Simulation: Checkout Lines23 March 2018
Binary Search Trees and SetsAnalysis: Word Frequences9 April 2018
Hash TablesAnalysis: Comparing Data Structures16 April 2018
Priority QueuesAnalysis: Word Trends30 April 2018
GraphsGame: Hunt the Wumpus11 May 2018

Online Resources

Algorithm Visualization:

Links to web sites comparing Python to Java:
Links to free online data structures textbooks:
Links to Java online documentation, tutorial, and sample code: Note: The Java tutorial and the JDK API documentation (the first two links below) can be downloaded to your computer so that you don't need web access to view them. They also load a little faster if you use a local copy.
Links to free online Java help:
Links to free Java development environments: