Running Time Analysis
Characterize Performance with Analysis
Exploration
Read chapter 5 of A First Course on Data Structures in Python Experimentally evaluate performance of algorithms, data structures, and systems in the ds2
package of donsheehy/datastructuresNote that next week we will cover a new chapter of the book!
Activities
Tuesday and Thursday: Analytical Evaluation - Further understand why program performance is critically important
- Characterize performance patterns in Python programs
- Use asymptotic analysis to characterize performance
- Examine Python source code segments to illustrate key points
Friday: Submit algorithm engineering project three, start algorithm engineering project four, and give presentations for the first algorithm all-hands session
Project
Goal
To build and use a Python program, called filesorter
, that runs benchmarks to study the performance of sorting different types of data stored in a CSV file.
Steps
- Click the link provided in Discord to get started on this project
- Use
File Sorting as your template repository - Install the project’s dependencies using
devenv
and/orpoetry
- Follow the instructions to complete the project:
- Week 1: Implement all of the modules in
filesorter
- Week 2: Design and conduct experiments and document experimental results
- Week 1: Implement all of the modules in
- Schedule office hours if you have questions