scratch
"With Scratch, you can program your own interactive stories, games, and animations — and share your creations with others in the online community. Scratch helps young people learn to think creatively, reason systematically, and work collaboratively — essential skills for life in the 21st century." (https://scratch.mit.edu/about)
How Do I Get Started with Coding?
Getting Started with Coding Tip Sheet
Getting Started with Scratch: Ideas, Tutorials, Guidebooks and Resources
Coding Lessons and Challenges
Assessment Ideas
Coding Journals
"Coding journals or learning logs can also be a powerful tool for learning programming, consolidating coding skills, and self-reflection.
There are many benefits to support writing a coding journal. In addition to the basic journal writing learning objectives of improving written communication, coding journals can:
Articulate ideas
Students write about their creative plans, list coding steps, document their work, and/or set realistic goals. Rather than jumping right in and starting to write code, journals can be a tool to plan and organize animations, stories, or games.Build coding skills
When natural language is used to express the actions that are to be translated into coding language, understanding and retention is enhanced. As they write in their own voice, students build a firm foundation for coding terminology. Listing both the plain text and the programming algorithms can become a personal ‘how to’ dictionary to be referenced as needed.Problem solve
Debugging is a routine part of learning to code. When students are stuck, they can turn to a coding journal to figure out a solution. Writing about the problem forces the programmer to slow down their thinking and use self-talk to describe the issue and trouble shoot. Each part of the code needs to be checked in a logical manner. This process has been referred to as rubber ducking. The term came from a programmer who carried a rubber duck around with him. Whenever he had a problem, he would explain it to the duck. In listing the code line by line, he would often find the error and fix it. In this case, the journal becomes the rubber duck to which the author is ‘speaking’.Reflect and track progress
A programmer can write down all the attempts made to solve a problem in a journal. When the journal is reviewed afterwards, it represents a progress report of all the knowledge gained and growth achieved. This is authentic evidence of learning. Written communication of ideas can make a student become more thoughtful about their new skills. A journal can be a form of self-assessment.Express feelings
The process of coding frequently leads to challenges and trouble shooting. In a coding journal, students can be encouraged to reflect critically on their feelings, whether it is hope and enthusiasm for new projects or detailing frustrations with algorithms that don’t ‘work’. Writing about obstacles can defuse the feelings and modify perspective.Promote collaboration
Instead of private writing, coding journals can be composed using social media. Blog posts and tweets encourage commenting. As students help each other they build responsible digital citizenship skills while developing programming skills at the same time. Positive support from peers and input from teachers forms connections, fosters teamwork, and boosts confidence."
https://www.technokids.com/blog/technology-skills/coding-journals-students/
Coding & Social-Emotional Learning
Learning to code is a process that requires students to become patient and persistent problem-solvers. They will routinely make mistakes and have to find and resolve them. This has the potential to frustrate and deter some learners. As such, this is a great opportunity to focus on social-emotional learning and in particular, recognizing sources of stress and coping with challenges and maintaining positive motivation and perseverance. Here are self-assessment tools you can use with your students for each of the SEL expectations.