Below, I walk you through nine of my favorite tools and exercises to engage students in learning computer science.
International Computational Thinking Challenge (November). The key concepts of computational thinking are included (Patterns, Algorithms, Abstractions, and Decomposition). You may select the challenge by students’ ages (i.e., Cadet - ages 12-14). To prepare for the challenge, you may have your students complete prior challenges and/or quizzes. Solutions to the problems are provided as is the rationale.
Observation notes (when my assistant principal visited our class):
“Problem solving and thinking are many times difficult to observe and score high in but the Bebras Challenge activity was perfect for both. The highlight to me was how hard the students worked on the challenges. The fact that they were failing and having to go back and make changes to improve solutions and the excitement they had the whole time is something I wish I could copy in every classroom.”
Scratch is a great way to introduce coding to students. Scratch is appropriate for a wide range of ages (k grad-level students). The platform allows for storytelling using block-based coding. The visual representation of the code helps students develop fundamental knowledge of important coding concepts. Scratch is also fun because its interface compares the program to a play - starting positions, changing scenes, sounds, costumes, etc.).
Snap! - coding with or without Finch Robots. Finch Robots from BirdBrain Technologies (BirdBrain) can help bring the students’ code to life! There is a cost ($99 per robot/ 10% discount for educators). I was able to access the loan program first (no cost). Then, we were able to purchase for STEM Camps (I am able to house the robots outside of camp).
Try to find some type of manipulative if the Finch robots are not accessible. Anything that helps with hands-on coding would be perfect! (Other examples: Micro:bit, Circuit playground express, Raspberry Pi, Vex, and so much more!)
As a result of my attending a training session, my classroom received a set of Ozobots for free. They are fun little robots you can program by drawing colored lines as instructions or with Ozobot block-based coding language. One major point I want to emphasize about this discovery and addition to my classroom was that I received these robots by participating in training. I suggest being aware of various professional development trainings and opportunities. “STEM money” may be available in your district or local funding sources. Also, I would strongly encourage you to share your resources with your colleagues.
There are various programming languages and various levels of difficulty. Some of my students’ favorites include the following:
So many options are available, with various levels of challenges and languages! New activities and tutorials are constantly being added. In addition to the activities, videos, tutorials, and testimonials are available.
Nearpod is an excellent platform to engage students, whether you are introducing new topics or reviewing for a test. You can upload existing Google slides and add interactive slides. You are able to add links to various websites, create fill-in-the-blank activities, matching activities, and short-answer options. A Time to Climb is a favorite of my students! It is an interactive game where students choose a character and answer questions you have created. As the students answer correctly and quickly, they will climb the mountain. It is so engaging that the students often ask to play a Time to Climb multiple times.
PB & J (Exact Instructions Challenge). Video and In-Class Activity (decomposition) - Exact Instructions Challenge - YouTube
If possible (no peanut allergies), it is fun to have the students write down instructions to make a peanut butter and jelly sandwich (prior to watching the video). Then, I follow the instructions exactly as written to make a PB&J sandwich. It is both hilarious and delicious as the students get to eat their sandwiches.
Muddy City (algorithms) - Muddy City Instructions
Minimal Spanning Trees activity. Students work in small groups to solve a real-world challenge. The activity is very fun, competitive, and meaningful. Students may come up with their own examples and have other students follow the instructions (i.e., how to tie your shoes).
Problem Solving Process - Code.org Lessons
Python is a great option to introduce students to a text-based programming language with many fun and to use/learn libraries. I like to provide my students with additional opportunities and depth of instruction. Also, students are able to see how knowing one language may help them learn another programming language. Coding Rooms Course - Coding Rooms and Carnegie Mellon Computer Science Academy - CMU CS Academy are two options to consider when selecting engaging Python content.
By incorporating other concepts, students not only have a variety of instruction but also learn other life skills. Learning Blade and EverFi help provide additional learning opportunities. Next Gen Personal Finance (Financial Literacy Questions & Interactives) - Next Gen Personal Finance provides a wealth of information. As an educator, you may select to incorporate an entire unit or select specific lessons. In addition, you may simply add the “Question of the Day” to begin each class.
In the end, I just want to continue to engage and instruct my students. By offering a variety of activities, a majority of the students will be reached and encouraged to continue their studies.
Business Education Teacher
R. C. Edwards Middle School
Central, South Carolina (School District of Pickens County)