L2C4K Winter 2015 Week 6 and 7 Recap

Hello parents and friends of L2C4k.  I didn't report in on the last 2 weeks of classes due to, well, life events.  I've been traveling for business and shortly after that, I took a much needed vacation with the family.  So this note is just a recap of week 6 and 7 classes.

Week 6: Data

In week 6 we left the engaging and familiar Blockly environment on code.org and talked about data and how it is defined and used in text based coding.  We introduced the concept of a variable which is just a name given to a specific piece of data.  This way we can reference it in our code.  We then talked about specific types of data:

  • numbers (e.g. 1, 2, 3)
  • strings (e.g. "Hello World")
  • booleans (e.g. True or False)
  • arrays (a container for many pieces of data)

Arrays are an interesting and useful concept because they allow you to store and manipulate collections of data - e.g. a list of students.  You can think of an array as a series of numbered boxes in which you can put things.  To get things in and out of a box, you provide the number of the box.

Here, my array is an old egg carton - a single row of numbered boxes, starting at zero.

Here, my array is an old egg carton - a single row of numbered boxes, starting at zero.

See the visual example above.  To get the birdie out of the "array" I would provide the number 1.  If my array was named "animals" (a variable), then I would be able to get the birdie with this notation:

var animals = ['deer', 'green birdie', 'monkey'];
var the_bird = animals[1];

Finally, we talked about data "objects" that let us create our own custom data.  For example, we could create a data object that represented a car or a student or a character in a game.

You can create your own data types in code, called objects, to represent anything you like.  Can you see how we have created an object to represent a car?  We attach a name (aka "variable") to that data, "car", so we can refer to it later.

You can create your own data types in code, called objects, to represent anything you like.  Can you see how we have created an object to represent a car?  We attach a name (aka "variable") to that data, "car", so we can refer to it later.

The culmination of the data lesson was supposed to be to create a computing history timeline by creating the necessary data entries - an array of timeline objects.  Unfortunately, we ran out of time and, quite honestly, the timeline objects proved to be a bit too complex for first time coders.  Here is the starting code for the exercise:

here: http://codepen.io/jduprey/pen/OPKERG 

With some more work, I think I could simplify this example for future classes and still get them to practice data creation AND learning a little bit about the history of computing in the process. :)  

Here are the supporting materials: [Quiz][Slides] Embedded (Click on slides to advance):

 

Week 7: Your Digital Footprint and Learning to Code with Text

I was on vacation with my family this week, but Sister Pat and Daniel forged on with out me.  They discussed your digital footprint which is the trail personal information one leaves on the Internet and how that can be dangerous - especially for children.  Learn more:

https://www.commonsensemedia.org/educators/lesson/follow-digital-trail-2-3

Building on top what we learned in week six (and really throughout the whole course), we officially introduced text based coding using Khan Academy's Hour of Code tutorial:

https://www.khanacademy.org/hourofcode

Here are the supporting materials: [No Quiz][Slides] Embedded (Click on slides to advance):

Next Class

The fundamentals are learned and some of the more powerful concepts of data representation and text-based coding are introduced.  In the next class we will walk though the process of creating simple tic-tac-toe game in code.