I am currently in the brainstorming process of the K-8 Computer Programming curriculum design. So please consider this "a work in progress". I am taking the Google Computational Thinking course and it does a good job explaining my approach to curriculum design. The four steps of the process are:
- Decomposition: Breaking down data, processes, or problems into smaller, manageable parts
- Pattern Recognition: Observing patterns, trends, and regularities in data
- Abstraction: Identifying the general principles that generate these patterns
- Algorithm Design: Developing the step by step instructions for solving this and similar problems
The Components
Here are the different areas that I identified in the decomposition phase of the curriculum design. These are different things that need to be considered.
Applications
Click here for an extensive list of programming tools. It is impossible to teach them all, so the following are the ones I've selected to focus on for the moment.
|
Features of Applications
For each application, you need to have an idea of what features are available and what you want to teach and when. Robin Ricketts from the Steward School has put together an excellent document with a scope & sequence for unplugged, Scratch Jr, and Scratch skills.
|
Types of Projects
Types of projects include:
|
Content or Subject Matter
Content or Subject Matter might include:
|
Programming Concepts
Here are a list of programming concepts that could/should be introduced to students.
|
The Big Picture (Understanding)
|
Foundational Skills
|
Other
|
Putting it all together for Scratch (G3-G5)
Scratch Example
Wow, there are a lot of things to consider, so how does it all come together? Rather than break the following chart down by grade, I decided to use Basic, Intermediate, and Advanced instead because a 5th grader who is new to Scratch may need to do a Basic project first in order to acquire the prerequisite Scratch skills before doing an Intermediate or Advanced project. Therefore from a the programming skills and programming concepts perspective it is less important how old you are or what grade you're in, but rather your prior understanding. On the other hand, the content knowledge may need to be adjusted to match the students age/grade/knowledge. Here is a quick look at the different considerations and how one might approach organizing it. Please recognize that this is a best guess which needs to be field tested and refined over time.
- Academic Content - Basic (G3), Intermediate (G4), and Advanced (G5). For example, the Shapes activity has the Basic student drawing squares, the Intermediate student drawing shapes where understanding angles is important, and the Advanced students are using higher order math skills to draw shapes.
- Scratch Features (see scope and sequence above) - Basic students will be using features such as move, talk, etc.; Intermediate students will change backdrops, change costumes, variables, boolean logic, etc.; and Advanced students will be creating random # generators, making lists, and creating new blocks, etc.
- Programming Concepts - Basic students will learn sequences, initialization, and loops; Intermediate students will learn repeat until, events, conditionals, if else, parallelism; and Advanced students will learn functions, data, and operators.
In the end, it may be necessary to take a lesson plan and adjust it to your needs. You may need to change the content to match what is happening in the classroom. You may need to make the activity easier or harder based on the students prior knowledge. The lesson plans should be considered a starting point and there to spark your imagination.
Basic
|
Intermediate
|
Advanced
|
Math
|
Draw Shapes (Initialization & Square)
|
Draw Shapes (triangle, pentagon, hexagon, octagon, circle)
|
Draw Shapes (using division, spinning squares, make a new block)
|
Word Problems
|
Word Problems
|
Word Problems
|
Language Arts
Foreign Language |
General Purpose
Here is a list of lessons that can easily be adapted to many different types of content:
|
Exploratory
Tying your projects to what is going on in the classroom is terrific, but sometimes you just want kids to have fun and explore. Here are a list of lessons that encourage students to be creative and explore Scratch features:
|
Other
Here are other fun lessons:
|
* These are examples from the Scratch site with no complete lesson plan written up.