By Pati Ruiz
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:
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:
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.
The second reason I recommend Trinket is because it is an open-ended coding tool that also provides free content and lessons. In my CS1 class, for example, students explore HTML5 and CSS. After a few lessons on HTML5 and CSS, students use Trinket to practice what they have learned. They see how they need to link HTML files to CSS files, and they discover how these interact with one another. When my CS1 students begin to learn HTML, they “remix” a trinket that I created to guide the lesson. My students are able to use the trinket that I created as a guide, and they begin to use what they learned to change the trinket and make it their own. Ownership and giving students something do are essential parts of learning. With Trinket, students are the owners of their own code and they can see immediately how editing code changes their webpages. As Dewey described in Democracy and Education (1916), “doing is of such a nature as to demand thinking, or the intentional noting of connections; learning naturally results (Ch. 12).” Trinket allows the student to be actively involved and engaged in the learning process.
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.
Check out these trinket lessons and how teachers Meg Ray and Paul Kostak are using Trinket.
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.