Tag Archives: using technology in the classroom

New Release! Programming Project for STEM Classrooms

In response to the recent spotlight on building STEM skills, TechnoKids is announcing the first of a new and innovative series of computer science technology projects designed to teach programming learning objectives.

Teach Coding

programming

Use Scratch and TechnoCode to teach programming skills

The first of these projects is TechnoCode, just released for junior and middle school grades. The focus of the all new TechnoCode project is to spark an interest in coding. Using Scratch, students become young programmers. They learn computational thinking as they construct a collection of scripts to develop animated scenes, mazes, interactive stories, and games. Additional activities challenge students to create artwork, compose music, construct a diorama, and more! Jam packed with fun programming activities, TechnoCode is ideal for students new to Scratch – a popular, free program that uses graphical blocks to teach logical reasoning.

Programming Fun

Through guided discovery and exploration, TechnoCode teaches students to build algorithms that sequence commands, events, loops, and conditions. After each activity, they complete coding journal logs to reflect on their learning, track their progress, express feelings, and celebrate successes.

coding and programming with Scratch

Scratch is a free program to teach coding developed by MIT. Graphic blocks are stacked to create scripts for animations, games, stories, and more!

In TechnoCode, students follow illustrated, step-by-step instructions to learn how to:

  • Use programming terminology and understand the role of a programmer
  • Code a scene with characters, a backdrop, movement, and sound
  • Build an animated aquarium
  • Design a one-of-a-kind maze game
  • Construct an animated story about a magical place
  • Plan and develop a unique game with timing and a scoring system

Learning is chunked and scaffolded: skills learned in each of the six sessions are reviewed and extended in following sessions. Challenges and extension activities offer optional enrichment opportunities. Junior and middle school teachers can elect to complete as many of the projects as time, grade level, and curriculum learning standards require.

programming with Scratch

Students learn computational thinking, reasoning, problem solving, and creativity as they build scripts.

Foster Digital Citizenship Skills

The collaborative element of Scratch is its online community.

To get inspired, Scratchers can browse a huge gallery of sample interactive stories, music, art, animations, and games. They can remix: start with a project someone else has coded and shared, and then add their own creative touches. When the remixed project is uploaded, Scratch automatically credits both the originator and the contributor, thereby promoting the essential skill of citing the source. The See Inside button on any shared Scratch project allows others to view the code to ‘see how it’s done’, an ideal learning opportunity. Finally, students can share their own work and invite ‘likes’ and comments.

Experiencing success and support of other budding programmers is a key ingredient to building enthusiasm for computer science.

Prepare Students for Jobs

Empower students with the essential, real-world skills they will need in the workplace of tomorrow. Both STEM and CTE – Career and Technical Education – highlight the value of preparing young people with technical as well as employability skills. Ideal skillsets include a diverse combination of higher-level thinking, technology, and interpersonal proficiencies. Teaching programming can do that. TechnoCode is a fun, challenging series of hands-on activities to master a foundational set of computer science standards. As they achieve success, students become enthusiastic, confident problem solvers – critical skills to make them “future proof”.

TechnoCode – STEM, CTE, and ICT Project to Integrate Programming

TechnoCode has everything an educator needs to teach beginning coding skills to students: a teacher guide and student workbook in pdf format, sample completed projects to inspire young imaginations, planning sheets with questions to help design scripts, coding journal logs for reflection, and assessment tools to evaluate student work. Hook tech-savvy young people. Equip your students with practical, creative, and authentic twenty-first century skills.

programming and coding

Coding Journals for Computer Science

coding journals

I’ve been having lots of fun learning to code with Scratch over the past month. It inspired me to write blogs about the benefits of teaching programming skills and computer science standards. But it also prompted me to ponder about teaching practices associated with coding. Many of the resources I researched suggested that students write coding journals or logbooks.

Some technology curriculum even incorporates learning journals as an essential component. A case in point is the Robotics unit of the Prince Edward Island Career and Technical Education Curriculum. Students write routine, specific journal entries and these are included in assessment.

Journal writing is a common task for primary students to build writing fluency. But journals can also be a powerful tool for learning programming, consolidating of coding skills, and self-reflection for young people in junior, middle school, and senior grades.

Guide Students to Reflect Upon Learning

Reflection can be difficult. Providing guiding questions can help students think about the coding experience. In TechnoCode, a STEM project by TechnoKids, coding journals log entries are part of the coding experience. Open-ended questions, rating scales, and checklists guide students to reflect upon their learning. It is valuable to include prompts about the design process, debugging, coding block usage, and attitude towards programming.

coding journals

Include guiding questions to help students reflect upon learning when using coding journals.

What to Use to Write a Coding Journal?

OneNote, Microsoft Word, and Google Docs are common tools with which students are familiar. The app used should be easily accessible for students at the beginning, during a coding class, or as an end of class activity. Anything that can generate a text file and can be kept open on the desktop will work. Students should be able to open the learning journal file as ideas come to them.

Why Write a Coding Journal?

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.

What to Write in a Coding Journal?

  1. Develop a learning plan
  2. Celebrate successes and new learning
  3. List problems, describe attempted solutions, and explain lessons learned
  4. Describe experiments tried to promote logical thinking and the scientific method
  5. Record creative ideas and inspirational thoughts to remember and tackle at another time
  6. Take notes of questions still unanswered
  7. Complete a self-assessment
  8. Respond to specific prompts, such as:
    • Write about something you still want to learn.
    • Outline a coding task that you found difficult.
    • Describe what you accomplished today.
    • How would you rate your final project?
    • What are your strengths in learning to code?

Next Steps to Coding Journals

Teachers who use coding journals make a convincing case for their value. There are still more issues to think about. Here are a few of them:

✓ Can the student share the journal with the teacher and/or peers?
✓ Should the teacher provide feedback to the thoughts in a student’s coding journal?
✓ Will the coding journal be part of the evaluation of the programming project?

Digital Citizenship and Scratch

digital citizenship Scratch

There are so many great things about Scratch: it teaches programming skills to kids, it’s fun and easy, and it’s free! Another fantastic feature is the Scratch online community. Students can browse completed projects, try tutorials, create interactive media, share, get feedback, learn from others, participate in discussion forums, and more! A bonus spinoff of this learning community is that students build essential digital citizenship skills as they interact with other Scratch programmers.

Scratch can be used offline, but there are so many benefits to joining the creative online community of Scratchers! If you are interested in digital citizenship and coding, TechnoCode has programming lessons that are the perfect fit.

Starter Projects

digital citizenship and Scratch

Scratch has an extensive gallery of sample animations, games, interactive art, music, and stories. New users are encouraged to view them, look at the basic code, and modify them. The code often has tips that explain what it does. Suggestions are given for what can be changed: add sprites to a story, devise more obstacles for a game, or add sound effects. This is a great way for students to create their own unique project yet experience success early in their learning.

Look at the Code

digital citizenship see inside

The See Inside button allows you to view the programming of a project. You can see how someone else’s project works, figure out the blocks needed to create a specific effect, add part of a project to your backpack, or remix it and save it as a new project.

Tutorials

Users new to Scratch can follow step-by-step, animated tutorials to make a project. Alternatively, download a set of illustrated, colorful activity cards and print them for easy to follow instructions.

Remix

The motto of Scratch is Imagine, Program, Share. Budding programmers can learn by downloading and modifying the work of others. Check out how many remixes there are of a sample project in the gallery – sometimes there are over 100 different versions of the original!

When it is uploaded, the remix of another creator’s project automatically gives credit to the original author and any others who contributed to it. Students are also encouraged to write something like “Based on […] by […]” Or “Thanks to […] for […]” In the Project Notes. Citing the source is an essential skill that students must master in any research work. Learning to acknowledge an author and avoiding plagiarism is a critical part of fostering sound digital citizenship.

Build Key Personal Skills

As young people learn to program, they learn to be innovative, build logical and computational thinking, and work collaboratively. These are all important life skills as well as fundamental competencies for the careers of the future.

Foster Digital Citizenship

Using the Scratch online community, students share their work, ask for help, exchange ideas and projects, and collaborate. As students view the work of others, they can click a star to ‘favorite a project’, click a heart to ‘love a project’, or leave a comment. This support boosts the concept of a community of creators who are working together and who encourage one another.

There’s also a set of Scratch Community Guidelines, a brief outline of common sense standards:

  • Be respectful
  • Be constructive
  • Share
  • Keep personal info private
  • Be honest
  • Help keep the site friendly

As students are building programming skills, Scratch can also help them to develop safe and responsible online practices.

Promote Digital Citizenship with Scratch Coding Lessons

TechnoCode, is a Scratch project with activities that emphasize digital citizenship. Lessons include instructions that guide students to share Scratch projects appropriately. Teach how to give credit to peers when remixing, cite the source of external resources, and comment responsibly. Moreover, their are many collaborative learning opportunities.

digital citizenship and Scratch

Teach digital citizenship by joining the Scratch community. Lessons in TechnoCode promote responsible behavior.

Computer Science Learning Standards

As educators, we agree that STEM education matters. The focus on science, technology, engineering, and math not only prepares young people for the jobs of tomorrow, but also builds the vital skills of design, logical thinking, problem solving, and trouble shooting. We recognize the need for students to develop computer literacy but more than just being confident users of technology, we want to encourage a culture of innovation. This has in turn generated a specific interest in computer science and programming as an essential component of the technology curriculum.

computer science scratch

Schools have recognized the need for students in all grades to develop a foundation in programming. The appearance of robotics in classrooms, coding clubs, and graphical, block-based programming languages such as Scratch, ScratchJr, and Blockly allow even primary students to develop an interest in being builders and creators of technology.

So now we’re committed to the value of computer science in our classrooms. But what exactly are the fundamental and critical skills that we should be teaching? A set of core guidelines can help teachers to develop computer science curriculum that introduces the fundamental concepts, engages students to develop an interest in coding, and fosters computational thinking, creativity, perseverance, collaboration, and all the other valuable skills that programming provides. Some schools, school boards, and states have written their own standards but if teachers don’t have a required set of learning standards, there are many resources available.

Computer Science Standards

Here’s a list of sites with computer science standards. Is there one that works for you? Or, combine ideas and create your own.

Computer Science Teachers Association

  • clear, user-friendly set of learning standards
  • 3 levels: k-6, 6-9, 9-12
  • Strands: Computational Thinking, Collaboration, Computing Practice and Programming, Computer and Communications Devices, Community, Global, and Ethical Impacts

International Society for Technology in Education (ISTE)

  • includes all areas of technology
  • recently edited to include Innovative Designer and Computational Thinker as two of seven strands, reflecting the significance of process, logical thinking, and breaking a problem into a sequence of steps

Texas Essential Knowledge and Skills (TEKS)

  • divided into elementary K-2 and 3-5, middle 6, 7, 8, and high school levels
  • programming and designing solutions first mentioned in K-2
  • high school includes specific standards for Computer Science, Game Programming and Design, Robotics Programming and Design, and many more

Next Generation Science Standards

  • search and download by level or topic
  • science-based, but includes Engineering, Technology, and Applications of Science citing the importance of computational thinking, breaking down problems into smaller parts, and real-world applications
  • international; referenced by robotics kits manufacturers such as Lego (Click on Educational Standards to see Common Core and NGSS correlation in this sample) and VEX IQ (VEX IQ Curriculum Education Standards lists learning objectives for its online units)

Prince Edward Island Career and Technical Education: Robotics

  • specific to robotics in Grades 10-12
  • samples of rubrics, rating scales, reflection logbooks, and learning journals

Of course there are many more computer science standards documents online. If you have one to add to the list, please let me know!

Scratch Learning Objectives

If Scratch is part of your curriculum, you may want to refer to the Scratch Skill Summary from TechnoCode. This assessment tool includes a checklist of learning objectives. They are categorized by the headings: applied technology, computer science, Scratch coding, graphic design, and digital citizenship. The document might spark some ideas for developing your own computer science standards.

Scratch learning objectives.

Scratch learning objectives. Checklist from TechnoCode, a TechnoKids STEM project.