CS for Michigan: Program in Computing for the Arts and Sciences (PCAS)


Teaspoon Languages

Snap Microworld

These have just been developed for this semester — not guaranteed to be bug-free and may change.  These links will take you to the overview page. Click on the “See Code” or “Edit” to see the blocks.

Runestone Ebooks

These are in active development.

A Narrative Tour of Two of the New Courses

I’m interested in how to help students become conversant, comfortable, and confident with coding concepts and skills.  We’re working on that in these two classes through a sequence of scaffolded programming activities.  We start out with Teaspoon languages (TSP – Task-Specific Programming languages) (I have blogged about them several times, and did a 5 minute video on them), Snap (block-based programming with custom blocks), and then EBooks where we support transfer from blocks to textual languages like Python and Processing.

Here are some examples with links to everything:

In the “Computing for Creative Expression” class, we had a unit on pixels and image manipulation. PPT slide deck is here.  All the links in the deck are live, so you can see the programming examples and the peer instruction activities. We started out using Pixel Equations which is a teaspoon language for building image filters. We then used a set of custom Snap blocks for building image filters. (Click “Edit Code” to see the Snap blocks.) At the end of the unit, they built a collage out of pictures that were manipulated using their image filters.  We ended with a Runestone ebook where they saw Snap code from class, then Python code that did the same thing (which they could modify and run from within the browser), and answer questions to get them to reason about the Python code.

In the “Computing’s Impact on Justice: From Text to the Web,” we had a unit on how text is represented in binary and then how computers recognize and generate speech. PPT Slide deck is here.  We started out using a sentence recognizer and generator teaspoon language — a super tiny one where the “program” is just a sentence model. We then worked with Snap blocks that did the same things.  We used those to create politically-biased bots and Dr Seuss style rhymes.  Their first programming assignment was to generate random haiku.  I gave them a set of blocks for creating Chatbots which could be uploaded into our Charla-bot teaspoon language to create Web bots. The final programming assignment was to create a chatbot that pretended to be some fictional character.  Again, they had a Runestone ebook in which they see Snap code and Python code that does the same thing, then they answer questions about the Python code.