Teach CS Design Patterns

Teach CS Design Patterns

Design Patterns

A popular concept in web design currently is the idea of modular design. This design paradigm seeks to think more about design systems that work long after the original product has been handed off to another team. We can use ideas from this paradigm to discuss LX design and development in a way that is efficient and future friendly. 

These diagram below represents the essential patterns we identified for a test prep course.

Content Patterns

The first thing to notice is the idea of a content patterns. In a course like this, thinking about content patterns helps us to create a replicable pattern of content creation so that we know what each discrete unit of the course should be made of.
The content pattern for this course is as follows:

  • Section: The section level is the highest level of content organization within the EdX platform. For this course, the section level corresponds to the Week content level
    • Summative Assessment: At the section level, the pattern will be to include a graded assessment over all concepts reviewed during the week (and perhaps mix in some previous week concepts)
  • SubSection: Subsections are built out inside of a section. For this course, the subsection level corresponds to each week’s topics
    • Summative/Formative Assessment: At the subsection level, we can offer participants either graded assessments or more low stakes formative assessments to help them practice the particular concept covered in that section
  • Units: Units are the smallest level of content in EdX. This corresponds to the actual content of each week, such as text, video, images, assessment questions, etc. A subsection can have several units, which are displayed horizontally as pages for student to go through. Units for a topic will consist of the following pattern:
    • Content review: A subsection will contain one or more units that review the appropriate computer science concept
    • Practice: Again, because the goal of this course is test prep, we want to help students prepare as well as they can. That means introducing opportunities for practice with feedback as often as possible

Atoms

With the content patterns set, we can look to a framework for how to build out those content patterns. For this course, we have identified several atoms (or building blocks) that can be mixed and match, as appropriate, to create the most effective learning experience possible.

  • Content review: The content review atom ensures that the student is familiar with the concept; review should be laser-focused on the need to know, however, we can link to external sources for more/more in-depth information e.g. docs/PDFs, web resources, videos. Note that content review can take several forms:
    • Short video
    • Text and images
    • Interactives
    • Active learning (such as asking students to pause the video and come up with an answer or asking students to take out a sheet of paper and draw a table along with you)
  • Spaced repetition: One of the things we know about memory and learning is that spaced repetition is very effective in helping people remember things for the long term. Since we don’t know exactly when a participant will be taking the exam, having opportunities to review previously learned information helps the information we offer them stick.
    • Resources:
  • Formative Assessment: Formative assessments are low stakes (non graded) ways to check for student understanding. In a Face-to-Face environment, this can translate into a number of different opportunities (ex: 1 to 5 fingers check on how well you understood; have students present concepts). Online, we can ask various types of questions of students and offer feedback.
  • Interleaved Practice: Interleaved practice is the concept that sometimes, instead of only testing over the concept you just went over (for example, stacks), it is useful to test students on multiple concepts at once. This can be particularly useful in helping students to distinguish similar concepts (for example, allowing students to answer questions about stacks AND queues to help them better distinguish which is which)
  • Deliberate Practice: Deliberate practice is the concept of taking a small task from “can’t do” to 95% reliability through drilling. Deliberate practice is meant for very small tasks; it also works off of the concept of high volume and immediate feedback. For example, if students need to be able to identify data types, you might design a deliberate practice that has them do just that with immediate feedback as to whether they were correct or not.
    • Immediate feedback is important in deliberate practice. It is this feedback that helps a small task move into the realm of almost instinct, where a practitioner can perform a task without being able to explain how they do it.
    • Resources: Kathy Sierra: Badass 

  • Self Testing: Self testing is baked in to the other atoms we’ve described. We know that self testing is much more effective for test preparation than simply reviewing or restudying information. That is why we need to provide as many unique opportunities for practice as we can.