Download - Intro to Hackathons 101
Intro to Hackathons 101Women in Computer Science @ Boston University
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!
My name is Tiffany Lo!tiffanylo.info● Technically participated in 1.2 hackathons● Formerly intimidated by the thought of hackathons
Hello!
My name is Alexadra Miller-Browne!amiller-browne.appspot.com● Participated in 3 hackathons● Organizing BostonHacks
Hello!
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!
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
So, what is a hackathon?
“
“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
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…
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
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
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.
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)
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
What do I build?
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
Languages/Frameworks:
Javascript:◉Node.js (Backend)◉Angular.js (Front-end)◉BackBone.js (Front-end)
Languages/Frameworks:
Python:◉Flask (Backend)◉Django (Backend)
Java:◉Jetty (Backend)◉Tomcat (Backend)
Languages/Frameworks:
Mobile Development:◉Java/C++ → Android app development◉Objective-C/Swift → iOS app
development
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)
Languages/Frameworks:
Additional languages:◉PHP, Ruby, Go and many, many
others....Hardware:
◉Arduino, Raspberry Pi, Oculus, Myo, Apple Watch, etc.
Resources◉MLH -- Major League Hacking
○list of all of the hackathons◉Another hackathon calendar
○link
Resources: Web Dev○watch this video first○codecademy - learn CSS/HTML, after that learn
JavaScript.○learn about JSON objects and Ajax -- dynamic data
(intermediate)■link 1■link 2■link 3
○books:■javascript■html/css
Some advanced tips
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.
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.)
Questions?