Learning Objectives
Students will be able to:
- Complete small coding tasks
- Hour of Code
- Explain why computer programs are written in specialized languages
Materials and Preparation
- Computers with Internet Access
- Synchronous online meeting tool such as Zoom or Bluejeans if teaching online and completing the lesson with the class
- Asynchronous such as Google Classroom if teaching online but recording the instructions for students to complete on their own
- Work through at least one of the coding activities on your own before the lesson:
- LightBot Hour of Code (the online version requires flash)
- Minecraft Adventurer (Code.org)
- SNAP Hour of Code
World Wall
Terms introduced you may want to add to a classroom Word Wall either online or in person.
Word | Definition |
---|---|
Algorithm | A complete, well-defined sequence of steps for completing a task or solving a problem. |
Computer | An electronic machine that can solve different problems, process data, store & retrieve data and perform calculations. |
Computer Science | The study of the principles and use of computers. |
Computer Program | A sequence of instructions or steps, written in a language that can be understood by a computer, that will be used by the computer to complete a task or solve a problem. |
Debug | A process of locating and removing computer program bugs, fixing errors or abnormalities. |
Programming Language | A vocabulary and set of grammatical rules for instructing a computer or computing device to perform specific tasks. |
Lesson Plan Pacing for a 55 Minute Lesson
Duration | Description |
5 minutes | Welcome, attendance, bell work, announcements |
5 minutes | Introductory discussion |
35 minutes | Coding activities |
10 minutes | Debrief and wrap-up |
Guiding Notes
Introduction
- Introduce the concept of a computer program: a sequence of instructions or steps, written in a language that can be understood by a computer, that will be used by the computer to complete a task or solve a problem
- Play this Introduction to Programming Video by Khan Academy
- Ask the group what aspect of programming might be the most challenging and what skills are the most useful
- Sample guiding questions:
- What are the steps required to write a computer program:
- This is essentially developing an algorithm for writing a program!
- What knowledge might make writing a program easier?
- What might you need to do when writing a computer program that you have never or rarely done before?
- What parts of programming are most intimidating or scary?
- What are you good at that might help you be a good programmer?
- What are the steps required to write a computer program:
- Sample guiding questions:
Activity
- Students should work through one of the Hour of Code activities of your choice. If you are familiar with all three activities, then it can be the choice of the student
- LightBot Hour of Code (the online version requires flash)
- Minecraft Adventurer (Code.org)
- SNAP Hour of Code
- Allow students to struggle with the activities if needed, stressing the importance of patience and persistence in programming.
Debrief
- Guide students in a discussion about the activities including strengths, surprises and struggles
- What was most challenging?
- Explain that programming is a language and required editing and problem solving for a correct “sentence” or program to run and make sense
- What was different about solving these computer program problems than other problems in school, other subjects, or in your every day life?
- Why can instructions not be given in simple English? Why must we be limited to certain operations for building solutions?
- If some students are interested, this can be an opportunity for a conversation about the difference between high-level programming languages and machine languages (assembly code). This video explains the difference between the two.
Accommodations and Differentiation
- Let students struggle! Avoid the urge to show students the answer right away, and encourage them to try many approaches and develop partial solutions. This develops creativity in their expression of answers, as well as grit and determination when problem solving.
- Do not let students skip out on certain steps, disengage or copy from a partner. The focus here is for individual expression of learning and demonstration of understanding. You can decide which students can work together, but only if collaboration and teamwork is part of your assessment.
Picking a program that is right for your students
- LightBot Hour of Code is more challenging, but not substantially so, and is more game-like, which often leads to greater engagement. LightBot is recommended if students seem capable of handling the challenge.
- SNAP Hour of Code is simpler, and has easier goals which take a shorter amount of time to accomplish. This task can be completed with the assistance of a guardian at home or with a teaching support in the classroom for students with specific learning accommodations.
- It is unlikely that students will finish both activities in one class period. On the rare occasion some do, encourage them to explore SNAP! on their own or to try the full version of LightBot 2.0
Recent Comments