CS6604: Reinventing CS Education
through the eTextbook
Assignment 2: Spring 2012
45% of semester grade
You must complete a semester project during the course of the semester. To give a sense of effort and scope expected, I consider it reasonable that you spend approximately 60-70 hours during the course of the semester on the project (that would be about five hours per week for the rest of the semester). Final submission of the project is due on Reading Day (Thursday, May 3).
Projects may be done individually, or with a partner or small group, depending on what seems appropriate for the topic.
Projects should be relevant to the course topic on eTextbooks. Project topic must be approved by Dr. Shaffer. All students must finalize their topic by Wednesday, February 8. Prior to that date (leave enough time for some discussion in case your original suggestion needs modification), send me email describing what you would like to do.
It is acceptable if your semester project can be related to ongoing research work that you are conducting.
At the end of the semester, you must submit a writeup documenting the work done on your project, along with any appropriate sourcecode or software installation. If you are conducting a non-software oriented project such as a survey or focus group, then the main deliverable will be your writeup documenting your findings. [Note: This is separate from the Assignment 3 paper.]
Here are some potential topics for projects.
- Modify the Khan Academy exercise infrastructure to allow for embedding of exercises within our modules with the least amount of "skin" necessary. See the KA skin for exercises, etc. [Project taken by Gayathri]
- Install the complete KA "back end" for our use, connected to our version of the exercise infrastructure, and integrated with the preprocessor. Demonstrate that it works with some simple interactions with exercises in the shellsort module and receiving the score from the proficiency exercise.
- Extend JSAV library to support additional data structures layout, perhaps graphs. [Prereq: Experienced JavaScript/JQuery programmer]
- Create the interface for selecting from a subset of modules, and creating the eTextbook directory including the Knowledge Map [Prereq: Python knowledge]
- Write an exercise that combines JSAV with the KA exercise infrastructure. See for example the first exercise proposed in OpenDSA:build/Shellsort.html
-
Conduct user studies of modules. Some potential questions to answer
include:
- Does Shellsort make sense? Is it too long, etc?
- Do users like the proficiency exercise?
- How fast should swaps be?
- Do users spend much time on the AV?
- Follow up on the survey work that we did last semester to get input from students about what they would like to see/how to use the materials from OpenDSA in particular, and more broadly how they would like an eTextbook to fit into their class. A focus group discussion with faculty could be conducted.
- Write support for editing and executing code snippets in various languages, including: Processing, Python, JavaScript, and "plain text" (no execution). This will be patterned after technology demonstrated in some existing projects.
- Install Rhaptos (the engine that runs Connexions) and figure out how to modify their authoring system so that we have embed tags.
- Default Assignment: Design and/or implement exercises or a visualization for OpenDSA.
Go to the CS6604 Homepage.