CodeMonkey Co-Founder & CEO.
Jonathan's inspiration for founding CodeMonkey stems from his early experiences teaching programming to children using computer games. He envisioned making computer science education accessible globally, with a product that teachers can use without fear and kids will enjoy tremendously.
Under Jonathan’s leadership, CodeMonkey has grown into a leading platform for K-12 coding and computer science education, bringing fun, knowledge, and opportunity into the lives of millions of learners around the world.
Have you ever heard of a hackathon? You might be able to tell what it is from the word alone. “hackathon” combines the words “hacking” and “marathon” … you can think of it as a kind of marathon for hackers! In this article, we will outline the purposes of and benefits of a hackathon, and how you can plan and execute a hackathon in your classroom, with your students.
A hackathon is an intensive, collaborative event where people with different skills come together to create something. Groups all over the world, from Fortune 500 companies to professional communities to schools, utilize hackathons. The specific goal of a hackathon is usually to invent something, with the end of the event resulting in a prototype for the invention. In the computer science world, coding professionals come together to improve upon or build a new software or computer program. This is a rapid prototype, or minimum viable product. The goal is not perfection, rather, quick and booming creation.
Here’s an outline of a typical hackathon:
Kickoff: Participants are given a task, usually a problem to solve or a product to create. They are given a short timeframe to complete the task (often 1-3 days), along with key rules and guidelines.
Grouping: Participants get into groups based on their product ideas. These are the groups they will collaborate with throughout the hackathon.
Hacking: The bulk of the hackathon consists of… hacking! Participants collaborate in their groups to rapidly create a prototype to solve the problem at hand.
Presentations/ Judging: Groups present their prototypes (finished or unfinished) to the group, or to a panel of judges. Often, a winner is chosen and given some type of prize or award.
Beyond creating a solution or product, hackathons offer many additional benefits, including collaboration, skill-building, networking, and an opportunity to have some fun!
Why should I have a hackathon in my classroom?
Hackathons can be utilized in your classroom for a myriad of purposes– they key is that the purpose of your hackathon aligns with the goals of your classroom. A hackathon could be framed as a school-wide problem-solving activity, a way to culminate a unit or course, or simply a fun opportunity for collaboration and invention! Regardless of the purpose of your hackathon, they key benefits are the same:
Reinforce coding concepts
Coding concepts and skills are best learned by doing. Giving students a chance to utilize these concepts in a “real world” situation will deepen learning and help skills stick. A hackathon allows students to apply their learning in new and creative ways, moving beyond isolated practice or coding drills. When they can see how different coding concepts work together in a larger project, they gain an understanding of why these concepts matter.
Encourage real-world problem solving
A hackathon mimics the environment of professional tech industry challenges, where the solution to a problem is needed in a timely manner. Students get a chance to trouble-shoot and move through the iterative design process in collaboration with their peers, just as they would in a professional setting.
Facilitate collaboration and teamwork
No matter what education or career path your students choose to pursue, they will need the skills to effectively work as part of a team. During the hackathon, they will work with their team towards a common goal in a fun, fast-paced environment.
Support diverse learning styles
You already know that your students have different strengths and interests. A hackathon gives all students a chance to shine, as each step and component of a hackathon requires different skills.
Build key career skills
A hackathon helps students build skills other than those directly related to coding– things like negotiation, decision making, giving and receiving feedback, and presenting. These skills will serve students in whatever career they choose.
Foster a growth mindset
During the hackathon, your students will approach a challenge that is most likely new to them and somewhat out of their comfort zone. They will also need to embrace failure. Building these abilities in a fun, low-pressure environment can help students continue to develop a growth mindset.
What Step Can I Take to Plan My Classroom Hackathon?
Step 1- Define the Goal
Taking time at the start of planning to define the goal of the hackathon will influence the success of the event and the overall experience of your students. You’ll want to ask yourself a few questions:
What is the primary purpose of this hackathon? Why are you, the teacher, choosing to plan and hold this hackathon? Is this the culminating event of a unit with challenging coding concepts? Are you hoping to help students develop new career skills like collaboration and design thinking? Is the real focus of the hackathon to give students a chance to have fun and build relationships with their peers? While you may have many different goals for your hackathon (maybe you would like to accomplish all of the above goals at once!), it can help to focus on a primary goal that can influence your priorities and decision making during the planning process.
How does this hackathon align with current learning objectives? How will you measure progress towards these objectives? Think about the skills you would like to reinforce during this hackathon. You’ll want to choose skills that are not entirely new and are realistic for students to build facilities on their own and with peers in the more “real life” setting of this event.
Step 2- Choose a Format
Next, you’ll want to choose a format for your hackathon, which includes when students will work and how they will work. Be sure to keep in mind the ages, skill levels, and discipline levels of your students.
When: Choose a specific time frame for your classroom hackathon. You could choose to have your hackathon take place over one or several class periods, or even a few weeks.
How: While hackathons in the professional world are most often very open-ended, you’ll want to think about the skill levels and work habits of your students when selecting a format. Will students work individually, in pairs, or in groups? Will they be given a task and then given freedom to move though the creative process as they see fit, or will they move through steps in specific time frames, with frequent check-ins?
Step 3- Select a Task
The task you have your students complete will drive their work throughout the hackathon. You want to select a task that aligns with your overall goal for the hackathon and gives your students a clear and exciting objective to work towards.
Think: What is the specific, measurable goal that you will communicate with students? Consider the age and skill levels of your students, construct a clear goal that you can talk to them about and use throughout the hackathon to guide work and progress. These goals could be skill-based, project-based, or even based in teamwork and collaboration. As long as they align with the primary purpose of the event and the needs of your students, they will work! Remember to use actionable verbs and to make the goal attainable. Here are some examples of goals for a classroom hackathon:
Students will create a simple game or app that helps plan homework for the week.
By the end of the hackathon, students will use at least one if-then statement and one loop.
Students will identify and fix at least 2 bugs in their code using print outputs or built-in debugging tools.
Students will create a game for kids that has a scoring system.
Step 4- Prepare Students
In a professional setting, participants are usually expected to show up to a hackathon on the day that it starts, ready to bring their unique skills set to the table. They will know the timeline and general theme of the hackathon, but sometimes no more than that. In the classroom, especially with younger students, it can be helpful (sometimes essential) to take more time to prepare your students. You know your students best, and you probably have an idea about what they will need to be successful. Consider the following ideas to prepare your students and set them up for success on the day of the challenge.
Introduce Design Thinking: The design process usually involves the following 5 steps: Define the Problem, Generate Ideas, Develop a Solution, Construct/ Test/ Improve a Prototype, Evaluate, and Present. You’re probably noticing that many of these steps align with the steps of a hackathon. It’s essential that your students are comfortable with this process and it’s very helpful if they have engaged in it before. Check out these design thinking tools for students from Common Sense Education for activities to try before your hackathon and planning tools to use during the event.
Engage in “Mini Warm-Ups”: In the weeks leading up to the main event, have your students engage in 5-15 minute activities that mimic what they will do during the hackathon. They might review/practice key coding concepts (writing conditionals, creating loops, designing user interactions), engage in a feedback cycle, review coding vocabulary, practice presenting a prototype, or rapidly brainstorm ideas.
Introduce students to the idea of Minimum Viable Product (MVP): The thought of inventing or creating something in just a few class periods can be intimidating for middle and high school students (or anyone, for that matter)! They can tend to think too big, or to focus on perfecting details. Before the hackathon, ensure that students understand an MVP as a “good first draft” that gives others the core value of the creation without using up a lot of resources. It is not a “bad” product, but one that includes all basic components and can be improved upon later. Provide students with examples of what MVPs should look like in the hackathon scenario.
Gather tools for student use: Gather resources like skill sheets, planning documents, feedback sentence frames, etc. Ensure that students know how to use them, and prepare to make them available to utilize during the hackathon.
The Day of the Challenge
You’ve done all of the big planning– now it’s time to host your classroom hackathon! Be sure to include these key elements on the day/days of the challenge.
Kickoff: Your hackathon kickoff is a chance to inspire, excite, and set students up for success. Chances are, you have already done some preparation ahead of time. During the kickoff, review the preparation that has already been done, give students a clear task and a timeline for work. If groups have not been chosen ahead of time, this is also the time for that. Consider this timeline for your kickoff:
5 min: Welcome/ Get Excited!
10 min: Task Reveal
5 min: Groupings
10 min: Review Guidelines and Tools
5 min: Q & A
Hacking Time: Now it’s time to get to work! Your students should have extended, focused work time. This could be completely free-flowing (with resources available to support) or more structured, depending on their needs.
Check-ins: No matter how independent your students are, it is a good idea to schedule some pre-planned check-ins for the hacking time. These could be whole group, small group, or individual check-ins. You may want to check in after the first hour or two or between class periods to make sure students are on track, or insert a quick skillbuilding mini-lesson at a key point in the hackathon. You can also insert check-ins on the fly, if you notice a class-wide need.
Presentations: Now is the fun part… students present their Minimum Viable Products, or MVPs! These could be judged by a panel or by their peers and voted upon, or presented in a more low-stakes fashion. Again, consider the needs of your students and the goals of your classroom.
How Can I Make a Classroom Hackathon More Fun?
Consider these easy, low-prep ideas to add some fun and excitement to your classroom hackathon:
Provide snacks: We can all use some pick-me-ups during a long work session. Consider providing snacks, drinks, gum, etc to help get students through the hackathon! If your school has a practice of asking for parent donations, this is a great time for that.
Invite “Special Guests” for judging: These could be former teachers, older students, coaches, etc!
Add a photo booth area: Set up a tablet and backdrop for students to use totake pictures with their teams. Consider adding some props, like cardboard laptops and fake glasses.
Give creative/ silly awards: These types of awards can take some of the pressure off of the end product.
Hosting a classroom hackathon is more than just a fun event—it’s a powerful learning experience that helps students apply coding skills in real-world ways while practicing collaboration, creative thinking, and perseverance. With careful planning and thoughtful preparation, you can create an environment where students feel empowered to take risks, explore their ideas, and celebrate progress over perfection. Whether your goal is to reinforce content, build teamwork, or simply bring energy into your classroom, a hackathon offers an engaging and memorable way to meet those goals. So go ahead—set the stage, spark their curiosity, and watch your students become confident, creative problem solvers.
Our world today is undergoing a rapid technological change. Which raises a very important question for educators and school leaders – how can we prepare our next generation for all the technological surprises the future holds?
Our world today is undergoing a rapid technological change. Which raises a very important question for educators and school leaders – how can we prepare our next generation for all the technological surprises the future holds?
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies. However you may visit Cookie Settings to provide a controlled consent.
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Cookie
Type
Duration
Description
_codemonkey_session_rails_4
1
1 year
_ga
persistent
2 years
This cookie is installed by Google Analytics. The cookie is used to calculate visitor, session, campaign data and keep track of site usage for the site's analytics report. The cookies store information anonymously and assign a randomly generated number to identify unique visitors.
cookielawinfo-checkbox-advertisement
persistent
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Advertisement".
cookielawinfo-checkbox-analytics
persistent
11 months
This cookies is set by GDPR Cookie Consent WordPress Plugin. The cookie is used to remember the user consent for the cookies under the category "Analytics".
cookielawinfo-checkbox-functional
persistent
11 months
cookielawinfo-checkbox-necessary
persistent
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-non-necessary
0
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Non Necessary".
cookielawinfo-checkbox-other
persistent
11 months
cookielawinfo-checkbox-performance
persistent
11 months
This cookie is used to keep track of which cookies the user have approved for this site.
JSESSIONID
1
1 year
Used by sites written in JSP. General purpose platform session cookies that are used to maintain users' state across page requests.
viewed_cookie_policy
persistent
1 hour
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
XSRF-TOKEN
persistent
1 year
The cookie is set by Wix website building platform on Wix website. The cookie is used for security purposes.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
Cookie
Type
Duration
Description
rlas3
persistent
11 months
The cookie is set by rlcdn.com. The cookie is used to serve relevant ads to the visitor as well as limit the time the visitor sees an and also measure the effectiveness of the campaign.
UserMatchHistory
persistent
1 month
Linkedin - Used to track visitors on multiple websites, in order to present relevant advertisement based on the visitor's preferences.
This cookie is set by Google Analytics and is used to distinguish users and sessions. The cookie is created when the JavaScript library executes and there are no existing __utma cookies. The cookie is updated every time data is sent to Google Analytics.
__utmb
persistent
30 minutes
The cookie is set by Google Analytics. The cookie is used to determine new sessions/visits. The cookie is created when the JavaScript library executes and there are no existing __utma cookies. The cookie is updated every time data is sent to Google Analytics.
__utmc
persistent
1 year
The cookie is set by Google Analytics and is deleted when the user closes the browser. The cookie is not used by ga.js. The cookie is used to enable interoperability with urchin.js which is an older version of Google analytics and used in conjunction with the __utmb cookie to determine new sessions/visits.
__utmt
persistent
10 minutes
The cookie is set by Google Analytics and is used to throttle request rate.
__utmz
persistent
6 months
This cookie is set by Google analytics and is used to store the traffic source or campaign through which the visitor reached your site.
_gat
persistent
1 minute
This cookies is installed by Google Universal Analytics to throttle the request rate to limit the colllection of data on high traffic sites.
YSC
1
1 year
This cookies is set by Youtube and is used to track the views of embedded videos.
This cookie is used by Google Analytics to understand user interaction with the website.
_gid
persistent
1 day
This cookie is installed by Google Analytics. The cookie is used to store information of how visitors use a website and helps in creating an analytics report of how the wbsite is doing. The data collected including the number visitors, the source where they have come from, and the pages viisted in an anonymous form.
GPS
persistent
30 minutes
This cookie is set by Youtube and registers a unique ID for tracking users based on their geographical location
MR
persistent
5 months
This cookie is used to measure the use of the website for analytics purposes.
MUIDB
1
1 year
This cookie is used by MicroSoft and collects data about users of visits on multiple website. This data is used to analyze the efficiency of advertisements on websites.
This cookie is set by Facebook to deliver advertisement when they are on Facebook or a digital platform powered by Facebook advertising after visiting this website.
bscookie
1
2 years
This cookie is a browser ID cookie set by Linked share Buttons and ad tags.
fr
1
3 months
The cookie is set by Facebook to show relevant advertisments to the users and measure and improve the advertisements. The cookie also tracks the behavior of the user across the web on sites that have Facebook pixel or Facebook social plugin.
IDE
1
2 years
Used by Google DoubleClick and stores information about how the user uses the website and any other advertisement before visiting the website. This is used to present users with ads that are relevant to them according to the user profile.
MUID
persistent
1 year
Used by Microsoft as a unique identifier. The cookie is set by embedded Microsoft scripts. The purpose of this cookie is to synchronize the ID across many different Microsoft domains to enable user tracking.
pxrc
persistent
2 months
The purpose of the cookie is to identify a visitor to serve relevant advertisement.
rlas3
persistent
11 months
The cookie is set by rlcdn.com. The cookie is used to serve relevant ads to the visitor as well as limit the time the visitor sees an and also measure the effectiveness of the campaign.
skimCSP
persistent
11 months
This cookie is set by SkimResources. The cookie is used to record data on the visitor to optimize the relevance of the advretisements served to the users.
TapAd_DID
persistent
2 months
The cookie is set by tapad.com. The purpose of the cookie is to track users across devices to enable targeted advertising
TapAd_TS
persistent
2 months
The cookie is set by Tapad.com. The purpose of the cookie is to track users across devices to enable targeted advertising.
TDCPM
persistent
1 year
The cookie is set by CloudFare service to store a unique ID to identify a returning users device which then is used for targeted advertising.
TDID
persistent
1 year
The cookie is set by CloudFare service to store a unique ID to identify a returning users device which then is used for targeted advertising.
test_cookie
persistent
15 minutes
This cookie is set by doubleclick.net. The purpose of the cookie is to determine if the users' browser supports cookies.
VISITOR_INFO1_LIVE
1
5 months
This cookie is set by Youtube. Used to track the information of the embedded YouTube videos on a website.