Here are three projects around building learning activities. I would like us to make progress on at least one of them in our first hackathon.
If you are excited and ready to start building activites now, take a look at the HTML pages on activity.pencilcode.net - when an activity is done, it should be written up as a set of worksheets that are concise, readable, and easily printable for classroom use.
The goal is to build a set of Pencil Code projects over time that can be used in a standard curriculum. For inspiration, read the new-generation computer science high school course curricula here.
Use of Programming In Humanities
We believe it is important for kids to see that programming is useful as a tool in non-stem fields. There are two major applications that are accessible to kids who are studying history or English or art:
This is a goal targeted at high-school age kids who are ready for "real world applications" - the more real the better. And yet things must be easy enough to be rewarding.
A very common problem when teaching kids to program is that they do not naturally ask to use control flow. For example, the program here is typical, even for a "superstar" beginner:
We need lots of activities that make simple loops as inviting and interesting as possible, to nudge kids to using loops.
Learning about functions, local variables, and recursion is the "big hurdle" for many students. We need high-quality activities that look at recursion from a beginner's point of view in several different ways. Some students will be able to understand recursion operationally (step-by-step); others will think about it functionally (as a decomposition). Some students will have an easier time with math examples (like factorials or fibonacci numbers), and others will prefer graphical examples (spirals and fractals).