2019 Hack-a-thon Workshop

Welcome:

Welcome! We are super-glad you are here!

Logistics:

We are going to start out downstairs, but we will mostly be upstairs today. The bathrooms are downstairs and the double doors at the end of the stairs are kind of tricky. Once we are working upstairs, if you need to use the restroom, please ask an adult mentor and they can accompany you downstairs!

Let’s get everyone hooked up to wi-fi! We ask that you only connect your laptops to wi-fi and not your phones. Thank you!

A Bit About Fox.Build:

Fox.Build is a co-working space downstairs and a maker space upstairs. A maker-space is a place where a group of club members share a space and tools to build things. Fox.Build has all kinds of cool tools, a recording room for pod casting, a textile group, an electronics room, a woodshop, a robot bench, 3D printers, lazer cutters and lots of other cool stuff. They also host regular Events on a host of different subjects.

A Bit About Our Club:

The Fox Valley Girls Coding Club is an informal group of high school girls and various mentors, that meets 3 Fridays a month, during the school year (October-May), to talk about and write software (and eat a bit of junk food). During the 2018-19 school year, we learned about Python. In past years, we have done web and mobile based technologies. We have gone on field trips, participated in hack-a-thons, and had guest speakers. Our meetings are on Fridays from 5:45-7:45pm at 25N in Geneva, IL.

What can I do with code?

Become a:

  • Programmer
  • Doctor
  • Anthropologist
  • Data Analyst
  • Designer
  • Politician
  • Geologist
  • Film Maker
  • Really… anything!

Coding  skills can be the foundation for problem solving, creativity and communication skills!

What is a Hackathon?

A Hackathon is an intense, code-writing and collaboration event that lasts 1 to many days. The goal of a hackathon is to build a functioning piece of software by the conclusion of the event. Typically, the end results of a hackathon are judged and awards are presented at the end.

What are we going to do today?

Today, we will break up into four teams of 4-5 girls. Each team will have 1-2 high school mentors. Each team will be given a supply box with a Makey Makey, colored bandanas, and some starting materials for the hack. Many more materials will be available, as needed.

Our Hackathon Challenge:

Hackathons have a simple focus. They have a simple focus because we want to foster creativity and healthy competition. We want to celebrate your individuality, teamwork, ingenuity, creativity and the things you have learned here today.

  • Please use Codesters (software)
  • Please use at least one MakeyMakey (hardware)
  • Please use at least 3 following in your code:
    • At least one VARIABLE
    • At least one LOOP
    • At least one CONDITIONAL
    • At least one FUNCTION
    • At least one EVENT

OMG That Sounds HARD!!!! {PANIC}

Coding can sometimes be frustrating. Coding is a lot like the movie The Martian. 

You set out to do something and then work to solve each problem you encounter one by one until the job is done.

This isn’t a kit. We don’t have step-by-step instructions for you. I am absolutely 100% positive that your code is not going to work the first time. I have been writing code for 20 years and my my code rarely works the first time. It is NORMAL to get a little frustrated.

Remember that you aren’t alone. You have a TEAM!

  1. Work together to form a plan. What are you going to build?
  2. Figure out what the steps will be to make your idea a reality. Break it down!
  3. Can each of the members of your team work on a different step? Maybe some members can work on the hardware and some on the software?
  4. Regularly ‘check in’ with the whole team to see how everyone is doing!
  5. Remember, you are going to get stuck. That’s normal. Ask for help!

What will I need???

If you don’t already have one, go to Codesters.com on your laptop and make an account. If you get stuck, ask for help!

 

 

################################################################

 

 

Variables:

Buckets – Buckets – Buckets

Think of a variable like a bucket. The bucket gets a name. This is the name of your variable.

The name doesn’t change, but the contents of the bucket can change.

Variables (aka buckets) in Python can hold numbers or ‘strings’ of letters.

If you add two number variables together, you add the sum of those numbers.

If you add the strings of letters together, it is like you are adding more beads to the string.

Variable Example in Codesters

More Info on VARIABLES

 

################################################################

 

Conditionals:

We use IF… ELSE statements in our code to make decisions.

In Python, the spaces before a line of code are very important. They help show the computer what should be included in they IF…ELSE instructions.

Notice how when we assign a variable, we use ONE equal sign. When we check the value of the variable, we use TWO equals signs!

Conditional Example in Codesters

Another Conditional Example in Codesters

More Information on Conditionals

 

################################################################

 

Loops:

Use a loop when you want to do something over and over again. Make sure you have a way to tell the loop to stop!

There are two types of loops: WHILE LOOPS and FOR LOOPS

In Python, the spaces before a line of code are very important. They help show the computer what should be included in they LOOP instructions.

WHILE LOOP Example in Codesters

More Info on WHILE LOOPS

FOR LOOP Example in Codesters

More Info on FOR LOOPS

 

################################################################

 

Functions:

A FUNCTION is a piece of code that runs only when it is called.

Functions Example in Codesters

You can pass information into a function and get information out of a function.

Put the information you want to pass into a function inside of the parentheses.

FUNCTION with Parameter Example in Codesters

If you want to use a variable inside and outside of all of your functions, you will need to use the global keyword…

globalVariables

Variables inside functions

 

################################################################

 

Events:

You can make something happen when someone uses a keyboard key by LISTENING for that EVENT.

Arrows and Spacebar Example in Codesters


Codesters Stage: 

Ava and Page’s Example for moving a sprite around a codester’s Stage

Cool example of the Turtle Graphics in Codesters

 

Makey Makey:

AMAZING MAKEY MAKEY SOUND INVENTIONS

 

OMG – where do I start??

Just like Scratch, there are thousands of example projects in Codesters: https://www.codesters.com/home/projects/?page=1#public_projects

Take a look at other people’s projects to get some inspiration!

Here is a Simon Says Game that Torin wrote!

 

What Colors can I use?

List of Codesters Color Names

 

Can I make lights light up?

 

What does “Conductive” mean?

Some things are going to conduct electricity and work with the Makey Makey. Some things are insulators and will not work. You can watch this video to learn more about conductors and insulators. For today, please don’t use WATER as a conductor of electricity. Water and laptops aren’t friends!

 

What does “Earth” mean on the Makey Makey?

Often times, we make a aluminum foil bracelet and use our hand as a conductor of electricity to complete the circuit. You don’t have to do this. you can connect the ‘earth’ to anything. You just need to complete the circuit.

Fun Stuff to try on the Makey Makey

More about Makey Makey

 

SAFETY FIRST! {Oh wait… it’s not first, it is at the bottom of the page…}

You and your team are going to cut stuff, tape stuff, maybe strip wires, etc. We want you to be creative and have fun. We don’t want you to get hurt. Ask for help!

 

Hey – Let’s be Super Nice Human Beings Today!

Let’s try to leave Fox.Build in the same state that we found it in today. Be courteous!

Let’s try to treat everyone with lots of respect and have lots of fun.

Here is a link to our club Code of Conduct for this event and our club in general:

https://robintschroeder.github.io/ClubPolicies/

 

Now… Let’s Play Kahoots!

Let’s Play!