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 Makey: Add 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);