December 15, 2017 Meeting

This evening’s meeting is at 25N Coworking at 5:45 pm.  It is our last meeting of 2017.  Looking forward to seeing everyone there!

AGENDA

Last week’s guest speaker, Grace Haaf, had so much great information to share that we decided to dedicate the meeting to listening to her career journey in the field of tech and having a great discussion on what the future holds for our girls, today’s challenges for women in tech, and how to make a positive impact on your community by utilizing the tech skills learned in college and beyond.

Now this week, we will be working with the Snake Game, Makey Makey kits, and Object-Oriented coding.  Please see last week’s agenda below for details.

December 8, 2017 Meeting

This evening we will meet back at our usual time and place: 25N Coworking at 5:45 PM.

Agenda:

Guest Speaker: Grace Haaf. Grace earned a PhD from Carnegie Mellon, has done extensive work in engineering and big data as well as owning her own company and recently participating in the Democratic primary process for the IL 6th Congressional District. We are looking forward to hearing her perspective on working in tech while being an active and engaged citizen in the political process.

Techie Table Talk:  Following Grace’s presentation, we’ll hang out around our Conference Table where our FVGCC Members can share thoughts on what we just heard or discuss other ideas and interests related to tech fields, women in tech, educational opportunities, projects we may work on, upcoming events, etc.

Slither Onward with Game Development — It’s time for the Snake Game!

  • Let’s Play! Fire up the code in our Chapter 6 code directory in Cloud 9 and try out the game to get a feel for how it works
  • Makey MakeyAdd a Makey Makey input device and get creative on how to connect to the game!
  • Get a glimpse of Object-Oriented coding:  We will take a brief look at how the game uses the concept of a class and an object that represents an instance of that class. 
    • Classes and Objects are the most important concepts in Object-oriented languages like C++, C#, and Java.

Class: a template representing some type; it has properties that hold values representing state and methods (aka functions) that invoke behaviors. Example: we can define a class Snake that has properties for size, body, skin, isAlive, and more. The properties may be given initial values within the class definition

But does JavaScript have real classes?: JavaScript didn’t have an actual “class” keyword and syntax until a 2015 specification which may not be implemented yet by all Browsers; see this MDN article on JavaScript classes

Constructor Function declaration conceptually implements a class: In the Snake program (written prior to the 2015 addition of “class” to JavaScript),  the Snake variable defined by a constructor function is conceptually a class

Constructor: a function used to create a new instance of the class; it may have parameters which are values passed to the function and used to set some initial values for the object. The Snake constructor starts like:

 var Snake = function(x, y, width, height, maxSize) {

Object: an instance of a class that can have its properties set and its methods invoked in code. For example, we create a Snake instance like this:   var snake = new Snake(0, 0, canvas.width, canvas.height, 1000);