Tag Archives: computer science

Computer Science and Technology Integration

Brain research tells us that learning really ‘sticks’ when activities are both meaningful to students as well as integrated in curriculum in an interdisciplinary approach. As well, students are motivated when they are actively discovering and investigating a problem.

computer science

Teach coding with Scratch to middle school and junior students to build computational thinking skills.

TechnoCode, the newest technology project developed by TechnoKids, was created specifically to spark an interest in computer science by engaging students. As they use Scratch to build programming skills, young learners construct a series of activities for kids. As game designers, they consider their users’ interests and abilities. They become authentic programmers who plan, code, and actually field test their unique creations.

The TechnoCode project is primarily a STEM project that teaches coding. However, the activities also integrate into other areas of curriculum including language arts, mathematics, social studies or science, visual arts, and music.

Computer Science

TechnoCode is an introduction to programming. The activities have students build algorithms that sequence commands, events, loops, and conditions. Use the project to target computer science learning outcomes. The project includes a detailed list of skills achieved in each Session, ideal as a teacher checklist for assessment.

Language Arts

The assignments in Session 1 and Session 4 can be integrated into curriculum as a language arts unit. In these assignments, students engage in visual storytelling. They create animated scenes and stories. To extend language arts learning outcomes, the concept of plot, setting, and characters is also applied when engineering games in Session 3 and 5.

Integrate coding into curriculum.

Integrate coding into curriculum.

Mathematics

Integrate TechnoCode into an existing problem-solving unit in Math class. The assignments are an ideal fit because coding requires mathematical and logical thinking. For example, placing sprites on the stage requires plotting ordered pairs, rotating objects involves knowledge of angles, and setting the size of sprites uses percentages. As well, logic is used to control when or if an action happens.

Social Studies or Science

Include The Session 4 Skill Review in TechnoCode as a creative way to showcase learning into another subject area. In this activity, students build an interactive diorama. It shows a scene from nature or a historical event that engages the viewer to click on objects to learn more. Complete the activity to have students share facts or create a simulation about a topic currently being studied. Samples provided include space exploration, tornado, and farming.

Visual Arts

Target visual arts learning outcomes with TechnoCode. Graphic design is interwoven throughout the activities. Students apply their creativity to paint or edit unique sprites and backdrops. They also apply their skills to engage the audience using visual elements. In addition, the Session 2 Extension Activity specifically has students draw artwork with a pen using code.

Music

Integrate TechnoCode into a music class. In the Session 3 Extension Activity, students invent an instrument. This activity is a fun way for students to express their musical talent.

programming

TechnoCode technology project teaches programming using graphical blocks.

Inspire your students to become coding ninjas with TechnoCode!

Teaching Ideas for Programming with TechnoCode

coding with Scratch

TechnoKids’ newest release is TechnoCode, a technology project that introduces coding with Scratch to elementary and middle school students. It is an ideal project for Grades 4 and up. Jam-packed with programming activities, TechnoCode sparks an interest in computer science. Step by step instructions explain how to build animations, stories, games, art, music, and simulations.

Empower students with real-world skills they can use in the workplace. The instructional materials in TechnoCode encourage students to think like programmers. Resources include sample videos to inspire imaginations, planning sheets with guiding questions to help design scripts, assessment tools to evaluate student work, and coding journal logs to reflect upon learning.

Ideas for Implementation

The TechnoCode project has students create animated scenes, construct mazes, broadcast stories, engineer games, design artwork, compose music, build a diorama, and more! The activities are suitable for any teaching situation. Select the option that works best for you and your students:

  • Coding Unit with Elementary Students: Assignments in Sessions 1-3 in TechnoCode are ideal for students new to Scratch. The activities are perfect for Grades 4 and up. Students design animations, create art, develop games, and compose music. The emphasis is on coding basics including how to build scripts, sequence commands, control action with if then conditions, and create simple loops. The activities focus upon directing movement, synchronizing sound, and understanding x and y coordinates.
  • Coding Unit with Middle School Students: Once students understand the fundamentals of coding in Sessions 1-3, they extend their learning in Sessions 4-6. The activities are ideal for students that understand the fundamentals and are ready for a challenge. The critical and computational thinking required is ideal for students in Grades 6-8. They produce a story, engineer a game, develop a treasure hunt, build a diorama, and remix a project. The emphasis is on having students manipulate the appearance of sprites, direct the timing of events with broadcasting, and create original artifacts using conditions, variables, and operators.
  • Scratch activities for kids.

    Build games using Scratch. Learn how to use variables to track the score.

  • Computer Science Course: TechnoCode has 25 assignments designed to ignite an interest in computer science. The focus is on thinking like a programmer. Each coding activity is divided into four parts – exploration, practice, freestyle, and reflection. Using a question and answer format, students discover the function of command blocks. Next, they follow guided instructions to build scripts. Afterwards, they apply their skills to complete open-ended challenges. Once a Scratch project is finished, students write a coding journal entry to reflect upon the experience.
  • Hour of Code: If you only have one class to teach coding there are many assignments in TechnoCode that can be used for this purpose. If your students are beginners, they can develop simple animations. Assignment 5 targets how to build a script, Assignment 6 explores directing movement, and Assignment 14 focuses upon changing the appearance of a sprite. If your students have existing knowledge of Scratch, the skill reviews in Sessions 2-5 are excellent challenges.
  • Coding Workshop Series: If you are running a workshop series as part of an after-school program or community event, then you will need to select assignments that fit the number of classes offered. As well, consider the age range and coding abilities of students.

Coding with Scratch is highly addictive and fun! Your students will develop a host of essential technology skills as they create unique games, interactive stories, animations, and more!

Add the A to STEM Education

Educators agree that STEM education is essential to prepare students for the challenges of the 21st century workforce. The skills they learn in science, technology, engineering, and math subject areas also develop vital skills necessary for success: critical thinking, creativity, problem solving, and collaboration. Although there’s quite a debate about whether the A for the arts needs to be added to STEM to make STEAM or if it’s already there inherently, it’s evident that fine arts, language, and music play a key component in a curriculum to prepare young people to face the complex challenges of the future.

steam career readiness

The Arts are a vital part of STEM education

Education Models for the Future

Traditional school curriculum segregates studies into separate subject areas. However, project-based learning is an instructional approach that blends subjects. Students are faced with an authentic, meaningful, real world challenge. And these are non-Googleable questions! Students investigate a problem and propose viable solutions in an interdisciplinary study. Technology is commonly used as a tool. Whatever skills are required to solve the problem – math, science, language arts – must be learned and mastered. Students need to be able to think innovatively, plan, create, and communicate the resulting project. Usually STEM subject areas are needed, and students build valuable job skills such as computational thinking, initiative, perseverance, and communication.

Where Do the Arts Appear?

To answer these ‘big’ project-based challenges, students need to integrate the arts. Creative thinking and design are a central part of innovation. Being able to imagine an outcome, visualize a product, or communicate an abstract idea requires artistic skills integrated with multiple STEM skills.

Here are a couple of examples of the arts integrated with STEM in the real world:

STEM Education requires the Arts

  • Product Design
    Designing an innovative product may require engineering, mathematical, and scientific problem solving. But it also needs an attractive appearance to make an emotional connection to consumers. These are artistic decisions.
  • Advertising
    When a new product is brought to the market, communication skills are essential. Advertisers excel in persuasive writing. In addition, the creation of new logos requires a knowledge of graphic design. The success of a venture often depends on artistic choices.
Arts and STEM education

Infuse the arts into STEM education.

The Arts in Computer Science

We’ve been working with Scratch recently to develop a STEM project, TechnoCode, that teaches coding skills. The students will learn programming skills as they make animations, games, or interactive stories.

Coding design decisions should be engaging so that the user who interacts with the finished product is intrigued and captivated. Also, artistic choices affect if the project is user friendly and fun to play. Some of the stylistic choices students need to make when programming include:

  • Drawing custom characters
  • Designing backgrounds
  • Adding sensory cues – motion, sound, visual – to build interest, express an idea, and hook the user
  • Creating “Game over” messages that encourage and entice the user to try again
  • Making scoring and timing decisions using aesthetic choices that appeal to players

The brainstorming, problem-solving, and decision making involved in programming demand innovation and ingenuity in design choices. To foster the trailblazers of tomorrow, STEM education needs to acknowledge and incorporate the arts.

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?