Running Time Analysis Activity

From TeachingOpenSource

A Learning Activity is the smallest unit of learning and could be a classroom activity, homework assignment, etc. Learning activities can be sequenced into Learning Modules, and can support steps on Pathways to FOSS contributions.




Running Time Analysis Activity.


Students will search for snippets of code in a given HFOSS project, with a given running time


Basic understanding of the Running Time (big-Oh) and access to the project's source files

After successfully completing this activity, the learner should be able to:
  • Learners should be able to analyze the running time for various code snippets from a given set of source files
  • Learners should be able to search for code snippets that have a given running time.
Process Skills
  • Information Processing


  • Learners should be able to understand the definition of the running time analysis
  • Learners should be able to read code in a given programming language (the HFOSS project will be chosen based on this programming language)


  • Part 1: The instructor will provide a set of files from the chosen HFOSS project (in the chosen programming language).
    • See here for a few HFOSS projects
    • For example, for C#, one could use OpenPetra project (Click here for the GitHub repo for the project)
    • For example, for Java, one could use OpenMRS project (Click here for the GitHub repo for the project)
      • to do ...
      • to do ...
      • to do ...
      • to do ...
      • to do ...
  • Part 2: The instructor will provide a list of running times, and the learners will search for 2-3 code snippets matching those running times.


  • What will deliver the answers to the two activities above in any document format (such as: doc, pdf, odf, google doc)

Notes for Instructors

The remaining sections of this document are intended for the instructor. They are not part of the learning activity that would be given to students.


  • How will the activity be graded?
  • How will learning will be measured? Ideally, there should be a way to measure each of the objectives described above.
  • How will feedback to the student be determined?

Include sample assessment questions/rubrics. Feel free to indicate that the activity itself is not graded, however it would be helpful to include any questions that might be used at a later date to interpret learning, for example on a quiz or exam.

The form of the assessment is expected to vary by assignment. One possible format is the table:

Criteria Level 1 (fail) Level 2 (pass) Level 3 (good) Level 4 (exceptional)
Criterion 1...
Criterion 2...


  • What should the instructor know before using this activity?
  • What are some likely difficulties that an instructor may encounter using this activity?

Suggestions for Open Source Community

Suggestions for an open source community member who is working in conjunction with the instructor.

Additional Information

Area & Unit(s)

AL - Algorithms and Complexity


AL/Basic Analysis, from The Computing Curricula 2013, Appendix A -



Estimated Time
to Complete

45 minutes

Environment /

Internet access, Git Hub account preferred


Alex Mezei, Olga Glebova, Yuan Long




Creative Commons license Under which license is this material made available? We request that you pick a Creative Commons license. We suggest using a template like: {{License CC BY}} or {{License CC BY SA}}

For this blank format: This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

CC BY SA.png