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.
By Pati Ruiz, Sarah Hampton, Riley Leary, Judi Fusco, and Patti Schank
For the last few months, we’ve been reading, thinking, and talking about computational thinking (CT) in preparation for three Webinars for Teachers and Parents on the topic. The webinars are on January 30, February 6, and February 13. Go to the link above to sign up for the webinar and get all the details.
A lot of the websites and articles we reviewed about computational thinking for teachers gave us only a brief introduction to it. We’ve read about what researchers have been doing and how they have been thinking about CT, and using their research, we’ve been trying to think about what CT means for and looks like in the classroom. We also know that it’s a new topic for parents, and that parents may want to think about what it means and what it can look like at home.
The term computational thinking was made popular in a paper in 2006 by Jeannette Wing, and since then, researchers have expressed different understandings and definitions of the term. There wasn’t a common understanding of what it was then, and exactly “What is it?” is still a fair question today. Some people equate computational thinking with coding, but others do not. We agree that computational thinking is a much broader set of skills than just coding or programming, and that it’s not the same thing as computer science. Computational thinking skills include abilities that help people use computers to solve problems. Being able to program is one way of interacting with a computer, but there are other ways that one can work with a computer, and computational thinking is needed in more than just programming classes. For example, when researching for a history project, students may need to use data to strengthen their arguments. Students are using CT when they locate, evaluate, analyze, and display data. Learning to program is an advantage, in terms of learning to think in a new way, but we believe that programming is not the only way to incorporate CT into classes. We’ll explore these things in our webinars.
The first session will be an overview of CT. The second session will be geared toward what CT can look like in K12 classrooms. At our third session––a special webinar for parents or other caregivers––we will think about projects and practices that can be done at home with kids to help them learn and think in this new way. Come to the webinars to learn and think with us about computational thinking and what it looks like in K12 classrooms and at home! Please share this information with interested colleagues and parents as well. We hope to see you there!