Studio Code Em Younglings Winter 2019

Chris Kefalas, 2019-03-05, Classes

coding, computer science, github, raspberry pi, slack, technology

Jump to Current Lesson

Description

12-week Session Tuesdays, February 5 - April 30, 6:30-7:30pm (no class April 2)

Students will be introduced to Computer Science, the Binary Number system, and computer programming

Instructors

Chris Kefalas

Materials

Online Resources

Code Em Deck

Repos

Related Blog Notes

(GitHub) Assignments

External References


Day 1

Intro to Computer Science

History of Computer Science, and Computers. Talking about the progress we have made in the last couple decades, and ending with the transistor.

Out of Desk

We will go over Lightbot first on the whiteboard, and then we will act out how it works by having one person play the programmer, and one person play the robot. The programmer will have to program the "human robot" with instructions in order to get it to move certain area of the room. We will see how putting these instructions in the correct order is crucial, we will also mention the concept of efficiency, and how we can work to make our programs more efficient.

Hands On

Kids will start with using the iPads along with an app called Lightbot. There they have to program a robot using the instructions that Lightbot provides. The first section of Lightbot focuses on sequences, and putting groups of instructions into code blocks, preparing us for procedures.

One Thing to Remember

Instructions and sequences. The students should be familiar, and comfortable organizing instructions into the correct order to produce the outcome that they want. Lightbot gives us the chance to do this by maneuvering out robot through the obstacle course until he has completed everything.

Setup

Actual

We started off with the reveal deck, and went through the history of computers ending our discussion with transistors, and taking a look at the vacuum tubes. We talked a bit about computer programming, and went over Lightbot using the white board.


Day 2

Base 10 and Base 2 Number Systems

We reviewed the history of computers, and talked about vacuum tubes, and transistors. Next we introduced how the Binary Number system relates to all this, and computer science.

Out of Desk

We will start with going over the Base 10 number system which we are familiar with, and know as decimal. Then we will introduce what computers use to speak which is known as the Base 2 system, or the Binary number system. Using the white board we will go through converting 1-10 in decimal to binary and make sure we have a solid understanding of it.

Hands On/Coding

We will continue our progress with Lightbot. We ended last week with the first and second level of Section 2. We used the white board

One Thing to Remember

How to convert Decimal numbers to Binary numbers

Setup

Actual

The second day went really well, and we are making good progress on Lightbot.


Day 3

Procedures, Review Binary Number System

We will review Binary Numbers, and practice converting

Out of Desk

Hands-On/Coding

We will finish up Lightbot, and our understanding of procedures.

One Thing to Remember

Procedures keep you DRY!

Setup

Actual

We are rocking! She has a great understanding of the Base 10, and Base 2 number systems. We started with going over those on the whiteboard, and filling in our place values. And finishing with converting decimal numbers to binary digits. She has really enjoyed Lightbot so we stayed on that, and got all the way to the end of the Unloading section, which should be Section 3. I'm sure she will want to finish the last level because she likes the challenge and we couldn't figure it out before class ended, but after that we will move onto Hopscotch because she is totally ready. And I think will really enjoy all the flexibility and creativity that it allows.


Day 3

Why Binary? Objects In Hopscotch

Review the Binary Number system one last time, and make sure we have an understanding of how it is relevant to computer science. Move from Lightbot into the Hopscotch iPad app, start with talking about objects, and how they are programmable.

Out of Desk

Conduct a class exercise to physically demonstrate how a transistor works:

Hands-On/Coding

Our first task will be learning how we can arrange instructions to draw shapes with code. Students will start by saying the instructions for this little program out loud. We will then take a look at the various instructions or snippets of code that Hopscotches gives us to carry out this objective of drawing shapes with code.

One Thing to Remember

Programmable objects in Hopscotch

Setup

Actual

It all went really well. We had J. start with us this week but he is a quick learner. We started working on our Hopscotch game, and connecting some of the ideas and concepts that we have learned so far. We got through adding our character to the scene and adding behaviours to the character.


Day 4

Loops Loops Loops

We will continue to work and get close to finishing our Hopscotch Crossy Road game. We finished last session up with working on the character. Today we will focus on our enemy, and learn about Loops!

Hands-On/Coding

Students will work on the iPads again and continue working on their Crossy Road game. The next step will be to start constructing the enemy object and add the instructions to control it.

Out of Seat

One Thing To Remember

How do we use loops in our Crossy Road game?

Actual

We are almost finished with our Crossy Road game, and they have already started to discover different ways that you could change the code around to make it do different things. We ended with going over loops and explaining how we were going to use them in our game on the whiteboard. We discussed which instructions we might use to make this all possible. Finally, we moved over into Hopscotch to program and test! Next week we will continue with our enemy object and introduce a collision event.

Day 5

Intro To Python

The kids have really enjoyed Hopscotch so we will start off with a couple minutes of that so they can finish up from last week, and wrap up any personalization. We will then move onto Python, and start working with the Python intrepter!

Hands-On/Coding

We will use the Chromebooks and mess around with the Interpreter on the Chromebook and start to get a feel for Python, and how the syntax works. We will then move into learning about variables, and different data types. And end with the idea of string concatenation.

Out Of Desk:

None for this week

One Thing To Remember

What are the names of the Python data types that we dicussed and used during class?

Actual

Last night went really well! We finished up going over our Hopscotch game and then jumped into using the Intrepreter on our Chromebooks. I think we have a really nice pace going, and sticking to just the intrepreter for our first day of Python worked well. We focused on going over Expressions, Statements, Variables, and two data types, String, and Integer. The kids learned how we can declare variables, and give them values. As well as how we can see which values we have assigned to a certain variable. I have already gotten the Cloud 9 workspaces configured, and printed out their logins. We will transition to using Cloud 9 next week, and I will explain how it can be accessed from home as well.


Day 6

Python! This will be our second week messing around with Python. Last week we stuck to just using the Interpreter and going over two data types called Strings, and Integers. To start this week we will be introducing the students to their Cloud 9 editor that they will be using to write, edit, and run Python code from now on. All the kids will go home with a piece of paper detailing how they can access their Cloud 9 workspace from home. They are encouraged to keep messing around with their code outside of class! After going over the basics of Cloud 9 we will continue on with our Python practice, and learn about two more data types!

Hands-On/Coding

We will go over how to use Cloud 9, and basic operations like saving files, creating new files, and running our Python programs. After we will continue where we left off last week with a quick refresher of the two data types we learned, Strings, and Integer. We will learn about the other two data types, and how accept input from our users.

Out of Desk

None for this week

One Thing to Remember

When we use "A = " and "B = " in our Python programs, what are A and B called?

Actual