Programming
Learn to Code & Build Amazing Projects
Whether you're a complete beginner or looking to advance your skills, I'll help you understand programming concepts and build real-world projects.
Who Is This For?
- Absolute Beginners: No coding experience? No problem! We'll start with the very basics.
- Students: Struggling with a computer science class? I can help you with homework and exam prep.
- Hobbyists: Have a passion project in mind? Let's create something together.
- Curious Learners: Want to understand how technology works or explore coding as a creative outlet? Perfect place to start your journey.
- Professionals: Looking to learn or transition into a tech career? I can create a customized learning plan for you.
Coding & Programming
What's the distinction between coding and programming you say? The two terms are often used interchangeably in everyday parlance but they both refer to distinct ideas; with Programming being the more encompassing of the two. An instructive analogy would be to think about the differences between typing and the art of writing, the former refers to the act of writing instructions for a computer to execute and the latter involves problem solving, synthesizing information, and critical thinking; And I teach both!
Why Programming?
Programming is a great outlet to express your creativity and to materialize your ideas. While many people think of programming as just a career path, it's actually infinitely useful for daily life; from automating repetitive tasks on your computer to organizing your digital life more efficiently.
Programming teaches you systematic reasoning and problem solving approaches that apply far beyond computers. Whether you're planning a budget, organizing a project, or thinking through any complex challenge, the logical thinking patterns you develop through programming become powerful tools for everyday decision making and problem solving.
Languages & Technologies I Teach
Scratch
Visual ProgrammingPerfect for absolute beginners - visual programming made fun!
Why Scratch? Drag-and-drop blocks make programming concepts crystal clear. Perfect for young learners or anyone new to coding.
Create: Animated stories, simple games, interactive quizzes, character animations
Python
Beginner FriendlyThe most beginner-friendly text-based programming language
Why Python? Clean syntax that reads like English. Powerful enough for data science and machine learning.
Create: Games, data tools, web scrapers, "AI" chatbots, automation scripts
Web Technologies
HTML/CSS/JSThe complete toolkit for modern web development
Why Web Tech? HTML structures, CSS beautifies, JavaScript brings life! Foundation of every website.
Create: Portfolio sites, landing pages, web games, weather dashboards
What We'll Cover
- Programming Fundamentals: Variables, data types, control structures, functions
- Problem Solving: Breaking down complex problems into manageable steps
- Data Structures & Algorithms: Arrays, objects, loops, and efficient coding practices
- Web Development: Building interactive websites and web applications
- Project-Based Learning: Create portfolios, games, and real-world applications
- Debugging Skills: Learn to identify and fix code issues effectively
Student Projects Showcase
🐄 🐷 🐎
Barnyard Animal Racer
Barnyard Animal Racer
A fun racing game where players choose their favorite farm animal and race against the computer. Features custom animations, sound effects, and a scoring system. Perfect introduction to game logic and sprites!
⚡ ⭕ ❌
Ultimate Tic Tac Toe
Ultimate Tic Tac Toe
A sophisticated twist on the classic game with a 3x3 grid of tic-tac-toe boards! Strategic gameplay where your move determines which board your opponent must play on. Features CPU opponent, game state management, and win condition detection.
🌍 📍 🎯
GeoGuesser Clone
GeoGuesser Clone
An interactive geography game using Google Maps API. Players guess locations based on street view images. Features scoring system, multiple rounds, and a leaderboard. Great for learning API integration!
💻 📺 🔧
Fallout Terminal Simulator
Fallout Terminal Simulator
A recreation of the iconic hacking mini-game from Fallout. Features authentic terminal styling, word puzzles, and progressive difficulty. Excellent for learning string manipulation and game logic!
🚀 👾 💥
Space Invaders Classic
Space Invaders Classic
A fully functional recreation of the classic arcade game. Features smooth animations, collision detection, power-ups, and increasing difficulty levels. Perfect capstone project for game development fundamentals!
What Students Say
"I went from knowing nothing about coding to building my own website in just a few months. The teaching approach made complex concepts easy to understand, and I always felt supported."
— Sarah, High School Student
"The project based learning really clicked for me. Instead of just memorizing code, I was building actual applications that I could show to employers."
— Mike, Career Changer
Learning Approach
My teaching methodology focuses on tangible, project-based learning. We'll start with the fundamentals and gradually build complexity through practical exercises and real-world projects.
Every student learns differently, so I adapt my teaching style to match your learning preferences, whether you're a visual learner who benefits from diagrams and flowcharts, or a kinesthetic learner who prefers tangible coding exercises.
- Possible First Plan: A typical first lesson might involve setting up your development environment, writing your first "Hello World" program, and understanding how code executes step by step.
- Tools We Use: We'll work with industry-standard tools like VS Code for writing code and GitHub for version control, giving you real-world experience.
- Project-Based Example: We might start with a simple calculator app, then enhance it with a user interface, add memory functions, and finally deploy it to the web for others to use.