For our purposes, a hackathon is a gathering where developers collaboratively design, problem solve, and code in an extreme manner over a short period of time - in our case, for 26.2 hours. The idea is for each developer to have the ability and freedom to work on whatever they want, so long as it adheres to whatever constraints are provided by the event. More broadly, you may hear the term “hackathon” applied to any event of any duration where people come together to solve problems.
By all means, form a team! You can even come to the event with a team! If you have your own idea for something to make, and want to work with others to build it, we’ll have time for you to pitch your idea and win over other developers. If you’d rather work on someone else’s idea, that’s perfectly OK - even encouraged! We’d prefer it if teams were kept to a maximum size of 5 - beyond that and it’s hard to keep everyone busy with meaningful code work.
If you’re struggling to come up with ideas, check out this blog post by Mashape.
You bet! We’ll have T-shirts and stickers for everyone attending, as well as fun prizes for winners and to raffle off.
We’re bringing in some great judges for the event. Eric Wills will be representing the UO CIS faculty as a judge, and Joe Maruschak, the Chief Start-up Officer at RAIN Eugene, will be attending as well. We’ll also have Jeremy Klein, a recent UO CIS alumni, join the judging team. We’ll be judging to place in three categories: Most Commercially Viable, Best Use of Multiple APIs, and Brought the Most “Game.” From the winners of those categories, a Best Overall will be chosen.
Don’t worry! We’ve got great food lined up for you: lunch will be from Roaring Rapids Pizza Company, dinner from Noodle & Company, and we’ll have snacks and energy drinks to fuel you through the night.
Yes. However, there’s something special about working through the night with a group of friends toward a common goal - it’s an integral part of the hackathon experience. Nonetheless, we’ll be in Deschutes 100 all night so there’s no risk of being locked out.
Don’t sweat it! If you’re familiar with Python, we’ll have starter code for a few select APIs. If you have an API in mind that isn’t supported, we’ll have experienced devs around to help you get connected and continue building. Finally, not all programming here is going to be working directly with APIs; one person could wire up the connections, while another programs a cool way to manipulate the data you receive.
Beginner teams: We recommend starting with stuff you’re comfortable with - for most of you, that’s Python. Build out from there; you can try Flask, a web micro-framework written in Python, or Tkinter for graphics. Think about what you need to express your idea and go from there!
Advanced teams: Use whatever you want. Just remember that if you use some oddball tech, there is little chance we’ll have someone who can help you.
The slides for this meeting are available to download here.
Open source software is software that anyone can download and contribute to. Source code is “open” and available to download for free. In comparison to software being developed by a company, open source software is developed and maintained by the community which can consist of individual people, companies, or organizations.
Why do people contribute to open source? I have outlined three main reasons:
As a student, contributing to open source projects is a great way to gain experience. There is no need to start from scratch or only stick to “Hello, World” programs and homework assignments. You can also learn much more about working with others and writing code that actually needs to be nice to look at and easy to understand.
Alongside gaining experience, open source projects are also a great resume booster. And although a resume is just a piece of paper, as students we all know how important it is. As employers, they get the chance to see code you have actually written and projects you have worked on outside of the classroom. School projects are great, but side projects really show how passionate you are about programming and computer science and employers love this.
So if you aren’t a student and aren’t trying to get a job, then why contribute to open source? Well, maybe you’re just a good Samaritan :)
In all seriousness, supporting the open source community is a great thing to be a part of. Some love to contribute because they want a free alternative to over-priced software. Or maybe you’ve been waiting a long time for your favorite program to come out with some new features, and you’re just tired of waiting. Well, if it’s open source you don’t need to wait, just add the features yourself!
Github is an extremely popular platform for open source projects. Not only can you find millions of public repositories, you can have your own portfolio of projects you’ve created and repositories you’ve contributed to. Employers love this. A link to your Github page is the new resume. The social features of Github also let you discuss issues with other people in the community and get valuable feedback from others.
Git is a version control system. What is a version control system? Well, we won’t be going over details this week. Just know that it makes it much much easier to work with others and share code (Dropbox == BAD IDEA). There are other version control systems besides Git, but Github uses it (obviously) so it is a good idea to become familiar with.
So how do you actually contribute to a project? We’ve boiled it down to four steps.
In our meeting, we will be walking through how to do this. But if you missed it, we’ve provided some helpful links on how to get started with forking and pull requests.
I know we didn’t go over how to use Git, so don’t worry if you are completely lost on what Git is and how to use it. You will most likely come across Git in some of your CIS classes (if you haven’t already). But for those who are curious and what to dive in, here is a link on how to get started using Git. We encourage everyone to fool around with Git and start contributing or creating projects! Uploading any of your own projects you’ve already done is a great way to get started. Just make sure it is okay with any professor or boss that you are uploading code.
We also have our club website posted as an open source project. Feel free to mess around and find any bugs you may stumble across!
Our next meeting with new content will be Thursday, October 15th: MVC, Modularization, and Intro to Flask. Hope to see you there!
In case you missed any, here are some helpful links to get you started:
Subscribe to this blog via RSS.