Course Level
Data Structures
Knowledge Unit
Development Methods
Collection Item Type
Lab
Tutorial
Synopsis

Students are provided a jar of a custom implementation of an ArrayList. Students write unit tests to evaluate the ArrayList to 1) learn how to work with a linear data structure and 2) practice writing unit tests. The tests may be refactored for other lab activities to evaluate the quality of student implemented linear data structures (e.g., ArrayList and LinkedList). Students work in groups of two-three. Students are expected to know how to work with Eclipse or other advanced IDE, write JUnit tests, and the basics of the Java Collections Framework.

Recommendations

Dependencies:

1. Eclipse Luna (4.4) or later

2. Java 1.7 or later

3. JUnit 

4. Optional, but encouraged: access to a version control system

Engagement Highlights

Students are provided code and have the opportunity to work with small groups on the assignment, which is an example of Collaborative Learning. There is motivation to do a good job writing the tests since students are told they will be using the tests on later in-class labs. Writing tests for an early lab also demonstrates to students the value of test-driven development in later labs.

Engagement Practices Employed

Materials and Links

Computer Science Details

Programming Language
Java

Material Format and Licensing Information

Creative Commons License
CC BY-SA