Lesson Plan

What is programming/coding? (1.1)

Introduction to programming --> Lesson 1.1 of a broader set of lessons to be used for primer toward preparation for cyber security and cyber forensic unit to follow
Russ H.
STEM & Educational Technology Specialist/Technology Liaison
Junior High School 318 Eugeno Maria Dehostos
Brooklyn, NY
Show More
My Grades 6, 7, 8
My Subjects Science

Students will be able to...

--> identify different computer languages.

--> understand similarities and differences between 3-4 programming language platforms.

--> write some basic program(s) in order to see the need for creating explicit sets of instructions for computer based tasks.

English Language Arts
Grades 6 - 8
All Notes
Teacher Notes
Student Notes

1 Hook --> What's so awesome about computer programming?

Using the link to the first youtube video, show students the video, and discuss what is computer programming, who are computer programmers, and what might you need to do in order to prepare to enter this field of study?

https://www.youtube.com/watch?v=OWsyrnOBsJs ***Start with this one*best_one!!!

You might also use the following three links to reiterate/reinforce the concepts and aspects associated with computer programming:



https://www.youtube.com/watch?v=8huq9ZnkWUw This final one shows many specific examples of why learning to code is so important.

http://1.bp.blogspot.com/-kX7aAj9F_wQ/UWmtsgiAqnI/AAAAAAAAGfI/8yIAUY5qlS...  Great computer and programming Wordle!!!

Student Instructions

Throughout this introduction students should record any thoughts, reactions, terms they feel are important, as well as list any tools and languages that are integral to what programming is all about.

Discuss as a class relevant issues/ideas/concepts. 

After, students should create their own Wordles using the terms they have listed from this portion of the lesson.




2 Direct Instruction: How can Turtles draw shapes?

Introduce LOGO turtle graphics from within MicroWorlds Robotics EX https://www.youtube.com/watch?v=sOM2-rHm1DU (Tom Price, lesson 1A).  

There are additional lessons and teacher should also have self-created project saved in which turtle  can create assorted shapes on the screen.  

Actions should be explored within the command center, as well as within the turtle’s backpack in which actual procedures can be preset.  

(***Those are actual programs and a great place to introduce some simple coding for any aged student.)

Student Instructions

Students should simply take note here of the fact that procedures within the turtle's backpack are, in fact, subroutines or programs that can easily be applied to any computer language in which graphics can be created.

Assessment can be in the form of students creating their own procedures for assorted polygons or tiles patterns that have yet to be shown within class.

3 Guided Practice: Drag & Drop with Scratch Cat

Transition into SCRATCH online graphical/drag & drop programming.

https://www.youtube.com/watch?v=KFwgPVjMjak (AdvancedICT, Drawing Polygons (Shapes)). https://www.youtube.com/watch?v=4qP09gofv6U&list=PLHqz-wcqDQIEPCObVuoxWb...  (Colleen Lewis, Calculating Turns Using Division).  

Illustrate to students how procedures from within MicroWorlds can also be created in another language to get the exact same results.  Students can create their own sprites’ actions as follow up for this lesson.

Student Instructions

Students should create scripts for their sprite to create any number of shapes and tiled patterns as requested by the teacher.  This portion of practice can be scaled up or down based on the grade level and ability of the students with whom the teacher is working.

4 Hands On Extension: LEGO Robotics

Make it more physical by bringing out a LEGO NXT or EV3 robot that can draw the same shapes.  https://www.youtube.com/watch?v=AwH7O2SXpUE (TheMEProgram, Drawing Shapes).  

A pen attachment can be added so that the robot can draw on chart paper.  

From the video, ask students to identify how the eight block program can be shortened with some strategies/programming concepts that have been introduced within MicroWorlds and/or SCRATCH.

MindStorms is also a GUI language but it should be noted for more advanced students that the blocks also contain other configuration options that make it a bit more versatile in order to control the robot.

Student Instructions

For a break from the computers and programming, students can take part in the construction of a 5 minute Robot design as show on http://www.nxtprograms.com/five_minute_bot/steps.html

The pen tracer will also need to be added:  http://hsmdallas.org/robotics/reference/slideshows/pen_tracer.html has a good set of Carnegie Mellon instructions.

For first time LEGO roboticists, guess and check strategy can be used to create programs that will get the robot to draw shapes as in MicroWorlds and/or Scratch.  More experienced programmers can compile a spreadsheet to computer the motor degrees for assorted distances and specific turns.

5 Industry Coding: Python (PYgame)

Have students attempt to edit and/or create polygons within PYTHON (pygame).  http://www.openbookproject.net/thinkcs/archive/python/thinkcspy3e_abando...
(see 3.2 Instances → herd of turtles).  

It should be noted that the functions being utilized within Python are just that, functions.  

http://www.tutorialspoint.com/ipython_terminal_online.php is a free online compiler in which you can run code.

6 Closing: Comparing and Contrasting (4) Programming Environments

Class discussion identifying similarities and differences between the four programming environments.  Focus on how PYTHON functions are pre-made from libraries and are just like the procedures we created within LOGO or SCRATCH.

7 Homework/Follow-up

Students can create further procedures and programs to draw additional shapes.  

The easiest environment to do this would be within SCRATCH since it is online and free.