K-12 Curriculum Philosophy and Goals

Code.org believes all students should have access to high quality computer science education. To this end, we’ve worked to partner with outside groups that have developed quality K-12 courses and curricula, as well as developing our own programs of study. Curriculum at Code.org blends traditional and modern formats, merging lesson plans, activities, and assessments, with computational tools, environments, and learning platforms.

As an organization working to bring high quality CS curricula into the mainstream of education, there is always work to be done to bring practices in line with philosophies. To that end, we strive to build and support materials that align with the philosophical ideals listed below.

These curricula are supported by extensive professional development programs, detailed here.

K-12 Curriculum Philosophy

We believe that curricula should:

Be organized and clear

  • be easily navigable in print and online, with straightforward and clear organization of the essential information about lessons
  • be presented in such a way that situational customizations can be made (for example, modifications for different schedule needs, etc).
  • be presented in such a way to support customizations based on a variety of school situations (for example, modifications for different schedule needs, etc.)
  • provide educative supports that help to clarify and structure classroom implementation and instructional practices

Include materials that

  • promote teacher autonomy and agency in the process of classroom delivery
  • are written by practiced teachers and reflect the practical limits on preparation and implementation challenges of the classroom teacher
  • have a learning progression that is developmentally appropriate, and where possible informed by research
  • build transferable problem solving and computational practices
  • are differentiated so students of all skill levels can engage with the material in multiple ways, especially students who are new to computer science
  • make connections to other fields of study and parts of our lives that are not traditionally seen as impacted by computer science, including subject standards from other disciplines
  • highlight the impact of computer science on students’ lives in a culturally relevant context
  • provide opportunities for authentic experimentation, giving context for concepts and deepening understanding
  • leverage accessible tools that fit naturally with the curriculum
  • are driven by clear computer science learning outcomes and, where possible, align to well known and recognized standards
  • are supported by a variety of professional development options tuned to teachers’ needs and situations

Stretch the limits of what’s possible by blending traditional/online formats 

  • be free and easily accessible (open source, no install, runs on all modern browsers and mobile devices, facilitates sharing of artifacts)
  • push the limits on being genuinely enjoyable, the ultimate accomplishment being that students are self-motivated and think of it as a “fun game” just as much as they think of it as “school work”
  • include student-driven activities that are self-guided, self-paced, and available on a wide range of platforms to allow for learning in a variety of environments
  • empower teachers through a classroom dashboard that allows supervision of student progress and proactively alerts teachers to learning issues
  • exhibit high production value such as the use of branded characters, high quality artwork, and diverse role models as video lecturers
  • protect student privacy at all times in abidance with our privacy policy (this goes without saying)
  • provide opportunities for students to create work that is personally relevant to them - for example personalizing projects and activities to reflect their interests and values
  • merge content delivery with guided, self-grading exercises and computational tools (such as a programming environment)
    • merging the programming environment with the “lectures” and problems
    • as much as possible, make problems/puzzles that are self-grading
    • when possible, give automated personalized feedback to help students learn from their mistakes
    • when possible, adapt the pace of learning or methodology of teaching to the student’s performance. (Note: we’re not doing this yet)
    • when possible, allow teachers to customize the course flow for students (Note: we’re not doing this yet)
  • allow for both structured and unstructured approaches to learning
    • teacher-facilitated classroom activities
    • structured skill development and practice, solving specific puzzles
    • unstructured discovery and open-ended creation related to authentic tasks

We believe that curricula should focus less on:

  • emphasizing the memorization of facts—rather, it should create authentic opportunities for students to build knowledge and skills.
  • learning about the use of a specific technology tool or programming language—rather, students should focus on the concepts and skills that a tool enables them to access. (and can scale to be used in other contexts and with different tools)
  • reading and being told about computer science—rather, students should spend time doing computer science, engaging in discovery, and constructing meaningful understandings of CS topics
  • solely programming—rather, curricula should focus on the breadth and impact of the entire field of computer science
  • demonstrating mastery in prescribed and limiting ways—rather, assessments should give learners space to demonstrate their understanding in many different ways.

K-12 Curriculum Goals

While there are many course-specific goals that address CS content learned at different levels, there are also sweeping philosophical goals that stretch across all Code.org curriculum programs.

Students should understand that computer science...

  • is for everyone
  • is fun, engaging, and more approachable than traditionally portrayed 
  • is an outlet for creative personal expression
  • plays an important role as a distinct discipline of study, but also stands to augment the study of other domains
  • involves more than just programming
  • is important to their lives, regardless of their interests or career path they choose
  • work involves collaborating in an equitable learning environment where they support their peers so all can flourish
  • can be effectively taught using both computer-based and non-computer activities, which reinforce one another
  • can be used as a tool for helping others through socially relevant learning experiences
  • involves problem solving that can be challenging. It is not always easy but like any difficult puzzle, the challenge makes it fun and teaches perseverance. 

Equity in K-12 Curriculum

It’s important to build curricula that provides learning opportunities that appeal to diverse learners from diverse backgrounds. This means that examples and assignments should be culturally relevant and connect back to an individual’s interests. Activities should be designed such that all learners have space to find their voice and to express their thoughts and opinions. Both the classroom and the lessons should be structured such that all learners can access and engage with the material at a level that doesn’t advantage a few at the expense of others.

The curriculum philosophy for our partner, Exploring Computer Science, can be found at www.exploringcs.org 

For research links see: http://www.edutopia.org/teacher-development-research-keys-success