intro to hackathons 101

29
Intro to Hackathons 101 Women in Computer Science @ Boston University

Upload: anna-goncharova

Post on 14-Jan-2017

306 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Intro to Hackathons 101

Intro to Hackathons 101Women in Computer Science @ Boston University

Page 2: Intro to Hackathons 101

My name is Anna Goncharova!anna-goncharova.com● have been to ~5 hackathons

○ not only survived but actually won prizes!● also, volunteering/mentoring at BostonHacks!

Hello!

Page 3: Intro to Hackathons 101

My name is Tiffany Lo!tiffanylo.info● Technically participated in 1.2 hackathons● Formerly intimidated by the thought of hackathons

Hello!

Page 4: Intro to Hackathons 101

My name is Alexadra Miller-Browne!amiller-browne.appspot.com● Participated in 3 hackathons● Organizing BostonHacks

Hello!

Page 5: Intro to Hackathons 101

Why are we here?

◉Hackathons are awesome!◉After this presentation, you will know what

to expect.◉So, you will be more likely to participate

in a hackathon.◉example: BostonHacks is this weekend -

sign up!

Page 6: Intro to Hackathons 101

Benefits of attending a hackathon

◉Networking! Networking! Networking!◉Learning technologies that you wish you

knew but never can find the time to actually learn

◉Working on an idea◉Learning about what it is like to be a

Software Developer

Page 7: Intro to Hackathons 101

So, what is a hackathon?

Page 8: Intro to Hackathons 101

“A hackathon (also known as a hack day, hackfest or codefest) is an event in which computer programmers

and others involved in software development and hardware development, including graphic designers,

interface designers and project managers, collaborate intensively on software projects in competition with

other teams” - Wikipedia

Page 9: Intro to Hackathons 101
Page 10: Intro to Hackathons 101
Page 11: Intro to Hackathons 101

What is a hackathon?Overview

◉Basically, a gathering of people that want to make something awesome

◉ALL levels are welcome -- no one will laugh at you if that would be your first time programming, like ever

◉Time varies (some are a day long, some are two)

◉As much commitment as you want it to be

○and you don’t actually have to have THE idea, it is okay if you do not know what you want to work on…

Page 12: Intro to Hackathons 101

What is a hackathon?Sample schedule:

◉Typical schedule goes like:○arrival○keynote (sponsors announce APIs +

opportunities)○group formation, finding a spot, settling

down○brainstorming○work

■food/hygiene/sleep in between●food + energy drinks are usually

provided ○submission○judging○closing keynote and winner announcements

Page 13: Intro to Hackathons 101

What is a hackathon?Debunking a few myths:

◉It’s completely acceptable to take a sleep break

◉Making teams with strangers is not as hard as you think; people are usually friendly and easy to work with

◉What you learn > What you make

Page 14: Intro to Hackathons 101

How to be a hackathon hacker?In preparation:

◉Usually, there are either FB groups or Slack channels set up. There, people can find others with similar goals, as well as meet other participants

◉Think of a few things you’d like to work on or learn

◉For faraway hackathons -- plan on bringing things like change of clothes, personal hygiene products, and other trivial travel objects.

Page 15: Intro to Hackathons 101

How to be a hackathon hacker?Forming teams

◉Look for balance in a team (people of similar levels of programming experience with an overlap in familiar languages)

◉Discuss technologies you would like to learn

◉Make sure your teammates have similar goals!

○! (important)

Page 16: Intro to Hackathons 101

How to be a hackathon hacker?General tips

◉Be open to feedback and problem solving collaboratively

◉The goal is to have a working prototype by the end - sometimes this means trimming down the project or cutting some corners

◉It’s ok to be ambitious, but plan realistically for unexpected errors and fatigue

Page 17: Intro to Hackathons 101

What do I build?

Page 18: Intro to Hackathons 101

Web App Basics

Structure:◉Front-end: visual, client-side logic◉Backend: server-side logic, data

management◉MVC: Model/View/Controller

○Model: how data is stored/accessed○View: how data is displayed○Controller: how data is managed/processed

Page 19: Intro to Hackathons 101

Languages/Frameworks:

Javascript:◉Node.js (Backend)◉Angular.js (Front-end)◉BackBone.js (Front-end)

Page 20: Intro to Hackathons 101

Languages/Frameworks:

Python:◉Flask (Backend)◉Django (Backend)

Java:◉Jetty (Backend)◉Tomcat (Backend)

Page 21: Intro to Hackathons 101

Languages/Frameworks:

Mobile Development:◉Java/C++ → Android app development◉Objective-C/Swift → iOS app

development

Page 22: Intro to Hackathons 101

Languages/Frameworks:

Interaction with Data:◉Passing between layers:

○JSON (similar to dictionaries)○AJAX (a technology)

◉Storing data (databases):○SQL “see-kwol” (mySQL, SQLite, Postgres,

etc.) ○NoSQL (MongoDB)

Page 23: Intro to Hackathons 101

Languages/Frameworks:

Additional languages:◉PHP, Ruby, Go and many, many

others....Hardware:

◉Arduino, Raspberry Pi, Oculus, Myo, Apple Watch, etc.

Page 24: Intro to Hackathons 101

Resources◉MLH -- Major League Hacking

○list of all of the hackathons◉Another hackathon calendar

○link

Page 26: Intro to Hackathons 101

Some advanced tips

Page 27: Intro to Hackathons 101

How to win something:

API Prizes:◉read through the company’s API

documentation and thoughtfully integrate it into your code

◉if sponsors are available -- ask for advice.

◉They will be more likely to give the prize to someone they interacted with in depth or who found bugs in their systems.

Page 28: Intro to Hackathons 101

How to win something:

Category Prize:◉a little subjective (categories vary)◉presentation is key!◉it is okay for your the concept of your

idea not to be completely unique◉there’s a big push for wearables (like

Oculus Rift, Apple Watch, etc.)

Page 29: Intro to Hackathons 101

Questions?