CSci2110: CS3 Data Structures

Winter 2015

Andrew Rau-Chaplin (

Teaching Assistant:
Mengdu Li
Neil Burke

Learning Center:

Office Hours: Thurs 1:30
Class: Tues/Thur 10-11:30
Tutorials: Mondays 4:30-7:30 COMPUTER SCIENCE LAB-2 or C/D

Assignment Submission:
All grades will be available on Owl


Data Structures and Algorithms in Java 6/e by M. T. Goodrich, R. Tamassia and M. H. Goldwasser. Available from Amazon or Wiley.

Lecture Notes:
(currently under review)


Tutorials Notes:
(currently under review)

  • Tutorials

Code Libraries:

Java Demos:

Welcome to the course website for CS2110. On this site you will find material to support you in this course. Note that  this material is under development and is likely to change. Material for any lectures we have yet to cover in class should be treated as provisional.

Course News:

  • Mar 20: Assignment 4
    • I do not indent to extend the Assignment 4 due date. 
    • The tutorial this Monday March 23rd will be a discussion of Assignment 4. If you have not completed Assignment 4 you might find it useful. If have completed Assignment 4, you might want to skip the tutorial.
  • Mar 20: A Second Midterm Practicum
    • In the tutorial session on Monday March 30 we will be holding a Second Midterm Practicum. This is optional for all students who wrote the First Midterm Practicum. If you choose to write it a second time only your best mark on these practicums will be used to compute your finale grade. If you missed the first practicum you must write the second one.
  • Mar 20: Notes on Augmenting Data Structures are now available.
  • Mar 12: Assignment 5 has now been posted. It is due April 9th by 11:59pm.
  • Mar 10:A sample practicum with solutions is now available.
  • Mar 5:  I am extending the deadline for Assignment 3 until Sunday Mar 9th at 11:59pm. 
  • Mar 3: A Practice Practicum Midterm is to be held in the tutorail on Monday March 9th. The actual practium midterm will be help on Monday March 16th in the tutorial.
  • Mar 3: Assignment 4 has now been posted.
  • Feb 23:If you are interested in playing around with GraphVis as discussed in the bonus question on Assignment 3 you might be interested in this online rendering site so you don't have to install the Graphvis software on your machine.
  • Feb 13: Assignment 3 has now been posted.
  • Feb 9: Here is a past midterm as an example. It covers more material than we have covered so please ignore the details of Question 6 (although the style is appropriate).
  • Feb 9: Tutorial on JUnit and JDocs
  • Feb 3:  I am extending the deadline for Assignment 2 until Tuesday Feb 10th at 11:59pm. 
  • Feb 2: For a quick tutorial on Java Generics see here.
  • Jan 27: The "Practice Midterm 2 practicum" that we completed in the last tutorial is available here. If you did not attend the tutorial you should try to complete it on your own WITHOUT looking anything up on the internet. It should take you under 90 minutes.
  • Jan 25: In the tutorial today we will be doing a practice programming assignment/evaluation.
  • Jan 20: Assignment 2 is now available
  • Jan 17: Assignments can be submitted and grades will be made available at
  • Dec 30: The second tutorial will be on Monday Jan 19 at 4:30pm. Topics:
    • Help on Assignment 1
    • You bring the questions! If there are no questions it will be a short tutorial!
    Dec 30: First Tutorial will be on Monday Jan 12 at 4:30pm. Topics:
    • How to log in and create a Java program
    • Discussion of Assignment 1 Q1: What is a test plan?
    • Tour of Eclipse: Create a project from the Maze example, run it, and trace it using the debugger.
  • Dec 30: Your first assignment, Assignment 1, is now available and due Thursday Jan 22nd.
  • Dec 30: The lecture notes can be accessed on campus but if you are off campus you will need a user name and password which I will give you next class.
  • Dec 30: Course outline, Schedule, and Lecture Guide updated.
  • Official Description: This class is a continuation of CSci 1101.03. It uses Java and emphasizes data structures and algorithms.

Home * Publications * Research *
Teaching * Contact me