Making and Learning with Python

The Python programming language is a popular language for learners for a number of good reasons.

1. Readability

One of the hallmarks of Python as a programming language is its exceptional readability. This characteristic makes it a perfect fit for maker learning environments, where understanding and accessibility are paramount. With Python, the code you write almost reads like a description of what it’s going to do, making it much more intuitive to beginners than many other languages.

Python uses simple syntax and common English words in its coding structure, which reduces the learning curve significantly for new programmers. The logic of the language closely mimics the logic we use in our everyday problem-solving processes. The result is code that is clean, easy to read, and simple to understand.

This feature of Python is particularly valuable in maker learning, which is all about learning by doing, experimenting, and creating. Python’s readability facilitates this hands-on approach because learners can quickly understand the logic of the code and see how it connects to the outcome. They can grasp the purpose of each line of code, how the pieces fit together, and how to modify the code to achieve different results.

Moreover, the transparency of Python code makes it easier for learners to debug their projects and learn from their mistakes, an essential part of the maker learning process. By demystifying the coding process, Python empowers learners to take full ownership of their projects and their learning journey.

2. Community

One of the defining features of Python is its vibrant, creative, and ever-expanding community. This global collective of Python enthusiasts includes people of all skill levels using Python for a wide array of applications, from data analysis to web development, from machine learning to game design, and beyond. But, what truly sets the Python community apart is its spirit of collaboration and a shared commitment to making programming accessible to all. This unique community environment has been a pivotal factor in Python’s success.

For maker learners, this community is an invaluable asset. Learning a programming language can sometimes be a daunting task, but Python’s friendly and supportive community helps make this journey more engaging and less intimidating. Community members actively contribute to a wide variety of open-source projects, sharing code, tutorials, and insights that can help newcomers get their bearings and experienced users expand their skills. Whether it’s solving a tricky bug, learning a new library, or understanding a complex algorithm, there’s likely a Python user out there who has faced the same challenge and is willing to help.

Furthermore, Python’s community encourages a culture of “learning by doing” – a philosophy that aligns perfectly with maker learning. There are countless Python projects available that maker learners can contribute to or draw inspiration from for their own creations. In addition, many Python users leverage the language’s simplicity and flexibility to develop innovative tools and applications that fuel the maker learning movement.

But perhaps the greatest benefit of this thriving community is that learning Python can become a truly social experience. Python users regularly connect through online forums, social media, local meetups, and global conferences. These interactions facilitate knowledge exchange, foster collaboration, and inspire creativity, reinforcing Python’s role as a fun, dynamic, and inclusive language.

3. Extendability

Thanks to its dedicated community, Python has seen the development of countless libraries and modules – extensions that you can seamlessly import into your code to enhance its functionality. These add-ons are like tools in a toolbox, equipping Python users with an incredible array of capabilities to solve problems, streamline tasks, and spur innovation. For maker learning, this extendability is a game-changer.

Python’s vast ecosystem of libraries covers virtually every domain you could imagine. From NumPy and SciPy for scientific computing, to Matplotlib and Seaborn for data visualization, to TensorFlow and PyTorch for machine learning, to Pygame for game development – the list is exhaustive. These libraries abstract complex tasks, enabling maker learners to focus on creating and learning rather than getting bogged down in the intricacies of coding everything from scratch.

Our projects will introduce many of these powerful libraries, demonstrating their use in real-world applications. But this is just the tip of the iceberg. We encourage you to explore as many libraries as possible, as each one holds unique potential for your creative endeavors.

Perhaps you’ll use OpenCV to develop a computer vision project, or Flask to create a web application. Or maybe you’ll leverage NLTK or SpaCy to dive into natural language processing. The possibilities are boundless, limited only by your curiosity and creativity.

The extendability of Python isn’t just about using existing libraries, either. As you grow more proficient with Python, you may find yourself developing your own modules and contributing back to the Python community.

In the spirit of maker learning, we enthusiastically encourage you to share your unique projects with our community. Whether you’re designing a new game, analyzing scientific data, automating a task, or crafting a complex simulation, your creations not only showcase your skills and creativity, they also contribute to the collective learning and inspiration of our maker community.

Getting Started with Python

Before you start building projects with Python, you might want to learn the basics of the language! Here are some of the best courses in Python that our Maker Teachers have discovered so far:

Codecademy

Codecademy is perfect for anybody looking to learn the fundamentals of Python programming. What we like most about Codecademy’s approach is the almost ceaseless challenge to use the code that is being introduced. You wont find endless hours of videos here – you’ll be coding from the very first step. Another thing to love about Codecademy is that the instruction and the code editor are built into the same page, which means the ‘making’ and the ‘learning’ happen together seamlessly – so of course we love Codecademy!

Team Treehouse

Did you push back in horror when we said you wont find endless hours of video on Codecademy? Well then, maybe Treehouse is a better platform for you. Treehouse offers a similar range of courses to Codecademy but throughout the courses you will jump between video instruction and problem solving. The preferred method of learning is really down to the learner; whilst some might feel that the videos slow down the pace of learning, others might find the added human element of listening to and watching an instructor makes the content more engaging and easier to understanding.

Datacamp

DataCamp has a slightly different focus to Codecademy and Team Treehouse. It is a course designed to build the skills necessary for data analysis. This is perfect for STEM teachers who are looking to see the connection between Python and their own subjects. Even better, DataCamp is completely free for educators.

Maker Coding

Get Maker Learning with Python

When you’ve learned the basics, you’ll probably be asking “Where can I show off my newly developed awesomeness?”

There are hundreds of places that you can practice and create with Python. Below I’ve listed some of my personal favourites.

1. REPL.IT

REPL.IT is one of the best tools for educators using Python that I’ve come across. Not only does it allow you to code Python (and a long list of other languages) directly in your browser, it allows you to do this collaboratively.

2. Trinket

Trinket is a great tool for sharing examples and explanations of programs. It doesn’t have the same level of collaboration as REPL.IT, but it allows you to interlace text, video and code into a single page. 

3. Google Colaboratory

Much like Trinket, Google Colaboratory allows you to create documents that contain both regular text and code making it great for creating explanatory documents for students. Whilst the finished document won’t look as nice as it will on Trinket, Google Colab has the massive upshot that the files exist in your Google Drive, and being a Google product it plays well with Google Classroom. I use Google Colab to create explanatory documents that are a little bit interactive, and then I share the document as an assignment on Google Classroom.