This algorithm all-hands assignment invites you to complete the following steps:
- Meet in your assigned groups to discuss your assigned function from the mid-term examination.
- Share and present to the other members of your team the source code that you implemented.
- Discuss with your team members the likely runtimes and running times of your implementations.
- Specify, design, and implement a benchmarking framework that supports the experimental evaluation of the functions that you and your team members implemented as a part of the mid-term examination.
- Write and publish on the course web site a blog post that explains (a) the runtime results from your experimental study with the benchmarking framework that you implemented and (b) the running time results from an analytical evaluation that you independently conducted. Your blog post should clearly articulate (a) whether or not the experimental and analytical results for your function are in alignment with each other, (b) what is most likely to be the realistic runtime and true running time of your function, and (c) why you judge that your function has this runtime and running time, (d) which function from among those implemented by your team members is the fastest, and (e) why this single implementation proved to be the fastest among all of the solutions.
- Present your findings to the entire class during the following week of the academic semester during the follow-on algorithm all-hands session.
- Please note that all of the work that you complete for this assignment should be published to the course web site. Your team must create and contribute to a pull request on the course web site's GitHub repository and ensure that your work is reviewed, revised, and published in advance of the Friday class session next week.
It is important to point out that your repository for this project was created from the GitHub repository template called runtime-and-running-time-starter; you can check this repository for any updates to this project's documentation or source code! Finally, the teams and their corresponding functions will be assigned through an announcement in Discord; check there for more details!
Even though the course instructor will have covered all of the concepts central to this project before you start to work on it, please note that not every detail needed to successfully complete the assignment will have been covered during prior classroom sessions. This is by design as an important skill that you must practice as an algorithm engineer is to search for and then understand and ultimately apply the technical content found in additional resources.
TODO: Sign your pledge in this file to indicate that you adhered to the Honor Code while completing this assignment.
TODO: Add a reference to the blog post that you and your team members wrote.
TODO: Write at least two sentences to explain the key role(s) that you played in completing this team-based project.