Skip to content

jguida941/playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

I'm Bored

Coding Exercises Repository - boredom becomes code

A collection of coding exercises, challenges, and mini-projects I work on for fun. I take simple problems and turn them into more educational, visual, or interactive versions.

Projects

Project Description Stack
pin_extractor A positional word-length cipher algorithm with a PyQt6 step-through visualizer Python, PyQt6
number_generator A function that returns a string of numbers from 1 to n separated by spaces Python
med_data_validator Medical data validation utility Python
isbn_validator ISBN-10 and ISBN-13 validation utility Python
config_manager User configuration manager for managing settings like theme and notifications Python, PyQt6
instrument_inventory FreeCodeCamp instrument inventory project Python
planet_class Planet class demonstrating OOP with validation Python
email_simulator OOP email system simulator with users, inboxes, and message management Python
budget_app Budget tracker with OOP, mutation testing, and interactive learning CLI Python
salary_tracker Employee salary tracker with level-based tiers (In Progress) Python
game_char_stats_tracker Game character stats manager with property validation Python
media_catalogue Movie and TV series catalogue with validation, filtering, and PySide6 GUI Python, PySide6
mutant_assistant Mutation testing helper with test generation CLI (In Progress) Python
discount_calculator Discount calculator using Strategy Pattern with ABC Python
player_interface Game player movement with ABC and inheritance Python
polygon_area_calculator Shape calculator with Rectangle/Square inheritance (methods version + properties version) Python
linked_list Singly linked list implementation with add and remove operations Python
hash_table Hash table with collision handling using nested dictionaries Python
binary_search Binary search algorithm (TODO) Python
bisection Square root calculator using bisection method (binary search for continuous values) Python
quicksort Divide and conquer sorting: pick pivot, split smaller/larger, recursively sort Python
selection_sort Find minimum in unsorted portion, swap with first unsorted element, repeat Python
screenshot_organizer Scans Mac desktop for screenshots, moves them to a folder, and optionally deletes them Python
web_scraper Extract data from websites using CSS selectors (CLI + PyQt6 GUI) Python, PyQt6

Lessons

Lesson Description Stack
algorithms Big O, data structures (list vs deque), maps, hash maps, and sets Python
classes_objects Classes, objects, methods, attributes, inheritance, name mangling, ABCs, polymorphism, and dataclasses Python
error_handling Debugging and exception handling examples Python

Interactive Lessons

Each lesson folder includes an interactive_lessons/ directory with a PySide6 app for visual, hands-on learning.

# Algorithms - hash tables, Venn diagrams, list vs deque visualization
cd python/lessons/algorithms/interactive_lessons && python main.py
# Classes & Objects - class diagrams, inheritance visualization, attribute inspector
cd python/lessons/classes_objects/interactive_lessons && python main.py
# Error Handling - try/except flowcharts, debugger simulator
cd python/lessons/error_handling/interactive_lessons && python main.py

LeetCode & DSA

Structured practice with lessons, practice problems, and interactive visualizations.

View all problems & progress →

Problem Description Difficulty
two_sum Find two numbers that add up to a target using a hashmap Easy
add_two_numbers Add two numbers represented as linked lists in reverse order Medium
longest_substring Longest substring without repeating characters Medium

Learning Labs

Interactive PyQt6 application for visualizing algorithms step-by-step.

cd python/leetcode && python launch_learning_labs.py

About

This is my "I'm bored" repository. When I find an interesting coding problem or exercise, I like to:

  • Solve the core problem
  • Add detailed comments and educational versions
  • Build visual tools to understand the algorithm
  • Over-engineer it for fun

Each project has its own README with documentation, usage instructions, and explanations.

About

Python learning playground - web scraper (CLI + PyQt6 GUI), algorithms, data structures, and mini-projects. Includes sorting algorithms, linked lists, hash tables, and various coding exercises.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages