0.1. How to Use this System¶
Welcome to OpenDSA! OpenDSA is an open source project whose goal is to provide online course materials for a wide range of Computer Science courses. The project includes both infrastructure and content for producing customizeable eTextbooks. OpenDSA’s strengths are support for creating visualizations and interactive exercises, along with LTI support for integrating 3rd party content.
Learning Management Systems and OpenDSA Book Instances OpenDSA materials are most often presented in the form of a “textbook instance” as content within some Learning Management System (LMS), such as Canvas or Moodle. Your OpenDSA “textbook” is made up of a series of modules. Each module corresponds to roughly one section in a regular textbook, or what might get presented in part of a one-hour lecture. Your LMS might further break modules into smaller sections, one on each page. OpenDSA content combines text and images with algorithm visualizations for many algorithms, along with lots of interactive assessment exercises. The goal of the exercises is to let you know if you really understand what you have been reading.
Registration and Accounts: This is an open source project, and in keeping with the spirit of our commitment to openness, our materials are free for use. We maintain versions of our materials that are publicly accessible. However, your particular textbook instance for your course is likely to require that you go through some LMS, with its own login process. In this way, you and your instructor can track which OpenDSA materials and exercises that you have completed.
Overview of major elements: An OpenDSA module contains a number of interactive components intended to help you learn the material, in addition to regular text and graphics. Most modules include short slideshows that help explain steps of an algorithm or other content presented in slideshow form. OpenDSA also includes full algorithm visualizations that go through a complete example of the algorithm (these will usually let you set the input data if you like). There are many “proficiency exercises” where you show the steps taken by an algorithm. There are also many sets of multiple choice, fill-in-the-blanks, and True/False questions. For some topics, there are small programming exercises. Rounding things out are various calculators, simulations, and other interactive exercises.
Getting credit: You can get “completion” for doing the various activities. When any of the following activities are completed, the interface should give you some type of feedback such as showing a green checkmark or adding a score in the associated LMS gradebook: going through a slideshow, completing a PIFrameset, completing a proficiency exercise, completing a programming exercise, completing a question set, or fulfilling the requirements of a calculator or other exercise. Depending on how your book is configured, completing an activity might or might not give assignment points, as shown in the gradebook for your LMS.
Seeing your credit and seeing your current score: Usually an exercise or slideshow will give you visual confirmation when you have completed it. Your LMS might indicate complete modules in its “table of contents” listing of modules. More likely, the LMS gradebook will indicate which exercises have been completed.
Slideshows: Slideshows are controlled by the buttons at the top of the slideshow. “<” and “>” buttons will back up or advance by one slide, while “<<” and “>>” will take you to the beginning or end of the slideshow. You get “completion” for a slideshow just for progressing to the end (one step at a time). A green checkmark should show up on the right when you complete it. Depending on how your book instance is configured, completing a slideshow might give you points or it might not.
Programmed Instruction Framesets: One form of slideshow used in certain OpenDSA textbooks are the Programmed Instruction framesets (PIFrames). PIFrames include many small, generally simple questions scattered throughout the slideset, that you are required to answer before you can continue to the next slide. On slides with a question, the forward “>” button will be greyed out until you successfully answer the question.
Algorithm Visualizations: Slideshows often demonstrate a part of an algorithm on a fixed input. Algorithm Visualizations let you run the whole algorithm, typically on input that you can choose. The algorithm visualizations will have some parameters that you can set (such as number of elements in an input array, and the values of the array elements). The “Run” button will start (or restart) the Algorithm Visualization. It will also begin the visualization with new, randomly selected data values if you did not specify your own input. “Reset” will typically clear all of the input fields and restart the visualization. Many visualizations have a “Help” button to give detailed information about that particular visualization.
Question Sets: Many modules finish with a collection of multiple choice, True/False, or type-a-number questions. To get credit for a question set, you will have to answer some number of the questions correctly (the exact number required can be different for each question set). Once you have credit, the interface should indicate this. You can still get more questions at that point if you would like more practice, and you should not be penalized in any way for doing so. Above the question on the right-hand side is a counter to indicate your current number of questions correct out of the total number needed to complete the exercise. If you answer a question wrong, your progress toward the completion threshold will go backwards by one point. (And you will still have to answer that question before you can continue!) Note that once you have been given completion credit for the question set, you cannot lose that credit by answering more questions, even if you then get some wrong.
The question sets work by randomly selecting from the questions available to that set. Typically, once you correctly answer a question, you will not see it again (or at least not with the same inputs). But if you answer it incorrectly (and then clear it with the correct answer), it might appear again.
Many questions will have “hints” that you can use to help you figure out the answer. If you take a hint, you will not get credit for that question toward completing the exercise. However, you will not lose a point on that question, either.
Interactive Questions: Some of the question are interactive, in that that you will click on an array, tree node, or other visual element to answer the question. They work the same way as the question sets, in that there is a required number that you must get right to complete the exercise successfully.
Proficiency Exercises: Proficiency exercises are graded on a point system. Each (logical) step that you do correctly in the proficiency exercise gives you a point within the exercise. You need to get a set fraction of the total possible points to complete the exercise (typically 90% of the possible points). Generally, if you make a mistake on a proficiency exercise, it will tell you that you did the step wrong and correct it for you so that you can continue on. You will not get credit for that particular step when you do it wrong, but you can still get credit for the remaining steps. Once you get completion credit for a proficiency exercise, the LMS interface should give some indication of this.
Note that the “points” as counted by the proficiency exercise are different from the credit assigned by the LMS for completion of the exercise. For example, to complete the proficiency exercise for a particular sorting algorithm, you might need to complete 18 of 20 steps in the exercise correctly (that is, 90% of the 20 exercise steps). Once you have done this, the LMS might award you (for example) 2 points of completion credit.
You can always practice an exercise as many times as you like, whether you already have completion credit or not.
Settings Button and Narration Support: The visualizations, slideshows, and proficiency exercises usually have two buttons in the upper right corner, one with a speaker icon and one with a gear icon. The gear icon indicates the settings button, which will let you change some of the default settings, such as the animation speed (usually used for things like the swap steps in the sorting algorithm visualizations), or whether the arrays show values or height bars. The button with the speaker icon will let you control whether the slideshow captions will be narrated or not.
Enlarging Equations: Math is rendered using the MathJAX library, which gives you a lot of options on how you can see things. Most importantly, if you right click on any math equation, you will get a context menu that includes “Math Settings”. This in turn has a sub-menu named “Zoom Trigger”. With that, you can set zoom to “hover” or “click”. From then on, hovering or clicking (if you had selected one) on any equation will make it larger. This can really help with reading some of the equations. You can try it here: \(e=mc^2\).