ICS 491 Fall 2021: Improving your software engineering skills through hackathons

ICS 491 Fall 21


Project maintained by uhmanoa Hosted on GitHub Pages — Theme by mattgraham

Overview

This ICS 491 is a special topics course that will give you the opportunity to improve your software engineering skills by participating in two hackathons: the five day 2021 Meteor Hackathon as well as the month-long 2021 Hawaii Annual Code Challenge (HACC). This class will be held in a completely online manner. Both Hackathons will also be held in a completely online format this year.

The 2021 Meteor Hackathon will start on October 15 and finish on October 20.

The 2021 HACC will start on Saturday, October 23. There will be workshops during the next two weeks, and the final presentations and judging will occur on Saturday, November 20.

Professor Philip Johnson is running this course. For this course, you will gain facility with your tech stack from August to October 15, then participate in the Meteor Hackathon, then participate in the HACC, then refine one of your applications for the last two weeks of the semester.

To be qualified to take this course, you should have a passion for working with technology, for solving important problems facing Hawaii, and have the time available to work hard and independently from August to December. Ideally, you would have completed ICS 314 or have equivalent web application development experience, but that’s not required. If you are taking ICS 314 in Fall 2021, or if you just want to use this opportunity to improve your skills, then you should be good. If you are not sure whether this class is right for you, feel free to send me (johnson@hawaii.edu) an email.

Prior results

The Meteor Hackathon is new, so we don’t have a track record, but ICS undergraduates have an impressive winning streak at the HACC:

So, in addition to improving your software engineering skills, you might win some money! I see no reason for us to not do just as well or better this year.

Course structure

The course will work like this:

(Aug 21 - Oct 14) Warm up your tech stack. For the Meteor Hackathon, you need a tech stack that supports Meteor application development. For the HACC, your tech stack should support native mobile app development, as that is the most desired app for HACC. I assume that everyone in the course has (or will have) Meteor development experience. To warm up your tech stack, each student must implement a simple Meteor application for COVID tracking similar to the UH Lumisight application. You must work in a team of 2-6 classmates on this project.

(Oct 14, 11:00pm) COVID Tracking App Essay Due. 30% of your grade will be based upon the COVID tracking application. You will submit your application through an entry in your professional portfolio that describes the application you developed, provides links to the source code (and deployed application), what you learned from the experience, and what you personally contributed to the project.

(Oct 15 - Oct 20) Meteor Hackathon. Participate in the Meteor Hackathon. You must work in a team of 2-5 people.

(Oct 22, 11:00pm) Meteor Hackathon Portfolio Essay Due. 20% of your grade will be based upon your Meteor Hackathon application and what you contributed to it. You will submit your application through an essay in your professional portfolio that describes the application you developed, provides links to the source code (and/or deployed application), what you learned from the experience, and what you personally contributed to the project.

(Oct 23 - Nov 20) HACC. Participate in the HACC. You must work in a team of 2-5 people.

(Nov 23, 11:00pm) HACC Portfolio Essay Due. 40% of your grade will be based upon your HACC application and what you contributed to it. You will submit your application through an essay in your professional portfolio that describes the application you developed, provides links to the source code (and/or deployed application), what you learned from the experience, and what you personally contributed to the project.

(Nov 21 - Dec 10) Application improvement. Regardless of whether you win or not, from November 21 to the end of the semester, you will continue to work on your application to make it even better.

(Dec 10, 11pm) Final Essay Due. The final 10% of your grade for the course will be based upon your final essay, which summarizes what you did to improve your HACC application, as well as your overall thoughts on your experiences during the entire course.

Grading

Your grade will be based upon the work you did as represented by the four essays (warm up, Meteor Hackathon, HACC, and Final Essay).

The grading will be as follows:

Frequently asked questions

I’m just a freshman (or just taking ICS 211, or a transfer, etc.) Am I qualified to participate?

It doesn’t matter what courses you’ve taken, it just matters that you can code both in Meteor and/or in native mobile apps. One suggestion is to start going through the Android First App tutorial. If that goes well and you find it interesting and fun, then start working on the reimplementation of BowFolios. If you’re feeling comfortable and making progress, then you should be good to go.

There are no “lectures” in this class. You are expected to be able to learn new technologies on your own.

I’m shy. Do I have to be in a team?

Yes. You have to be in a team of at least two people. You’ll thank me for this later. In the unlikely event that a student cannot find a team to join, I reserve the right to augment any team with additional team members in order to ensure that everyone is part of a team.

I want to be in a team that’s larger than 5 people. Is that OK?

No, the maximum team size is 5. The reason is that in a larger team, coordination costs start to get very high and there’s a significant risk that you won’t contribute enough to pass this course.

Do I have to be in the same team for both hackathons?

No. Although, it might be fun to have the same team for both.

Do all of my team members have to be taking the class?

No. You have to work in a team (because that develops valuable software engineering skills), but your team members don’t have to be taking the class. That said, it might be fun to form your team from folks in the class, or at least some mixture.

What if my team breaks up at the end of the HACC?

If you are working with a team in which you are the only ICS 491 member, and the team breaks up at the end of HACC, then you can continue to work on the project by yourself for the remainder of the semester.

I have another question?

Feel free to email Philip Johnson (johnson@hawaii.edu) with your questions or concerns.