This post is not sponsored by anyone and I receive nothing for these recommendations. I make them because I like the tools. My recommendations have been tried with high school aged students and older.
What tools do you recommend for learning to program?
As a high school computer science teacher, I often get this question from other teachers as well as friends and family members: What tools do you recommend for learning to program? I have learned that the people asking either have absolutely no experience programming or they have the basics down and want to learn more or teach others. As a result, the recommendations that I give most often are:
- For those with no experience: Codecademy
- For teachers and those with some experience: Trinket
Codecademy is great for most people who just want to get a taste for programming. It is designed as a tutorial platform for beginners, and provides lessons as well as an introduction to several different programming languages.
For fellow teachers who want to bring programming into their classrooms and those who have some of the basics down and want to dig deeper into projects, I recommend Trinket because it is:
- Easy: Trinket is an “all-in-one coding environment”
- Free: Trinket is free to use and gives you access to open (also free) educational resources
- Inclusive: Trinket allows users to program on whatever device they have access to whether it’s at school, a public library, or home.
To begin with, Trinket is easy to use, with a clean and simple user interface. Trinket works very well for people who might not want to download a text editor like atom, worry about having the correct system setup, or work in terminal. I have been using Trinket in CS1 for HTML5 and CSS, and in CS2 for Python, for over three years now. One of the reasons I keep coming back to it is because some of my students work on iPads, some work on laptops, and some borrow school laptops. Trinket makes it easy for people to learn from any device as long as they have access to their account via the Internet. This is a great tool, especially for learners without consistent access to the same device.
In my CS2 class, I use the textbook Python for Everybody by Dr. Charles Severance. This textbook can be found on the Trinket website along with interactive trinkets to guide learners along the way. I agree with the Trinket team that Python is a great first language . Having said that, Trinket also has Think Java: How to Think Like a Computer Scientist by Allen B. Downey & Chris Mayfield on their site for people to work through. These high-quality open educational resources are important for those of us who are educators because they can save us a great deal of time. As a result, instead of developing content, teachers can focus on supporting student learning in their classrooms.
Finally, I appreciate the Trinket team’s commitment to creating inclusive learning environments and opportunities for all learners. Through the development and support of open education resources like the ones I mentioned above, the company provides a variety of learning experiences for a wide range of learners. As an added bonus, the team at Trinket has translated some of their offerings to several languages! The Spanish version is especially useful to me since many of my family members prefer to learn in Spanish. Switching back to English, here is an example of one of Trinket’s interactive challenges – try it to learn a little bit about programming in Python.
On a related note, If you’re interested in learning more about computational thinking, sign up for this upcoming CIRCL webinar series: Computational Thinking for Teachers & Parents. The webinars will take place Jan. 30, Feb. 6, and 13. See the above link for more information and to register.
How to cite this work
CIRCL Educator posts are licensed under a Creative Commons Attribution 4.0 International License. If you use content from this site, please cite the post and consider adding: "Used under a Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/)."
Suggested citation format: [Authors] ([Year]). [Title]. CIRCLEducators Blog. Retrieved from [URL]