Come see our lightning talk presented by Vinesh Kannan.

Paint, Glitter, and Chatbots: Programming Activities for Novices Designed with Intellectual Need and Replay Value

Friday, October 5th | 2:45 – 4:15 pm | Merritt Room



This presentation shares three extensible programming activities that motivate novices to learn foundational concepts through intellectual needs, rather than purely economic or social needs. The activities offer high replay value so that instructors can offer greater volume and diversity of practice without developing entirely new exercises. All three activities map to CS1 curriculum and are freely available as open educational resources (OER).

Background


In summer 2018, the curriculum team at Mimir taught an online programming course in Python for complete novices. Even though our students likely have different needs from your students, we wanted to make our materials available as open educational resources (OER) so that any instructor can reuse, remix, and refine them for free.

Replay Value

Replay value means that instructors can reuse the context of an activity for different topics and formats. The goal is to offer greater volume and diversity of practice without devoting time creating entirely new exercises.

Developing great instructions, starter code, and assessments is time-consuming, so we hope to make the most out of carefully designed materials.

Intellectual Need

Learners sometimes describe programming exercises as tedious or pointless. Math education researchers Fuller, Rabin, and Harel proposed five categories of intellectual need to avoid aimless tasks2:

  • Certainty: the need to verify a claim.
  • Causality: the need to explain an outcome.
  • Computation: the need to quantify a quantity or relation.
  • Communication: the need to express ideas unambiguously.
  • Connection: the need to organize learned concepts.

Paintbot

Learners program virtual robots to cover the game map in their color of paint. Learners can watch a replay of the game in their browser to see how their instructions played out. Great for loops and conditionals. Complete novices could also try simple PaintBot challenges that only require three methods: forward(), rotateLeft(), rotateRight().


View Materials

Intellectual Need

  • Computation: Predict which bot will paint the most cells.
  • Causality: Assess why a bot plays well on one map and poorly on another.
  • Communication: Describe why one bot’s strategy is better than another’s.

Replay Value

  • Create new maps using the simple text format.
  • Invite students to create their own maps and exchange with the class.
  • Borrow a student’s bot to use as the opponent for a new exercise.

Glitter Bomb

Learners step through the source code of a program to determine what might cause it to "detonate" and fill their screen with colorful strings. Great for conditionals, functions, and recursion.


View Materials

Intellectual Need

  • Certainty: Prove that there is only one way to disarm this bomb.
  • Communication: Explain to a classmate how the user input leads to the result.

Replay Value

  • Convert a regular code tracing problem into a glitter bomb.
  • Invite students to create their own bombs and exchange with the class.

NanoChat

Learners create, test, and publish custom chatbots, requiring only basic programming concepts. Great for coursework on validating user input, conditionals, strings, software design, human computer interaction (HCI).


View Materials

Intellectual Need

  • Connection: Create a chatbot to solve a problem that someone you know faces.
  • Communication: Explain the flow of conversation between the user and the chatbot.

Replay Value

  • Convert regular user input questions into chatbots.
  • Challenge students to design their own chatbots.
  • Give students buggy chatbots to investigate and improve.

Get The Materials

The source code and documentation for all three projects is publicly available on GitHub. Feel free to download, fork, or submit issues and requests.

Get Lesson Plans & Solutions

Do you want free lesson plans and solutions for these activities? Schedule a chat with the instructional designers! They would love to hear more about your class and share about the pedagogy behind these three activities.