## Weekly Lab ExercisesThe lab exercises will be posted here weekly. The usual deadline is Tuesday night at midnight (note that there are some exceptions). The work in lab will lead into and be part of the week's project. Labs will also count significantly towards participation. |
## Lab Instructor Information
Prof. Stephanie R. Taylor Office hours: T 10:30-12:00 and 4-5, R 2:30-4, F 1-3 |

### Learning Goals

The learning goals for the lecture and lab are the same -- both are meant to work together to accomplish the goals for the course as a whole. They are- Students understand the advantages and disadvantages of fundamental data structures and can implement them using object-oriented design principles.
- Students understand, can implement, and can calculate the time and space efficiency of classic search, sort, and traversal algorithms, including the use of big-Oh notation.
- Students understand the tradeoffs between different implementation of data structures and algorithms and can make appropriate design decisions based on application data requirements.
- Students can use fundamental data structures and algorithms appropriately to solve a variety of computational problems.
- Students can communicate the result of their work and describe an algorithm.

Lab Exercise 1: Java APIProject Due 11:59 pm, Monday, 15 September 2014 |

Lab Exercise 2: 2D ArraysProject Due 11:59 pm, Monday, 22 September 2014 |

Lab Exercise 3: Linked ListsProject Due 11:59 pm, Monday, 29 September 2014 |

Lab Exercise 4: Abstract ClassesProject Due 11:59 pm, Monday, 6 October 2014 |

Lab Exercise 5: Doubly-Linked ListsProject Due 11:59 pm, Monday, 20 October 2014 |

Lab Exercise 6: QueuesProject Due 11:59 pm, Monday, 27 October 2014 |

Lab Exercise 7: Priority QueuesProject Part I should be done by Monday, 3 November 2014 Project Part II Due 11:59 pm, Monday, 10 November 2014 |

Lab Exercise 8: User InteractionProject Due 11:59 pm, Wednesday, 19 November 2014 |

Lab Exercise 9: GraphsProject Due 11:59 pm, Friday, 5 December 2014 |