Teaching Python

We're two middle school teachers learning and teaching Python

2024 Holiday Wishlists and Gift Ideas

Top Tech Gifts for CS Teachers and Coders (Holiday Edition)

As computer science teachers and coders, we’ve combined our passions on the Teaching Python Podcast to bring you this curated list of tools and gadgets. Whether you’re looking for something practical for the classroom or a fun gadget to spark creativity, these holiday must-haves are perfect for CS teachers (like Kelly) and sofware engineers (like Sean). Let’s dive into the best gifts that inspire learning and innovation!

1. Nanoleaf Shapes Hexagons Smarter Kit (Kelly's Pick)

These smart light panels are a favorite of mine for creating a tech-friendly and inspiring atmosphere in the classroom or workspace.

  • Why we Love It: Turning off the fluorescent lights and putting on colorful, dynamic patterns instantly changes the mood. They’re also a great conversation starter with students, setting the stage for coding and design projects.
  • Customizable and Interactive: The colors and patterns can be adjusted to fit the lesson or activity. Students love the interactivity, and it’s a fun way to connect design with technology.
  • Great for STEM Inspiration: These panels are perfect for sparking discussions about circuits, energy usage, and smart tech, making them both practical and engaging for teaching.

If you’re looking to add some creativity and energy to your classroom, these light panels are a must-have!

Sean's Take: I love these in both the classroom and the office because create dynamic art that soothes and inspires. As one of my last projects before I made the transition from teaching back to development, I built two "Geoleaf" open-source RGB light kits. So if making is more your speed, give the Geoleaf a shot.

2. KeyChron K8 Wireless Mechanical Keyboard (Sean's Pick)

Mechanical keyboards like this one from KeyChron feel great to type on, and if you get the one with clicky switches, you can even annoy your teaching partner from across the room. Or so I'm told.
KeyCHron Keyboard

  • Why we Love It: If you have to write a lot of code or text, a mechanical keyboard gives you a better feel for the letters and lets you type faster. Although laptop keyboards have gotten a lot better over the years, there's nothing like having a full size keyboard for writing code.
  • Super-personalized: Mechanical keyboards are a super deep rabbit hole of customization. There are custom key sets, hot-swappable switches, updates for firmware, and even built-in wrist rests on some models.
  • Space-saver: Sometimes it's nice to have a numeric keypad on your desk, but most of the time it just takes up space. With a "tenkeyless" design (or TKL), you can save several square inches on your desk, which is pretty handy for teachers that doen't have a lot of room to work with.

Kelly's Take: Oh man,there is nothing I miss more about Sean not being in the classroom than the sound of him clacking on his keys as he gets into coding—it’s like having a caffeinated woodpecker right next to me. 🤣 Personally, I’m more of a laptop keyboard fan, but if you code as much as Sean does, I can definitely see the appeal of a mechanical keyboard!

3. Playdate Handheld Console (Kelly's Pick)

This quirky, retro-inspired handheld console comes in bright yellow, fully equipped with a small hand crank on the side and a black and white screen. It's currently backordered but we hope it makes it in time for the holidays.Playdate Handheld Console

  • Why we are Excited About It: The built-in software development kit (SDK) opens up endless possibilities for teaching programming. Students can design and code their own games, making the learning process hands-on and engaging.
  • Unique Features: The crank is such a fun and unexpected addition—it immediately sparks curiosity and invites creative thinking. It’s the kind of feature that makes students excited to experiment and personalize their projects.
  • Playful Learning: This console brings a lighthearted approach to programming, showing students that coding can be fun, creative, and far from intimidating. It’s a great way to inspire even reluctant learners.

Sean's Take: When I first saw this, I got excited that I could use the hand crank to keep it powered during a Florida hurricane. It doesn't do that. (maybe if you get it up to a few hundred RPM??) However, it does do something cooler than that -- you can use it as an analog controller! This looks like so much fun and this little yellow dynamo has some great specs behind it. I'd love to play with the SDK for this.

4. Logitech MX Master 3S (Sean's Pick)

I've had a Logitech mouse on my desk for many, many years, and this one by far is my favorite. Some people prefer a trackpad, but I'm not one of them. Give me a mouse any day of the week.

  • Why we Love It: It's very ergonomic, tracks smoothly on just about anything, and the scroll wheels just go forever forever. This one is rechargeable and lasts for weeks between charges. It also connects to up to 3 different devices, including your phone or tablet.
  • Lots of customization: In addition to the regular scroll wheel, the MX Master 3S has a horizontal scroll wheel for your thumb, which you can use to easily scroll sideways. Let's face it, sometimes we all cheat and have Python lines more than 88 characters wide. 😂
  • Ergonomics are for professionals: Having a good working setup is what allows you to be a sustainable coder. It's like good posture in front of the classroom. You'll feel a lot better with a thoughtful, comfortable setup. Hint: check out the Logitech MX vertical mouse if you have wrist problems.

Kelly's Take: Kelly's Take: I’m not much of a mouse person—compact setups are more my style—but my sons are convinced this mouse is the secret weapon for Minecraft greatness. If it helps them build their virtual mansions or chicken farms faster, who am I to argue?

5. reMarkable 2 Tablet (Kelly's Pick)

As someone who’s been using the reMarkable 1 for years, I can say this tablet has been one of my all-time favorite tools for so many reasons—and the reMarkable 2 is only better.
Remarkable 2

  • Why I Love It: It feels just like writing on paper, but with all the benefits of digital organization. I use it for everything: sketching out algorithm examples, drafting lesson plans, handwriting to-do lists, and even reading without distractions. It keeps me productive and focused in a way no other device has.
  • Perfect for CS Teachers: Whether I’m brainstorming classroom ideas or explaining abstract coding concepts visually, the lightweight and portable design makes it ideal for both personal and professional use.
  • Bonus Features: No notifications, no apps—just pure focus. It’s the perfect antidote to distraction, and I love how it helps me stay in the zone when planning or teaching.

If you’re like me and love the feeling of handwriting with the efficiency of digital tools, the reMarkable is a must-have.

Sean's Take: I was just playing with one of these over the weekend and I'm still impressed with how natural it feels to write on the screen. They really nailed the texture so it feels like paper. I even got to try out the new reMarkable Paper Pro, which has a COLOR display. WOOO!

6. Amazon Q Developer

One of the quieter AI coding tools out there is Amazon Q Developer from AWS. Maybe it's got a smaller marketing budget? I've been using it most of the year to help me quickly write Python and Terraform code. It works in VS Code, the AWS console, and even the command line.

  • Why I Love It: The free and pro versions both have some nice ethical features for coding. The models can tell you when your code is similar to open-source code that may be protected under a license. Your data goes to your own AWS account for processing, and you can even get some really great enterprise-grade security features when you pay for the pro version.
  • Great for building understanding: One of my favorite features is that you can highlight some code, right-click on it, and send it to Q to be explained to you. This even seems to work on languages that are not officially supported for code completion, like enterprise ABAP code.
  • Data analysis?: I haven't tried this out yet, but it looks like one of the latest enhancements helps you write SQL queries for your data. This idea of taking plain language prompts and turning that into data analysis code is pretty powerful and one that many AI companies are chasing very hard right now.

Kelly's Take: I’ll admit it—I had to Google this one. Sean always seems to be in the know about these tools, but you know how much I love anything AI-related. This definitely sounds like a winner! Ethical coding features and the ability to explain code? Sign me up for exploring what it can do.

7. LEGO Creator 3-in-1 Arcade Set (Kelly's Pick)

As someone who already owns the cranking roller coaster set, I can’t resist adding this tech-inspired LEGO set to my classroom! It’s a fantastic way to bring hands-on creativity and engineering exploration to life.

  • Why I Love It: The mix of arcade games, drones, and a working roller coaster train makes it an instant hit with students. Even though this one can’t be automated, the tech-inspired details on the coaster, like the arcade video game consoles, really stand out.
  • Classroom Use: I’ve used this set to explore the basics of mechanical engineering and creative design. It’s a great screen-free activity that still ties into discussions about how technology works and evolves.
  • Packed with Fun: The model includes playful accessories like toy cell phones, a selfie stick, video game controllers, and even a trophy—perfect for sparking imaginative play and storytelling in class.

This set isn’t just for fun—it’s a tool for engaging students in conversations about how their favorite technologies are built and inspiring the next generation of engineers and designers.

Sean's Take: LEGO! What more can I say? other than "Added to cart."

8. Rich library for Python

Sure, this one's open-source and free, so it's not technically shopping. But I've been falling in love with Rich for creating Python command line tools lately. Not only can you create colorful interfaces, but you can render Markdown text in the terminal, create sections or panes, and even create beautiful progress bars.

  • Why we love it: A good command line tool is fast, easy to develop, and can communicate so much to the user. But plain text by itself is pretty boring, especially when you have to wait for things like APIs to respond. Adding progress bars, prompts, and beatiful logs spices everything up.
  • Works with Modern Python: There are wrapper functions for your iterables, decorators, and even a Rich handler for your logging output (just trust me)
  • Bonus libraries: If you want to make your command line even more interactive, check out the sister project to Rich, Textual.

Turn this:

rich.png

Into this:

rich-progress.png

Kelly's Take: his one’s new to me, but anything that makes Markdown better and command-line tools more fun is a win for me! Adding color, progress bars, and clean logs could make even the most boring terminal tasks feel engaging. Definitely worth a closer look!

9. Kasa Smart Plugs (Kelly's Pick)

These smart plugs are high on my Amazon wishlist for the classroom. They’re a simple but powerful way to introduce students to the Internet of Things (IoT) while making my teaching setup more efficient.

  • Why I’m Excited About Them: I plan to use them to control lamps and gadgets in the classroom without leaving my teaching area. It’s another opportunity to engage students in discussions about automation and smart technology.
  • Hands-On Learning: Students can experiment with voice commands or app-based control, making the technology feel accessible and relevant.
  • Real-World Applications: These plugs are perfect for teaching coding concepts like automation while sparking discussions about IoT safety and cybersecurity.

They’re practical, tech-savvy, and sure to become a favorite gadget in my classroom!

Sean's Take: Kelly knows I love anything to do with smart homes and automation. What I love about these specific plugs for teaching is that they also have energy monitoring, which means you can collect a lot of data about how your devices use energy, visualize that, and spark some genuine inquiry about how we use electricity in our homes.

10. GRID-IT Accessory Organizer (Kelly's Pick)

I picked up a smaller version of this organizer at a PyCon conference a few years ago, and I’ve been hooked ever since. This upgraded version offers a larger surface area, making it even more practical for my teaching and tech needs.

  • Why I Love It: It’s been a game-changer for keeping all my chargers, cables, and adapters neatly organized. It ensures I have everything I need at my fingertips.
  • Classroom Ready: As a CS teacher, we deal with so many cables, chargers, and small gadgets like USB drives, microcontrollers, and accessories. This organizer is a game-changer for keeping everything in one place and staying prepared for any teaching situation.
  • Practical and Durable: No more digging through a tangled mess of cords—this organizer keeps everything in place and easily accessible. Plus, its sturdy design has stood the test of time.

If you’re a teacher or tech enthusiast always on the move, this is one upgrade you’ll appreciate.

Sean's Take: As you can imagine, I have a LOT of gadgets floating around in my backpack. So I love having organizers like this one. In fact, I would have added this to my list, but Kelly beat me to it!

11. Python Programming Desk Mat (Kelly's Pick)

This Python Programming Desk Mat is a must-have forteaching and for helping the kids (and teachers) key Python concepts right at your fingertips.

  • Why We Love It: No more endless searches or flipping through textbooks—just glance down to find Python syntax, data types, and control structures clearly laid out. It’s a productivity booster for any coder!
  • Comprehensive and Convenient: Perfect for beginners learning Python or professionals needing quick reminders. The mat doubles as a desk protector and reference sheet, saving space while keeping your desk organized and efficient.
  • Durable and Easy to Maintain: Its easy-to-clean surface ensures your workspace stays fresh and professional-looking, even after hours of coding. And they look great on the students' desks too!

If you’re looking for your students to code smarter, not harder(or with AI), this desk mat is a practical and stylish addition to your setup!

12. LEGO Icons PAC-MAN Arcade (Kelly's Pick)

Yes, another LEGO, I love LEGOs in the classroom! This LEGO Icons PAC-MAN Arcade set is a nostalgic trip back to the 1980s, combining the joy of LEGO building with the charm of retro gaming.

  • Why We Love It: Recreating an iconic PAC-MAN arcade cabinet in LEGO form is just plain cool. From the rotating PAC-MAN and ghosts to the mechanical maze, it’s a perfect blend of design and interactivity. The 4-way joystick, illuminated coin slot, and adjustable game score display make this a must-have for fans of vintage games and LEGO alike.
  • A Build for All Ages: Whether you’re taking time for yourself or gifting it to your favorite Computer Science teacher, this set is guaranteed to bring smiles and memories.

If you’re looking for a project that combines creativity, nostalgia, and a bit of geeky fun, this LEGO set is a perfect pick!
Sean's Take: LEGO! What more can I say? other than "Added to cart."