Coders revisit a previously created project about a dance party to add …
Coders revisit a previously created project about a dance party to add a short story about travelling to the dance party. The purpose of this project is to apply newly acquired understandings to a prior project.
Coders engage in a multi-day project where they create the introduction to …
Coders engage in a multi-day project where they create the introduction to a short story and then pass their project on to be finished by their peers. The purpose of this project is to encourage young coders to communicate and learn from their peers.
Coders use a variety of blocks and sprites to create an interactive …
Coders use a variety of blocks and sprites to create an interactive story about giving a gift to an alien visiting Earth. The purpose of this project is to reinforce understanding of message blocks.
Coders use a variety of blocks and sprites to animate a mini …
Coders use a variety of blocks and sprites to animate a mini research project about creatures that fly. The purpose of this project is to reinforce the concept of parallelism by simultaneously triggering two or more algorithms that simulate flight.
Coders use a variety of blocks and sprites to create a mult-ipage …
Coders use a variety of blocks and sprites to create a mult-ipage story with a moral. The purpose of this project is to apply previously learned concepts in a new context. Although the example project is about lessons learned while playing tag, this project can be adapted to any story with a moral.
Coders use a variety of blocks and sprites to create a story …
Coders use a variety of blocks and sprites to create a story about a wizard who either helps people or plays pranks on them. The purpose of this project is to reinforce understanding of message blocks to give the appearance of switching costumes.
This unplugged activity helps students understand the concept of conditionals through a …
This unplugged activity helps students understand the concept of conditionals through a card game. Conditionals can be used to adjust a program based on specific information.
In this lesson, students will learn how a conditional statement can determine …
In this lesson, students will learn how a conditional statement can determine whether specific lines of code will run. Students will continue their Spooky Forest project, adding the ability for the Cat sprite to move when arrow keys are pressed and detect if a sprite touches the edge of the stage (at which point the backdrop will switch).
In this lesson, students will begin working on their first project in …
In this lesson, students will begin working on their first project in Scratch. This lesson focuses on the advantages of using a pseudocode when preparing to create a project in Scratch. This lesson also refers to some difficulty students may have encountered in lesson 3 when they first started to explore Scratch.
Students continue exploring coding sequences, using the programming game Lightbot. As students …
Students continue exploring coding sequences, using the programming game Lightbot. As students work through tricky puzzles and make use of the Lightbot interface’s ability to restart execution from the beginning, they experience the value of iterative development. If they are ready, students advance from Lightbot’s introductory levels to levels that require them to create and use procedures (functions). Iterative development, and the shift from long, repetitive code to shorter, clearer code, are both concepts that will be relevant to students’ final coding project at the end of the unit.
Students write code using symbols to produce “graph paper” pixel art, first …
Students write code using symbols to produce “graph paper” pixel art, first practicing as a class, then in pairs or groups. The groups will trade instructions with each other and try following them to draw a picture. Students get familiar with the concept of “stamping” an image on the page or the screen, and if there is time, students use loops to reduce the complexity of their programs. These concepts will be important in their final coding project at the end of the unit.
Students encounter people who are computer scientists, and they learn definitions of …
Students encounter people who are computer scientists, and they learn definitions of computer science. Students learn the difference between input and output devices, and they creatively invent a new device that combines input and output.
Students explore examples of interactive storytelling, examining their use of expression, emotion, …
Students explore examples of interactive storytelling, examining their use of expression, emotion, repetition, and context. Students visit a Scratch Studio of examples of interactive storytelling and see that Scratch is used by students around the world to create interactive stories. Students reflect on how interactive storytelling is different from other forms of creative expression and reflect on how they might use Scratch to express themselves creatively
Students will be introduced to the Build My City project, which is …
Students will be introduced to the Build My City project, which is the final project of the unit. The teacher will present a demo project to students and explain the design requirements and expectations. Students will review key programming concepts that will be used in their Build My City projects, by looking at the code of an example project. Students will meet in their project groups and use storyboarding to develop their ideas for their city.
This course is an introduction to software engineering, using the Java™ programming …
This course is an introduction to software engineering, using the Java™ programming language. It covers concepts useful to 6.005. Students will learn the fundamentals of Java. The focus is on developing high quality, working software that solves real problems. The course is designed for students with some programming experience, but if you have none and are motivated you will do fine. Students who have taken 6.005 should not take this course. Each class is composed of one hour of lecture and one hour of assisted lab work. This course is offered during the Independent Activities Period (IAP), which is a special 4-week term at MIT that runs from the first week of January until the end of the month.
Scratch is a visual programming language that is simple enough for beginners …
Scratch is a visual programming language that is simple enough for beginners but is capable enough to keep even expert programmers entertained for hours. In this resource, I will provide a basic overview of the Scratch platform for anyone who wants to learn!
Students encounter the Scratch programming platform for the first time. They learn …
Students encounter the Scratch programming platform for the first time. They learn how to log in, try out a Scratch tutorial, and have the chance to explore the interface. Students reflect on what they might wish to create using Scratch, which will be used for their final coding project at the end of the unit. The overall aim is for students to get a taste for Scratch that sparks their interest and curiosity, so they start to imagine what they might create.
Students compare different types of code: symbolic code, pseudocode, block-based code, and …
Students compare different types of code: symbolic code, pseudocode, block-based code, and text-based code. Students write code to instruct their classmates to assemble stacks of cups in various configurations. First, they write symbolic code and then move on to pseudocode. Students are challenged to write loops in pseudocode, and if there is time, they are further challenged to write named functions. Loops and block-based code will be used in the unit’s final project, and the movement of the cups is similar to how “sprite” objects will move in the programs they will write.
In this unplugged lesson, students will explore the concept of programming. Students …
In this unplugged lesson, students will explore the concept of programming. Students watch a video showing a sequence of dance steps, then write instructions to “program” each other to replicate the dance. After learning about the concept of programming, groups will create their own dance move to “program” the class to do.
Students watch a video showing a sequence of dance steps, then write …
Students watch a video showing a sequence of dance steps, then write instructions to “program” each other to replicate the dance. Students run into trouble with the length and repetitiveness of the instructions, so the concept of a “loop” is introduced. Students redo their instructions using loops, see examples of loops in other programs, and reflect on why programmers use loops. Loops will be a key concept used in the unit’s final project.
No restrictions on your remixing, redistributing, or making derivative works. Give credit to the author, as required.
Your remixing, redistributing, or making derivatives works comes with some restrictions, including how it is shared.
Your redistributing comes with some restrictions. Do not remix or make derivative works.
Most restrictive license type. Prohibits most uses, sharing, and any changes.
Copyrighted materials, available under Fair Use and the TEACH Act for US-based educators, or other custom arrangements. Go to the resource provider to see their individual restrictions.