PencilCoder

About PencilCoder

Overview

PencilCoder is a coding curriculum designed for middle and high school students. PencilCoder offers an engaging and rewarding set of coding lessons, designed to build up student competency not simply in the CoffeeScript programming language, but in universally applicable programming concepts, problem solving, and algorithmic thinking as well.

For teachers, PencilCoder includes a broad curriculum to meet the needs of students of varying ages and abilities. Additionally, PencilCoder includes a comprehensive teacher's guide. The guide answers questions that naturally arise as students progress through the course. It also provides tips and hacks to help the teacher reach his or her own PencilCoder potential.

Pedagogy

PencilCoder's lessons have been crafted to share a consistent, minimalistic layout and engaging design. Each lesson introduces a key idea, some new "coding snippets", a few notes, and a selection of relevant coding activities complete with colorful examples of output from sample solutions. In printed form each lesson never exceeds two pages in length.

Combined, these design features provide students with an engaging resource and reference material, structure, and a predictable and comfortable routine. Yet the curriculum offers much more than this.

PencilCoder's lessons have been painstakingly crafted to adhere to several overarching pedagogical tenets. Adherence to these tenets guides not only the makeup of individual lessons, but also the larger-picture issues of sequencing and pace.

  • PencilCoder aims to help students develop a solid understanding of beginner, intermediate, and even many advanced coding concepts. Recognizing the cumulative nature of coding, PencilCoder layers in a solid foundation through careful sequencing that builds up competency in coding techniques and algorithmic thinking step by step.
  • The PencilCoder curriculum ensures constant student progress through use of narrowly focused lessons. This constant progress, in turn, contributes to a virtuous cycle, in which learners enjoy regular success, making them prepared and eager to get to the next level. Lesson topics are carefully crafted to enhance that feeling, emphasizing what's new about lessons, even when they may only be a nuanced addition to the preceding lesson or lessons.
  • Student learning is enhanced through thoughtful and motivating activities which provide necessary and effective practice on new material and also reinforce previously-learned content. Moreover, each lesson encourages focused exploration, to further strengthen and deepen understanding and fortify skills.
  • Lessons and exercises are designed not only to introduce and strengthen understanding of coding concepts, but to develop students' broader algorithmic and computational thinking skills.

Author

PencilCoder is an ongoing web programming curriculum development project by Andrew Petusky.