Elementary Programming Hackathon | CMSC 105 Elementary Programming - Fall 2024

Elementary Programming Hackathon

Welcome to the Elementary Programming Hackathon! This is your chance to apply what you’ve learned, collaborate with classmates, and create something fun and meaningful. Let’s see how creative you can get with Python!

Outline:

Event Details

Resources

Allowed

Not allowed

THEME 1: Automate Your World and Everyday Tools

Automate Your World and Everyday Tools theme combines the practicality of automation with the creativity of building everyday tools. It empowers students to develop Python programs that enhance productivity, streamline workflows, and tackle common challenges in daily life. From automating tedious tasks like reminders to creating functional utilities like budget trackers, to-do lists, and calculators, this theme encourages innovation with a focus on real-world applications. By blending automation and utility, students can explore how coding can transform repetitive or mundane tasks into efficient, enjoyable experiences, making technology an integral part of simplifying and improving their routines.

Password Generator

A tool to generate strong, random passwords based on user-defined criteria (e.g., length, inclusion of special characters).

Key Features:

Expense Tracker

A tool to log daily expenses and generate a summary report.

Key Features:

To-Do List Manager

A simple script to manage a to-do list, adding, removing, and marking tasks as completed.

Key Features:

Grocery List Manager

Students build a program to manage a grocery shopping list.

Key Features:

Mileage Tracker

Calculate fuel efficiency based on miles driven and fuel used.

Key Features:

Expense Splitter

A program to split bills among friends.

Key Features:

Birthday Reminder

A program to store and remind users of upcoming birthdays.

Key Features:

Habit Tracker

Track daily habits and mark them as completed.

Key Features:

Calculator

A utility that performs arithmetic operations.

Key Features:

THEME 2: Game On

The Game On theme invites students to unleash their creativity by designing and building text-based games that entertain, challenge, and engage. Whether crafting a thrilling adventure story, coding a classic guessing game, or simulating a competitive game like Rock, Paper, Scissors, this theme encourages problem-solving and interactive storytelling. By combining logic, user input, and Python programming fundamentals, students can create games that test skills, deliver fun experiences, and bring their unique ideas to life. “Game On” is all about making learning enjoyable while demonstrating the versatility and power of programming in an imaginative and playful way.

Hangman Game

Create a text-based Hangman game.

Key Features:

Math Practice Game

A program to generate random arithmetic problems (addition, subtraction, multiplication) for practice.

Key Features:

Text-Based Adventure

An interactive story where players navigate a world by making choices (e.g., “Go north or south?”).

Key Features:

Simple Trivia Game

A quiz game with multiple-choice questions.

Key Features:

Rock, Paper, Scissors with Score Tracking

A more involved version of the classic game where the program keeps track of the score over multiple rounds.

Key Features:

Word Scramble

A game where the player unscrambles a jumbled word.

Key Features:

Blackjack

A simplified version of the card game Blackjack.

Key Features:

Battleship

A grid-based guessing game where the player tries to “hit” a hidden ship.

Key Features:

Tic-Tac-Toe

A two-player game where users take turns marking spaces on a 3x3 grid.

Key Features:

Text-Based Slot Machine

A game where players pull a lever to spin a slot machine and win based on matching symbols.

Key Features:

THEME 3: Data Exploration

The Data Exploration theme empowers students to uncover insights and tell stories through data. By analyzing and visualizing datasets, students learn to transform raw information into meaningful patterns and trends. This theme combines programming fundamentals with critical thinking, as students explore topics ranging from movie ratings to weather patterns or sales data. Whether calculating statistics, identifying correlations, or creating visual representations like bar charts and line graphs, Data Exploration demonstrates the power of Python as a tool for understanding the world. It’s an opportunity to blend creativity, curiosity, and technical skills to make data come alive.

Movie Ratings

Overview:
This dataset contains information about a collection of popular movies, including their titles, genres, and IMDb-style ratings. It can be used for data analysis, visualization, or building simple movie recommendation tools.

Content:

  1. Movie
    • Description: The title of the movie.
    • Type: Text/String
    • Examples:
      • “Inception”
      • “The Godfather”
      • “Frozen”
  2. Genre
    • Description: The genre or primary category of the movie.
    • Type: Text/String
    • Examples:
      • “Sci-Fi”
      • “Animation”
      • “Drama”
  3. Rating
    • Description: The IMDb-style rating for the movie (out of 10).
    • Type: Numeric (Float)
    • Range: 7.5 – 9.3
    • Examples:
      • 8.8
      • 7.9
      • 9.2

Potential Analysis

  1. Genre Analysis: Analyze the distribution of movies across genres.
  2. Rating Insights: Explore high-rated movies and their genres.
  3. Visualization: Create bar charts or pie charts to show the number of movies per genre or average rating by genre.
  4. Recommendations: Identify top-rated movies within a specific genre.

Data:
movie_ratings.csv

Groundhog Day Forecasts and Temperatures

Context:
Thousands gather at Gobbler’s Knob in Punxsutawney, Pennsylvania, on the second day of February to await the spring forecast from a groundhog known as Punxsutawney Phil. According to legend, if Phil sees his shadow the United States is in store for six more weeks of winter weather. But, if Phil doesn’t see his shadow, the country should expect warmer temperatures and the arrival of an early spring.

Data:
groundhog_day_weather.csv

80 Cereals

Nutrition data on 80 cereal products

Context:
If you like to eat cereal, do yourself a favor and avoid this dataset at all costs. After seeing these data it will never be the same for me to eat Fruity Pebbles again.

Content:
Fields in the dataset:

Data:
cereal.csv

UFO Sightings

Context:
This dataset contains over 80,000 reports of UFO sightings over the last century.

Content:
There are two versions of this dataset: scrubbed and complete. The complete data includes entries where the location of the sighting was not found or blank (0.8146%) or have an erroneous or blank time (8.0237%). Since the reports date back to the 20th century, some older data might be obscured. Data contains city, state, time, description, and duration of each sighting.

Data:
ufo_sightings.csv

Nutrition facts for Starbucks Menu

Context:
Starbucks is an American coffee chain founded in Seattle.

Content:
This dataset includes the nutritional information for Starbucks’ food menu items.

Data:
starbucks_menu_nutrition_facts.csv