Running Time Analysis Activity

From Foss2Serve
(Difference between revisions)
Jump to: navigation, search
(Overview)
m (Additional Information)
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 
{{Category:Learning Activity}}
 
{{Category:Learning Activity}}
 +
 +
 +
'''NOT YET READY!!!'''
  
 
=== Overview ===
 
=== Overview ===
Line 12: Line 15:
 
''Basic understanding of the Running Time (big-Oh) and access to the project's source files''
 
''Basic understanding of the Running Time (big-Oh) and access to the project's source files''
 
|objectives=
 
|objectives=
''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 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=
 
|process skills=
''Learners should be able to search for code snippets that have a given running time.''
+
* Information Processing
 
}}
 
}}
  
 
=== Background ===
 
=== Background ===
  
* Is there background reading material?
+
* Learners should be able to understand the definition of the running time analysis
* What is the rationale for this activity?
+
* Learners should be able to read code in a given programming language (the HFOSS project will be chosen based on this programming language)
  
 
=== Directions ===
 
=== Directions ===
  
* What should the student do?
+
* Part 1: The instructor will provide a set of files from the chosen HFOSS project (in the chosen programming language).
 +
** See [http://foss2serve.org/index.php/HFOSS_Projects here] for a few HFOSS projects
 +
** For example, '''for C#''', one could use [https://www.openpetra.org OpenPetra] project (Click here for the [https://github.com/openpetra/openpetra GitHub] repo for the project)
 +
** For example, '''for Java''', one could use [http://openmrs.org/ OpenMRS] project (Click here for the [https://github.com/OpenMRS/openmrs-core 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.
  
 
=== Deliverables ===
 
=== Deliverables ===
  
* What will the student hand in?
+
* What will deliver the answers to the two activities above in any document format (such as: doc, pdf, odf, google doc)
  
 
= Notes for Instructors =
 
= Notes for Instructors =
Line 76: Line 90:
  
 
{{Learning Activity Info
 
{{Learning Activity Info
|acm unit=
+
|acm unit=  
''What ACM BoK Area and Unit(s) are covered?''
+
''AL - Algorithms and Complexity''
|acm topic=
+
|acm topic=
''What specific topics are addressed? The Computing Curricula 2013 provides a list of topics in Appendix A - The Body of Knowledge (page 58) - https://www.acm.org/education/CS2013-final-report.pdf''
+
''AL/Basic Analysis, from The Computing Curricula 2013, Appendix A - https://www.acm.org/education/CS2013-final-report.pdf''
|difficulty=
+
|difficulty=  
''Is this activity easy, medium, or hard?''
+
''medium''
|time=
+
|time=  
''How long should a typical student take to complete the activity?''
+
''45 minutes''
|environment=
+
|environment=  
''What does the student need? (e.g. Internet access, IRC client, Git Hub account, LINUX machine, etc.)''
+
''Internet access, Git Hub account preferred''
|author=
+
|author=  
''Who wrote this activity?''
+
''Alex Mezei, Olga Glebova, Yuan Long''
|source=
+
|source=  
''Is there another activity on which this activity is based?  If so, please provide a link to the original resource.''
+
''no''
|license=
+
|license= Creative Commons license
 
''Under which license is this material made available? We request that you pick a [http://creativecommons.org/licenses/ Creative Commons license].''
 
''Under which license is this material made available? We request that you pick a [http://creativecommons.org/licenses/ Creative Commons license].''
 
''We suggest using a template like'': <nowiki>{{License CC BY}}</nowiki> or <nowiki>{{License CC BY SA}}</nowiki>
 
''We suggest using a template like'': <nowiki>{{License CC BY}}</nowiki> or <nowiki>{{License CC BY SA}}</nowiki>

Latest revision as of 18:35, 19 June 2019

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.


NOT YET READY!!!

Overview

Title

Running Time Analysis Activity.

Overview

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

Prerequisites

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

Learning
Objectives
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
Practiced
  • Information Processing


Background

  • 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)

Directions

  • 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.

Deliverables

  • 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.

Assessment

  • 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...

Comments

  • 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

ACM BoK
Area & Unit(s)

AL - Algorithms and Complexity

ACM BoK
Topic(s)

AL/Basic Analysis, from The Computing Curricula 2013, Appendix A - https://www.acm.org/education/CS2013-final-report.pdf

Difficulty

medium

Estimated Time
to Complete

45 minutes

Environment /
Materials

Internet access, Git Hub account preferred

Author(s)

Alex Mezei, Olga Glebova, Yuan Long

Source

no

License

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 license.png

Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox