Software Testing
    Establish Confidence in Program Correctness
  
Exploration
Read chapter 4 of A First Course on Data Structures in Python Study testfor theds2package of donsheehy/datastructures
Activities
Tuesday and Thursday: Software Testing - Understand why algorithm engineers must test programs
 - Discern the differences between benchmarking and testing
 - Explore the benefits and limitations of testing
 - Investigate different approaches to software testing
 - Understand performance trade-offs with software testing
 - Examine source code segments to illustrate trade-offs
 
Friday: Submit algorithm engineering project two, start algorithm engineering project three, and take the second algorithm engineering skill-check in the second half of the laboratory session. 
Project
Goal
To build and use a Python program, called objectprocessing, that runs benchmarks to study the performance of storing and searching for objects using three different ways for determining whether or not a search term matches the value in an object’s attributes.
Steps
- Click the link provided in Discord to get started on this project
 - Reference 
Object Processing as a public reference repository  - Install the project’s dependencies using 
devenvand/orpoetry - Follow the instructions to complete the project:
- Week 1: Implement all of the modules in 
objectprocessing - Week 2: Design, conduct, and document experimental results
 
 - Week 1: Implement all of the modules in 
 - Schedule office hours if you have questions