Empowering Educators and Students:
A Review of Python Programming Resources
Resources for Strengthening Educators' Coding Skills
Python Resources
Improve Your Python Skills with Trinket.io, PyFlo, CMU CS Academy, and CodingBat
Here are four resources you can use to help you with Python, including one new one that I have not tried before, but looks promising. The four resources are:
- Trinket.io
- PyFlo
- CMU CS Academy’s Exploring Programming course and
- CodingBat Python
What follows are a little bit about their strengths, limitations, and how each can support your learning.
Resource Overviews
1. Trinket.io
Overview: Trinket.io is a web-based platform for running Python code, with no setup required. It supports projects that use interactive graphics, like turtle graphics, which can help make coding concepts more tangible.
Strengths:
- No Setup Required: Trinket runs in a browser, making it easy to access and use.
- Turtle Graphics for Visual Learning: Supports basic graphics and interactive projects, which is useful for exploring functions and loops in a visual way.
- Easy to Share Code: Trinket allows sharing projects via a link, helpful for getting feedback or sharing code with others.
Limitations:
- Limited Advanced Features: Trinket doesn’t support complex libraries, so it may not be sufficient for advanced Python work. If you are using this with students who are novices, this won’t matter.
- No Collaboration Tools: Lacks features for real-time collaboration, so it may not support team-based learning.
2. PyFlo
Overview: PyFlo is a visual programming tool that uses flowcharts to organize python concepts. I have not used this with kids – I just found it in the past couple of weeks – but it seems like it would be helpful for beginners, and I am thinking of using some of the features with some of my students.
Strengths:
- Syntax-Free: Allows users to learn logic and sequence without worrying about syntax errors.
- Focus on Logical Thinking: Helps develop computational thinking, which is essential for all programming.
- Visual Debugging: PyFlo’s flowchart style makes it easier to spot logic issues.
Limitations:
- Limited Transition to Syntax-Based Coding: May not fully prepare users for text-based Python coding.
- Restricted Problem Complexity: PyFlo’s environment may not support more complex or abstract coding problems.
3. CMU CS Academy Exploring Programming Course
Overview: CMU CS Academy’s Exploring Programming course is a structured, online curriculum aimed at introducing Python through interactive exercises. It’s designed for high school classrooms, with a focus on gradual progression and teacher support.
Strengths:
- Structured Curriculum: Provides a clear path from beginner to intermediate Python concepts.
- Interactive Exercises: Uses animations and interactive tasks to reinforce concepts.
- Teacher Support Tools: Offers tools to track progress, view solutions, and manage student work.
Limitations:
- Flexibitily The course is structured for classrooms, so it may feel restrictive if used independently.
- Challenging for Novices: There is a learning curve and I find myself doing quite a bit of direct teaching up from. Some familiarity with basic programming concepts are helpful.
4. CodingBat Python
Overview: CodingBat is a free, web-based platform that provides targeted Python exercises designed to build fluency in syntax and logic through immediate feedback.
Strengths:
- Immediate Feedback: Instant feedback on code submissions, which helps reinforce learning and correct mistakes quickly.
- Focused Practice: Exercises are grouped by topic, so you can work on specific skills like loops or strings.
- Simple Browser-Based Format: Easy to use with no setup required.
Limitations:
- Not an instructional tool: Lacks explanations or tutorials, so it may be challenging for those new to Python.
- No interactivity: CodingBat doesn’t offer interactive graphics or project-based learning, which may limit engagement.
Comparing the Resources
Each resource offers different strengths:
- Trinket.io and PyFlo are hands-on and interactive, with Trinket focusing on text-based coding and Turtles and PyFlo on logic of Python with flowcharts.
- CMU CS Academy’s course is well-suited for structured classroom learning and gradual skill-building.
- CodingBat provides focused practice for improving specific skills but lacks instructional support.
Best Fit and Gaps
All four resources make Python accessible. However, Trinket.io and PyFlo don’t provide real-time collaboration features, and CodingBat lacks instructional content, which may require supplementing with other resources.
Conclusion and Recommendations
Each of these resources can help you build Python skills, depending on your preferred style and learning needs.
- Maybe Start with PyFlo for an Introduction.
- Use Trinket.io for th e Turtles.
- Follow and of the CMU CS Academy Courses for MoreStructured Learning.
- Use CodingBat for Targeted Skill Reinforcement.
References
- Parlante, N. (n.d.). CodingBat Python. Retrieved from CodingBat
- Workman, K. (n.d.). Happy Coding p5.js Tutorials. Retrieved from Happy Coding
- CMU CS Academy. (n.d.). Exploring programming: A comprehensive high school curriculum. Retrieved from CS Academy
p5.js Resources
Improving p5.js Skills with Happy Coding and The Coding Train: A Guide for Teachers
For teachers looking to improve their coding knowledge in p5.js, look at Happy Coding and The Coding Train. I love p5.js for introducing javascript. It is a useful tool for introducing visual and interactive programming, and both resources cover essential concepts and offer coding projects for all skill levels.
Resource Overviews
Happy Coding’s p5.js Tutorials
Overview: Happy Coding offers tutorials on p5.js that range from basic to advanced topics. These tutorials can help learners develop an understanding of p5.js concepts step-by-step.
Strengths:
- Clear Explanations: Happy Coding provides detailed, straightforward explanations, suitable for those new to p5.js or those looking to build on existing knowledge.
- Self-Paced, Written Content: The tutorials are text-based, allowing you to progress at your own pace and revisit sections as needed.
- Focus on Creative Applications: The tutorials encourage experimentation with projects that include animations, graphics, and simple games.
- Community: Happy Coding offers a blog, a community forum, and is on Mastodon.
Limitations:
- Videos: There are videos, but this is a text-based resource, so it may not be good if you prefer videos for your learning.
2. The Coding Train’s p5.js Track
Overview: The Coding Train provides video tutorials on p5.js. The Coding Train covers topics from basic shapes and colors to advanced applications like simulations and generative art.
Strengths:
- Visual, Video-Based Format: The Coding Train’s video format is useful for learners who prefer seeing concepts applied in real-time.
- Wide Range of Topics: The Coding Train covers both introductory and advanced topics, making it suitable for gradual skill development.
- Community Support: The Coding Train has an active community on platforms like Discord and GitHub, offering support and opportunities to share work.
Limitations:
- Fast-Paced: The videos can move quickly at times, and I love Daniel Shiffman, but sometimes the videos can be painful to watch.
- Limited Written Reference Material: For learners who prefer written content, the video format may not be as accessible, and supplemental resources may be needed.
Comparing the Two
Happy Coding and The Coding Train complementary resources. Happy Coding is a structured, written resource with step-by-step guides. The Coding Train uses a videos and offers a wider range of creative projects.
Best Fit and Gaps
Both resources make p5.js concepts accessible.
Conclusion and Recommendations
Both Happy Coding and The Coding Train are effective tools for learning p5.js. Here’s how to make the most of them:
- Happy Coding for Basics.
- The Coding Train for Advanced Project Ideas
References
- Workman, K. (n.d.). Happy Coding p5.js Tutorials. Retrieved from Happy Coding
- Shiffman, D. (n.d.). The Coding Train p5.js Track. Retrieved from The Coding Train