CS2 Data Structures Activity
|Title||CS2 Data Structures Activity|
|Overview||Using the HFOSS OpenMRS project to illustrate the use of data structures in a complex system|
|Prerequisite Knowledge||CS1 and Java|
Is there background reading material?
Are there other activities the student should have done first?
What is the rational for this activity?
Include helpful hints to faculty here.
Directions: Working Ideas Stage 2 activity (2.3) from POSSE 201405
- Identify the course(s) the activity would be appropriate for.
- CS2 Data Structures Project based on the work of Darci's student Data Structure Example
- Briefly describe the activity.
- Find use of a specified data structure in the OpenMRS code base using a tool like Ag, explain the task that the data structure is used to accomplish, and explain why the data structure is a good or poor choice for accomplishing this task.
- How much time do you expect the HFOSS activity to take (# classes, # homework assignments, # lab activities, etc.)? Will the activity be completed in class or out of class?
- One homework assignment or lab activity.
- How does this activity relate to course goals/objectives?
- Describe the difference between a data structure and the implementation thereof.
- Explain the application of a data structure in a specific large complex software system
- Evaluate tradeoffs in selection of data structures.
- Analyze the time complexity of an algorithm that uses the data structure.
- What will students submit upon completion of the activity?
- A link to a place where the code is found in the codebase 
- A written description of the data structure used within the code and how the code works.
- How will you assess the submission?
- Students will get into groups of three and assess each other's work based on rubric provided by professor.
- Each group will provide a group response
- Each student will turn in the original response.
- List any question or concerns you have about implementing your activity.
- What type of support will you need to implement your activity?
- Darci will provide all support.
Written artifact to Instructor
How will the activity be graded?
How will learning will be measured?
Include sample assessment questions/rubrics.
|Criteria||Level 1 (fail)||Level 2 (pass)||Level 3 (good)||Level 4 (exceptional)|
|The purpose of the project|
|Why the project is open source|
What should the instructor know before using this activity?
What are some likely difficulties that an instructor may encounter using this activity?
|ACM Knowledge Area/Knowledge Unit||What ACM Computing Curricula 2013 knowledge area and units does this activity cover? ACM_Body_of_Knowledge|
|ACM Topic||What specific topics are addressed? The Computing Curriucula 2013 provides a list of topics - https://www.acm.org/education/CS2013-final-report.pdf|
|Level of Difficulty||Is this activity easy, medium or challenging?|
|Estimated Time to Completion||Varies, designed as one assignment or laboratory activity|
|Materials/Environment||Access to OpenMRS codebase|
|Author||Who wrote this activity?|
|Source||POSSE 201405 Workshop Activity|
|License||Licensed CC BY-SA|
Suggestions for Open Source Community:
Suggestions for an open source community member who is working in conjunction with the instructor.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License