0%

Student Name's Coding Projects

Hi, I'm Student Nickname! I enjoy building robots and using coding to solve real-world problems. Starting with block-based coding helped me understand how to control my robots and test new ideas. Later, I wanted to learn something more advanced, so I began using Python. Python showed me how to write my own programs and think in new ways. Combining robotics and Python makes me excited to create projects that can help others and make learning fun. I hope you enjoy seeing what I have built!

Portrait of Student Name

Project 1: LEGO Robotics Catapult

LEGO Robotics Catapult

I learnt how to use LEGO Technic parts to create different designs. Using the coding concept of conditionals (if-else) together with various sensors, I coded my designs to do certain actions only if a specific condition is met. One of my favorite builds was a catapult that launches if the touch sensor is activated!

Project 1: LEGO Robotics Catapult
Project 2: Automated Shopping Center Door
Project 2: Automated Shopping Center Door

Automated Shopping Center Door

Using an ultrasonic sensor, I re-created the door of a shopping center that opens automatically when someone stands within range. This project combined block‑based coding with robotics to solve real-world problems!

Pygame SpeedGrammar Game (speed_grammar.py)

Description:

In this exciting project, I created a game called SpeedGrammar using Pygame. In SpeedGrammar, players race against the clock to decide if sentences are grammatically correct. I built the game with different screens and animations, and it taught me so much about object-oriented programming (OOP). I organized my code by creating separate classes for the game screen, the scoreboard, the instructions, and even the countdown timer. It was like building a cool machine where every part worked perfectly together!

Designing the user interface was one of the best parts—placing text, images, and handling key presses made the game interactive and fun. I learned how to use loops to keep the game running until the right answer was given or time ran out, and I used if statements to check whether a sentence was correct. This process taught me how decisions in code work just like choices in a real puzzle.

SpeedGrammar also challenged me to think quickly and work with time. The game speeds up as you progress, so you must pay attention to every word and punctuation mark, just like a true grammar detective! I even added different levels where the difficulty increases, and every correct answer makes the game a bit faster. This project not only improved my coding skills but also made me appreciate the importance of grammar and clear communication.

Overall, working on SpeedGrammar was an awesome adventure that combined logic, creativity, and the thrill of a race against time. I felt like a real game developer, solving puzzles and building a game that helps people learn grammar in a fun and interactive way!

Diagram:

SpeedGrammar Project Diagram

Trinket:

Pygame Project: SpeedMath (speed_math.py)

Description:

In this exciting project called "SpeedMath", I used Pygame to create a fast-paced math quiz game. The game shows a math equation on the screen and challenges you to decide whether the equation is True or False before time runs out. I designed the game using object-oriented programming (OOP), which means I organized the code into classes for the game screen, the scoreboard, and even the instructions—just like putting together a cool LEGO set!

The best part is that the game tests your quick math skills. For example, an equation like "3 + 5 = 8" will appear, and you have to press Y if you think it’s correct or N if you believe it’s wrong. I used loops and if-else statements to make sure the game runs smoothly and to update the score automatically.

I also added a timer so that every second counts—this makes the game both challenging and fun. Creating SpeedMath taught me not only how to code but also how to think fast and solve problems under pressure. It was a fantastic way to mix creativity with logic, and I felt like a real game developer when I saw my ideas come to life on the screen!

As a young Singaporean, I love learning new things and exploring how technology works. SpeedMath is my way of making math exciting and showing that even hard subjects can be turned into fun games.

Diagram:

WhatAnimal Project Diagram

Trinket:

Pygame Project (pygame_project.py)

Description:

In this project, I created a game called "WhatAnimal?" using Pygame. I love animals, so I wanted to design a game where each turn shows a picture of a different animal for you to guess! I used my passion for animals and my curiosity about coding to make this fun challenge.

To build this game, I used object-oriented programming (OOP) to organize my code into clear, manageable parts. I made separate classes for the game screen, for drawing the animal images, and for keeping track of scores and instructions. It was like building with LEGO blocks – each piece worked on its own, but together they formed an awesome game.

In "WhatAnimal?", each round shows a different animal, like a cat, dog, elephant, or even a zebra! You get to choose the right animal from four options, and there’s a timer to add a bit of excitement. This made the game fun and fast-paced, and it helped me learn how to handle key presses and events to make the game interactive.

Overall, "WhatAnimal?" is not just a guessing game – it’s a playful adventure that shows how coding can be creative and exciting. I hope you have as much fun playing it as I did making it!

Diagram:

WhatAnimal Project Diagram

Trinket:

Pygame Project: WhatCountry? (pygame_what_country.py)

Description:

In this project, I created a game called "WhatCountry?" using Pygame. The idea came from my curiosity about the flags of different countries and my love for learning about cultures as a young Singaporean. I wanted to make a game that challenges players to recognize which flag belongs to which country, while also teaching me more about coding and design!

To build this game, I used object-oriented programming (OOP) to organize my code into clear, manageable parts. I created separate classes for the game screen, the flag drawing functions, and even the scoreboard and instructions. It was like building a set of LEGOs—each small block worked on its own, but together they formed a complete and exciting game.

In "WhatCountry?", each turn displays a flag that I draw using simple, solid-color stripes. To make sure even white parts are visible, I outline each flag with a thin black line. I included at least seven different flags, such as those for France, Italy, Germany, Poland, Ukraine, Russia, and Romania. The game then asks a question like, "Is this the flag of France?" If you think the flag is correct, you press Y; if not, you press N. There’s even a timer that adds a bit of excitement, making sure you answer quickly!

Along the way, I learned how to design user interfaces that display important information like scores, turn numbers, and timers. Handling key presses and events taught me how to make the game interactive and responsive. I enjoyed combining coding with creativity, and it was super fun to see my ideas come to life on the screen.

Overall, "WhatCountry?" is not just a quiz about flags—it’s an adventure that takes you around the world and shows you how programming can be both educational and entertaining. I hope you enjoy playing it as much as I enjoyed making it!

Diagram:

Diagram for Pygame WhatCountry? Game

Trinket:

Simple Division (simple_division.py)

Description:

This project shows how to calculate the remainder when one number is divided by another. It’s a great way to practice using arithmetic and the modulo operator (%).

Diagram:

simple_division.png

Trinket:

Leap Year Checker (leap_year.py)

Description:

This program checks if a given year is a leap year by using if-else statements to handle divisibility by 4, 100, and 400. It demonstrates how to make decisions in code based on multiple conditions.

Diagram:

leap_year.png

Trinket:

Time Breakdown (time_breakdown.py)

Description:

In this project, I used math to change a huge number of minutes into days, hours, and minutes. I used division and remainders to see how many full days there were and what was left over. This is important because it shows how math can help us understand time by breaking it down into parts we can read.

Diagram:

Diagram for Time Breakdown

Trinket:

Weight Units Converter (weight_units_converter.py)

Description:

In this project, I learned how to convert weight from pounds to kilograms by multiplying by a conversion factor. This is important because it teaches us how to change one unit of measurement to another so we can compare different types of data.

Diagram:

Diagram for Weight Units Converter

Trinket:

Divisibility Tester (divisibility_tester.py)

Description:

I have built a Python module named **divisibility_tester.py** to check if a user-input number is divisible by both 3 and 5 using floor division and modulo.

Diagram:

Diagram for Divisibility Tester

Trinket:

Digital Root Calculator (digital_root.py)

Description:

This project calculates the digital root of a number using a neat formula. It shows how math can simplify big numbers into one digit and reveal hidden patterns!

Diagram:

Diagram for Digital Root Calculator

Trinket:

Sentence Reverser (sentence_reverser.py)

Description:

This project takes a sentence as input and reverses the order of the words, demonstrating string manipulation and basic list operations in Python. It's a simple yet effective way to understand how to break down and rebuild text data.

Diagram:

Diagram for Sentence Reverser

Trinket:

Remainder Calculator (remainder_checker.py)

Description:

In this project, I learned how to take two numbers as input and use the modulo operator (%) to find the remainder when the first number is divided by the second. This helps us see how numbers can be broken into parts, which is useful in many math puzzles.

Diagram:

Diagram for Remainder Calculator

Trinket:

Even Checker (even_checker.py)

Description:

In this project, I wrote a program that asks for a number and checks if it is even by using the modulo operator to test divisibility by 2. This project taught me how to make decisions in code based on simple math tests.

Diagram:

Diagram for Even Checker

Trinket:

Currency Breakdown (currency_breakdown.py)

Description:

In this project, I learned to use division and remainders to split a dollar into different bills. I figured out how many twenties, tens, fives, and ones make up the total. This is important because it shows how math helps us handle money and make change easily.

Diagram:

Diagram for Currency Breakdown

Trinket:

Temperature Converter (temperature_converter.py)

Description:

I have built a Python program that converts temperature in fahrenheit to temperature in degree celsius using a defined formula.

Diagram:

Diagram for Temperature Converter

Trinket:

Prime Number Guesser Game (prime_number_game.py)

Description:

This game challenges you to decide if a number is prime by using if-else statements. It’s a fun way to reinforce the concept of prime numbers and divisibility in code.

Diagram:

prime_number_game.png

Trinket:

Simple Login System (login_system.py)

Description:

This project is a simple login system that checks if the entered username and password match preset values. If they do, the user is logged in; otherwise, they must try again. It demonstrates how if-else statements handle multiple outcomes based on user input.

Diagram:

login_system.png

Trinket:

Anagram Checker (anagram_checker.py)

Description:

In a word game, players needed to determine whether two words were anagrams or not. I created a Python program named anagram_checker.py that takes in two user inputs for words and checked if the provided words were anagrams. An anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once.

Diagram:

Diagram for Anagram Checker

Trinket:

Even/Odd Checker (even_odd_checker.py)

Description:

In this project, I designed a program that checks if a number is even or odd using if-else statements. This project teaches me how to make decisions in code based on conditions.

Diagram:

Diagram for Even/Odd Checker

Trinket:

Cube Number Puzzle Challenge (cube_number_checker.py)

Description:

In this project, I wrote a program that checks if a number is a perfect cube by calculating its cube root and comparing it to the original number using if-else statements. This shows how decisions in code help solve math puzzles.

Diagram:

Diagram for Cube Number Puzzle Challenge

Trinket:

Right Triangle Checker (right_triangle_checker.py)

Description:

In this project, I used if-else statements to check if a triangle is right-angled. I asked for three sides, sorted them, and used the Pythagorean theorem to decide if the triangle was right. This is important because if-else lets the program choose different actions based on the input.

Diagram:

Diagram for Right Triangle Checker

Trinket:

Factorial Calculation(factorial_calculator.py)

Description:

I organized a math competition among my friends, and one of the challenges involved calculating the factorial of a given number. I created a Python script that took a user input and calculated the factorial of the given number.

Diagram:

Diagram for Factorial Calculation

Trinket:

Simple Temperature Classification System (temperature_classification.py)

Description:

I designed a weather application. I developed a Python program that takes in the user's input for the current temperature in Celsius and classifies it into different categories: "Freezing," "Cold," "Moderate," and "Hot."

Diagram:

Diagram for Simple Temperature Classification System

Trinket:

Movie Theatre Ticketing System (movie_ticketing.py)

Description:

I designed a simple movie theatre ticketing system that uses if-else statements to determine the ticket price based on the age of the customer. If the customer is under 18, they get the child ticket price, else they get the adult ticket price.

Diagram:

Diagram for Movie Theatre Ticketing System

Trinket:

Prime Number Guesser Game (prime_number_game.py)

Description:

This game challenges you to decide if a number is prime by using if-else statements. It’s a fun way to reinforce the concept of prime numbers and divisibility in code.

Diagram:

prime_number_game.png

Trinket:

Calculator Factory Production Tracker (factory_tracker.py)

Description:

In this project, I tracked the production rate of a calculator factory that follows an arithmetic progression. I calculated the number of calculators produced on day 30 and the total after 30 days. This shows how loops can handle repeated calculations for real-world scenarios.

Diagram:

factory_tracker.png

Trinket:

Library Inventory (inventory_progression.py)

Description:

In this project, I managed an imaginary library's inventory using a for loop to calculate the number of books on day 20 and the total after 20 days. This project shows how for loops make it easy to perform repetitive tasks.

Diagram:

Diagram for Library Inventory

Trinket:

Count Vowels and Consonants in a String (count_vowels_consonants.py)

Description:

In this project, I used a for loop to count the number of vowels and consonants in a given string. The loop iterates through each character in the string, checking if it is a vowel or consonant, and updates the counts accordingly.

Diagram:

Diagram for Count Vowels and Consonants

Trinket:

Password Strength Checker (password_strength.py)

Description:

This project assesses the strength of a user-provided password based on criteria like length, presence of uppercase/lowercase letters, numbers, and symbols. It's a practical application of string methods and conditional statements to implement security principles.

Diagram:

Diagram for Password Strength Checker

Trinket:

Toy Store Inventory (toy_store.py)

Description:

This project calculates the inventory of a toy store over 12 days. Starting with 25 toys, the stock increases by 3 each day. The code computes both the number of toys in stock on day 12 and the total toys accumulated over the 12 days. This demonstrates the use of variables, loops, and arithmetic operations to track and summarize inventory changes.

Diagram:

python_toystore.png

Trinket:

Fruit Stand Inventory (fruit_stand.py)

Description:

In this project, I pretended to run a fruit stand and used a for loop to add a set number of fruit each day for 18 days. This is important because for loops help us repeat a task without writing the same code many times.

Diagram:

Diagram for Fruit Stand Inventory

Trinket:

Coffee Shop Inventory (coffee_shop_inventory.py)

Description:

In this project, I pretended to run a coffee shop and used a for loop to add a set number of coffee beans each day for 7 days. This is important because for loops help us repeat a task without writing the same code many times.

Diagram:

Diagram for Coffee Shop Inventory

Trinket:

Blooming Flowers (garden_progression.py)

Description:

In this project, I helped manage a garden by using a for loop to calculate the number of blooming flowers on day 25 and the total after 25 days. This shows how repeating a calculation can predict growth over time.

Diagram:

Diagram for Blooming Flowers

Trinket:

Store Inventory Management System (inventory_progression.py)

Description:

In this project, I managed a store's inventory that increased daily using a for loop. I calculated the number of units on day 15 and the total after 15 days. This is important because it shows how for loops help us perform repetitive tasks easily.

Diagram:

Diagram for Store Inventory Management System

Trinket:

Initials Generator (initials_generator.py)

Description:

This project extracts the initials from a given full name, showcasing string splitting, iteration, and character manipulation. It's a practical example of processing user input to extract specific information.

Diagram:

Diagram for Initials Generator

Trinket:

Shopping Cart (shopping_cart.py)

Description:

This project simulates a basic shopping cart experience, allowing users to add items, view their cart, and calculate the total. It demonstrates the use of data structures (like dictionaries or lists) to manage inventory and user selections, along with fundamental arithmetic operations.

Diagram:

Diagram for Shopping Cart

Trinket:

Movie Theater Attendance (movie_theater_attendance.py)

Description:

In this project, I used a for loop to count how many people went to the movies each day for 12 days. I started with a base number and added more every day. This is important because for loops let us do the same calculation over and over quickly.

Diagram:

Diagram for Movie Theater Attendance

Trinket:

Number Pyramid (number_pyramid.py)

Description:

In this project, I created a number pyramid using nested for loops. The outer loop controls the number of rows, while the inner loop prints the numbers in each row. This project demonstrates how to use loops to create patterns and shapes in Python.

Diagram:

Diagram for Number Pyramid

Trinket:

Palindrome Checker (my_palindrome_checker.py)

Description:

In this project, I used a while loop to reverse a word and check if it is a palindrome. The loop goes through every letter until the word is reversed. This is important because while loops let me repeat actions until they’re done, which is useful for checking words.

Diagram:

Diagram for Palindrome Checker

Trinket:

Countdown Timer (my_countdown_timer.py)

Description:

In this project, I built a countdown timer that uses a while loop to count down from a starting number until it reaches 1. This is important because it shows me how to repeat an action until a condition is met.

Diagram:

Diagram for Countdown Timer

Trinket:

Fibonacci Sequence Generator (fibonacci_generator.py)

Description:

This project generates the Fibonacci sequence up to a specified number of terms. It demonstrates the use of loops and variables to calculate each term based on the sum of the two preceding numbers, a classic example in programming.

Diagram:

python_fibonacci.png

Trinket:

ATM Simulation (atm_simulation.py)

Description:

This project simulates a simplified Automated Teller Machine (ATM) with functionalities like checking balance, depositing, and withdrawing money. It highlights conditional logic, user input handling, and managing a virtual account balance.

Diagram:

Diagram for ATM Simulation

Trinket:

Number Guessing Game (my_number_guessing_game.py)

Description:

In this project, I built a guessing game using a while loop that keeps asking for a guess until the answer is right. The game tells me if my guess is too high or too low. This is important because while loops let me repeat actions until a condition is met, which is perfect for games.

Diagram:

Diagram for Number Guessing Game

Trinket:

Coding Olympics 2024

I participated in the 2024 Coding Olympics by Science Centre Singapore from 30 July to 4 August 2024 and achieved a Top 20 finish in Category B. I met so many new friends and learnt a lot about coding!

Coding Olympics 2024