CS2 Data Structures Activity

(Difference between revisions)
Jump to: navigation, search
(Added CC license info)
(updating with activity template)
Line 1: Line 1:
=== Preparation: ===
 
 
 
{| border="1"
 
{| border="1"
 
|-  
 
|-  
|'''Description''' || Using the HFOSS OpenMRS project to illustrate the use of data structures in a complex system
+
|'''Title''' || CS2 Data Structures Activity
|-
+
|'''Source''' || POSSE 201405 Workshop Activity
+
 
|-
 
|-
 +
|'''Overview''' || Using the HFOSS OpenMRS project to illustrate the use of data structures in a complex system
 +
|-
 
|'''Prerequisite Knowledge''' || CS1 and Java
 
|'''Prerequisite Knowledge''' || CS1 and Java
|-
 
|'''Estimated Time to Completion''' || Varies, designed as one assignment or laboratory activity
 
 
|-
 
|-
 
|'''Learning Objectives''' ||  
 
|'''Learning Objectives''' ||  
Line 16: Line 12:
 
#Evaluate tradeoffs in selection of data structures.
 
#Evaluate tradeoffs in selection of data structures.
 
#Analyze the time complexity of an algorithm that uses the data structure.
 
#Analyze the time complexity of an algorithm that uses the data structure.
|-
 
|'''Materials/Environment''' || Access to OpenMRS codebase
 
|-
 
|'''Rights''' || Licensed CC BY-SA
 
|-
 
|'''Turn In''' || Written artifact to Instructor
 
 
|}
 
|}
  
=== Working Ideas Stage 2 activity (2.3) from POSSE 201405 ===
+
=== Background: ===
 +
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.
 
#Identify the course(s) the activity would be appropriate for.
 
##CS2 Data Structures Project based on the work of Darci's student [https://github.com/marvinyan/openfe/blob/master/Examples%20of%20Data%20Structures.md Data Structure Example]
 
##CS2 Data Structures Project based on the work of Darci's student [https://github.com/marvinyan/openfe/blob/master/Examples%20of%20Data%20Structures.md Data Structure Example]
Line 48: Line 47:
 
##Darci will provide all support.
 
##Darci will provide all support.
  
=== Background: ===
 
  
=== Directions: ===
+
=== Deliverables: ===
 +
Written artifact to Instructor
 +
 
 +
 
 +
=== Assessment: ===
 +
How will the activity be graded?
 +
 +
How will learning will be measured?
 +
 
 +
Include sample assessment questions/rubrics.
 +
 
 +
{| border="1" class="wikitable"
 +
! Criteria
 +
! Level 1 (fail)
 +
! Level 2 (pass)
 +
! Level 3 (good)
 +
! Level 4 (exceptional)
 +
|-
 +
| '''The purpose of the project'''
 +
|
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| '''Why the project is open source'''
 +
|
 +
|
 +
|
 +
|
 +
 
 +
|}
 +
 
 +
=== Comments: ===
 +
What should the instructor know before using this activity?
 +
 
 +
What are some likely difficulties that an instructor may encounter using this activity?
 +
 
 +
 
 +
=== Additional Information: ===
 +
{| border="1"
 +
|-
 +
|'''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  
 
This work is licensed under a  
 
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]
 
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]
Line 57: Line 118:
  
 
[[Category: Learning_Activity]]
 
[[Category: Learning_Activity]]
[[Category: Coding and Style]]
+
[[Category: LEARNING_ACTIVITY_SUBCATEGORY]]

Revision as of 15:52, 26 January 2016

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
Learning Objectives
  1. Describe the difference between a data structure and the implementation thereof.
  2. Explain the application of a data structure in a specific large complex software system
  3. Evaluate tradeoffs in selection of data structures.
  4. Analyze the time complexity of an algorithm that uses the data structure.

Contents

Background:

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

  1. Identify the course(s) the activity would be appropriate for.
    1. CS2 Data Structures Project based on the work of Darci's student Data Structure Example
  2. Briefly describe the activity.
    1. 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.
  3. 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?
    1. One homework assignment or lab activity.
  4. How does this activity relate to course goals/objectives?
    1. Describe the difference between a data structure and the implementation thereof.
    2. Explain the application of a data structure in a specific large complex software system
    3. Evaluate tradeoffs in selection of data structures.
    4. Analyze the time complexity of an algorithm that uses the data structure.
  5. What will students submit upon completion of the activity?
    1. A link to a place where the code is found in the codebase [1]
    2. A written description of the data structure used within the code and how the code works.
  6. How will you assess the submission?
    1. Students will get into groups of three and assess each other's work based on rubric provided by professor.
    2. Each group will provide a group response
    3. Each student will turn in the original response.
  7. List any question or concerns you have about implementing your activity.
    1. N/A
  8. What type of support will you need to implement your activity?
    1. Darci will provide all support.


Deliverables:

Written artifact to Instructor


Assessment:

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

Comments:

What should the instructor know before using this activity?

What are some likely difficulties that an instructor may encounter using this activity?


Additional Information:

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

CC license.png

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