Tag Archives: code

Coding in Classrooms

What is Coding?

Coding is a set of instructions given to a computer to produce different kinds of output. Learning to code involves a variety of  competencies that can be introduced or developed in K-12 classrooms across the curriculum. The Applied Design Skills and Technologies curriculum includes introducing block or visual programming languages beginning at grade 6. Many teachers incorporate activities using physical and digital ‘block code’ from a much earlier age.These activities can help build the essential competencies leading to build computational thinking (link to SD61).


Why teach coding in your classroom?

Learning Coding Remotely

Coding is included in the Applied Design Skills and Technologies Curriculum (ADST) in BC. Outside of teaching students job-marketable skills,  coding can help your students learn mathematical logic, creative exploration, how to understand systems, and a systemic procedure that exists in common computer programs (automator, video editing, animation, web design.). We might think of this as building computational thinking skills. By building these skills in collaborative and communicative hands-on ways, computational participation helps to link coding with the core competencies in the BC Curriculum and enhances student learning (and enjoyment).


How might you teach coding in your classroom?

Depending on the age, interests and abilities of your learners, (and access to equipment/materials), you can approach coding in many ways. A computer programmer friend of mine pointed out that, while learning to code using visual programming blocks as a language doesn’t necessarily translate to being able to code using Java or Python (two languages used by professionals), the computational thinking skills developed do transfer!

Consider your student interests: are there particular themes or activities you might employ to engage your students? Can you get students moving physically? Can students make something that is motivating to them? Can students work together to create and problem solve?

You might begin with some unplugged coding activities in order to apply a kinesthetic, hands-on approach to build resilience with directionality/commands, critical thinking and trial and error or you might dive right into one of the many programming applications that supports this. I’ve found older students (including me!) are motivating by coding to make something that ‘does something’ in the ‘real world’ (ex. MicroBits, Sphero or Ozobots). That said, many students will enjoy creating stories or games online (ex. Scratch, Twine).

Below are a few examples and links to resources that can support coding in your classroom across K-12.

“Unplugged” Coding

Coding and learning computational thinking can begin with unplugged activities where learners engage in problem-solving, sequencing, and design. Unplugged simply means ‘without a computer’… making this form of ‘coding’ accessible to all classrooms.

Unplugged Coding Activities:

  • Binary Braclets
    • Learn Binary by building bracelets! Students can code their initials using black and white beads which represent the language of coding.
  • Canada Learning Code
    • This Canadian content website includes a searchable database of lesson plans for unplugged and plugged coding activities including activities using popular tools and bots. Try searching by ‘unplugged’.
  • Code.org
    • houses an impressive amount of resources to learn about coding, start coding, and even use unplugged activities inside and outside of the classroom. Each idea includes a video tutorial, lesson plan, and assessment answer key.
  • Kid Bots
    • Kidbots demonstrates cross-curricular advantages of coding by involving numeracy, geometry, and literacy. Students design  a way to rescue an item from a designated location, but a classmate is the programmable “kidbot.”
  • CS Unplugged
    • They house lesson ideas of how to get learners working on core components of computational thinking!
  • Logic games like Sudoku, Mastermind, and Kanoodle can help students work on problem-solving skills that are integral to coding.
  • Lego challenges
    • Teachers can provide a task (like building their dream amusement park). This activity could also be paired with design thinking to help generate ideas or potential solutions to a problem.
    • Students can create a design (without showing their partner), then try to communicate the instructions for their partner to build the same design (without looking!). In coding, it’s important to be able to program specific instructions to get the results you want.

“Plugged” Coding

Also known as coding with a digital device! When we think about “plugged coding”, we might first look at students utilizing visual programming blocks. As a student’s computational thinking skills improve, they might begin to experiment with other programming languages including java and python. In the BC ADST curriculum, visual programming is referred to in Grades 6 through 9.

  • Visual block coding

    • block based coding exampleVisual block coding is an approach to coding that represents instructions in the form of visual blocks rather than programming language syntax. This form of coding is seen to be friendlier to beginners of coding due to not having to memorize syntax due to the drag and drop feature, the “puzzle” piece aspect of the blocks that help you determine which blocks fit with one another, and a predefined list (limited choice of blocks) of functions, variables and objects you can use.
      While visual block coding might seem or feel like playing with logos, this is what coding essentially is at its highest level of abstraction. Once you understand how the functions, variables and object blocks work, you just need to apply language and syntax and that is coding! Visit Code.org or Canada Learning Code for some lesson ideas.

      • BBC Microbits make code block coding language is a visual representation of the JavaSript language. JavaScript is a function-based programming language that is used in web development. The Microbits block UI (user interface) allows you to swap or toggle between JavaScript and visual blocks to learn how the addition or subtraction of blocks affects your code in JavaScript.
        • Scratch is a block coding language developed by MIT that does not represent any other language (whereas with Microbits, the blocks represent Java). The actual code that is used is the blocks themselves. MET hosts a free cloud-based app and community where users can create stories, games, simulations, animations, and more. Scratch Jr. is a simple mobile app allowing students to drag simple block instructions to create actions on their iPad or tablet.

“Real” or Pro Coding


(The information below was provided by my programmer friend and former worklearn student, Eric):

Don’t be scared to start coding in “real” coding languages! Apply what you’ve learned in visual block coding and learn the language and the syntax and you’ll do fine! The first question one might ask themselves when they first decide to learn to code is: which language should I start with? Both Java and Python are good languages to begin learning to code. Both present high levels of abstraction in their language (code is more reminiscent of human language – visual coding is often thought to be very high levels of abstraction.) They are also both very commonly used and have plenty of resources for you to begin learning or if you have questions. Most people also find that once they learn one language, learning new languages becomes much easier.

Resources

  • Codecademy
    • Guides you through a suitable set of activities that are structured to help you understand the basics of coding. Once you first sign up, you are given a 7-day free trial to their premium program which allows you to explore all exercises. Once the trial is over, you will be relegated to practice on their free exercises; albeit, not as complete but still very helpful.
  • freeCodeCamp
    • Very similar to Codecademy, with a different set of exercises. As opposed to Codecademy, all exercises are free! However, the interface is not as easy to use as Codecademy and there is not as much guidance in completing exercises. If you progress further in freeCodeCamp, you might find it helpful to Google hints on how to do things and/or ask questions on Stack Overflow (a question and answer platform for computer programming.)
  • CodinGame
    • Directed towards more advanced coders to write and debug(fix problems) code in the form of a game. As opposed to Codecademy and freeCodeCamp, the exercises often involve multiple objectives and can take over an hour to solve. Despite its difficulty, CodinGame allows you to swap between 25 different languages. This tool is very helpful if you already know one language and you want to learn another! Don’t give up if you’re finding CodinGame hard – read the instructions very carefully and use the hints!
      YouTube videos
  • Hour of Code – Global Coding
    • Get globally connected by participating in the HOUR OF CODE. This initiative began to introduce all ages, and especially students, to the concept of coding…. in less than an hour! Hour of Code provides multiple plugged and unplugged activities so that classes around the world can begin coding. Anyone anywhere can organize an Hour of Code event – NO EXPERIENCE NECESSARY!

Robotics

There are many robots out there that can be used with specific branded apps or open coding apps like Tickle. Some that we have played with during our Sandbox Session were the following: DashSphero, and Ozobots and K-8 powered by microbits. These robots are also available to borrow from the Education Library!


Leave a Comment

Filed under AppliedDesignSkillsTechnologies, Blog Posts, Curriculum, Digital & Media Literacy, Digital Tools and Apps, Engineering, Math, Planning, Resources, Science, STEAM, Technology, The Arts

BBC micro:bit

micro:bit logo


whatisit.png

A micro:bit is a micro-controller designed by BBC for the use of computer education. It’s basically a mini-computer! The micro:bit can be programmed and makes use of multiple sensors including an accelerometer, a magnetometer, Bluetooth, a 25 LED display and two mechanical push-buttons (the V2 MBit also has a microphone, speaker and touch sensor). The function of the micro:bit is in the open hands of the user’s creativity which can include: games, tools, toys, science experiments, etc.

The micro:bit can be programmed using the ‘official’ code editor which supports block coding (by Microsoft MakeCode), Python and JavaScript. The Micro:bit can also be programmed using a Scratch block coding plugin. 


 

Why-is-it-relevant-360x82.png

Coding has become a very valuable skill and is recognized as part of the ADST (applied design skills and technologies) curriculum. Outside of teaching your students job-marketable skills, the act of coding helps to teach your students mathematical logic, creative exploration, how to understand systems, and a systemic procedure that exists in common computer programs (automator, video editing, animation, web design.)

By coding a micro:controller, you are also providing students with a more kinesthetic experience. They are coding to ‘make something do something’!

The micro:bit can be used as an entry point for beginners but can also level up to allow more intermediate users (including secondary students and beyond) to code and make.  One of the biggest barriers to teaching coding to a new audience is how complicated and detailed text-based programming languages can seem off first glance. The official micro:bit block code editor attempts to circumvent this barrier by representing functional code bits in terms of visual blocks. This makes coding seem more like joining puzzle pieces together rather than typing out complex functions. To further allow the ‘levelling up’, you can toggle in the make code editor between the visual programming blocks and the javascript editor!


how-to-get-started-360x80.png

  1. Go to microbit.org
  2. Click Let’s Code
  3. Select between the JavaScript Visual Blocks Editor (more guidance, comes with the block editor, tutorials, and projects) or the Python Editor (less guidance) and click Let’s Code under your respective choice. You can also select Micro:bit Classroom to share and manage coding sessions for your classroom.
  4. Start building your code!
  5. Once you are finished building your code, download your code into the form of a .hex file, connect your micro:bit to your computer and upload the .hex file into the micro:bit’s drive
  6. Test it out, revise your code, and have fun!

micro:bit extras

Click above to view a sample of micro:bits’ tutorials and games section.

micro:bit step-by-step tutorials and games

If you are new to coding, and you would like a smooth introduction into how to use your micro:bit, I would suggest starting with micro:bit’s tutorials and sample games. In the official micro:bit MakeCode code editor, you can find micro:bit’s tutorials as well as pre-made sample games in the MakeCode dashboard. The sample games and tutorials will guide you through building a project step-by-step with an explanation of how the code is working.

Block coding to text coding

While block coding is a very effective way to expose students to coding, block coding is not typically used outside of educational contexts. We might see block coding as providing some foundational skills, including computational thinking, as a stepping stone towards learning text coding such as Java, JavaScript, Python etc.

The official micro:bit MakeCode block editor provides a button that allows you to swap between JavaScript and block code. In conjunction with building a program with blocks, a student can flip back and forth between JavaScript and block code to see how the two translate into one another. Furthermore, once a student feels comfortable building with block code, introducing text coding to a student would seem much less daunting. The structural component of block coding remains in text code; the student would only need to learn the syntax of a text coding language to get a fair grasp of the language.

More resources


Check out our blog post about coding in classrooms!
BBC Microbits has a Lesson bank for Micro:bit that is searchable by theme and subject area.

Canada Learning Code MicroBit Challenge connected to UN Global goals.

Pinnguaq is a Canadian NGO working with and within northern, Indigenous and other communities on STEAM, ADST and digital tech competencies and has developed many resources related to MBits and more.

videopng-360x61.png

*post updated July, 2023

Leave a Comment

Filed under AppliedDesignSkillsTechnologies, Resources

Dash & Dot Robots

Dash and Dot are programmable robots that interact with each other and use various sensors to detect obstacles and motions.

Students will get a chance to plan their code, test it, evaluate if it works and problem-solve if it doesn’t! This is the next step beyond block coding online because there is an interactive component by the robot immediately responding to code.


[column size=6]

  1. Locate or purchase a Dash Robot & have access to a Bluetooth-enabled device.
  2. Choose which app will work best for your students (available on Apple, Google Play, & Amazon Appstore)
    • Tickle – This app is for advanced learners who understand block coding already. It can control multiple robots, not just Dash or Dot. Only available on iOS devices.
    • Swift Playgrounds – Created by Apple and used by IOS to create popular apps. This App can now power Dash.
    • Wonder – Houses a controller, free-play, and Quests which are similar to self-guided tutorials. It is also used for the Wonder League – a Global Competition.
    • Go – Allows users to control the direction of Dash with basic controls. This app is also a portal to online content and more activities.
    • Path – Control Dash’s direction by drawing where it should travel.
    • Blockly – Program Dash or Dot by using visual block coding
    • Xylo – Create your own music using. Requires the Xylophone component.
  3. Determine if additional components would be useful (for an extra cost)
    • lego blocks, launcher, sketch, xylophone
  4. Get inspired!
    • Browse what other students and teachers have done

 

**Note: Wonder has released another robot, “Cuebot” which can also be coded using javascript

[/column]
[column size=6]

[/column]

Video: Wonder Workshop (2015). Getting Started with Dash & Dot for Teachers

Leave a Comment

Filed under AppliedDesignSkillsTechnologies, Not Subject Specific, Resources

“Making Literacy” in LLED 350 and LLED 360

“Making Literacy” – a centers based approach to integrating Applied Design Skills and Technologies and Making in K-12 classrooms was presented in the Neville Scarfe Education Library in September 2018. During the month of September, every teacher candidate in the Bed program (elementary, middle and secondary) had the opportunity to participate in some ‘Makerspace’ stations as part of an orientation to Library and Information Literacy with your LLED 350 and LLED 360 course.

In Scarfe 155 (through the ed lib), we began with a brief overview and discussion about ‘maker ed’ and how this fits with the revised BC Curriculum including integration with the Core Competencies and the BC Applied Design Skills and Technologies Curriculum (ADST).

Following this brief overview, it was all hands on, minds-on exploration. Teacher Candidates had the opportunity to play and learn at several different stations and were invited to return to play anytime.

Here is a copy of the slides from the session:  LLED Maker Space Slides_Sept 2018

During the orientation, TCs also participated in an Augmented Reality exploration of the library. There are a number of applications that teachers can use to create their own AR experiences – HP Reveal (used in the library session), Zappar, Augment, Layar are only a few.

Our stations are organized under 4 main themes:

Storytelling (Storytelling Makerspace Sign_Sept 2018)

  • Green Screen – Tell your story as an image or video. Grab a puppet and play… select a fanciful background and transport yourself in space and time or check out the Postcards Canada project from a couple of years ago as inspiration. Remember, no fancy green screen required… use any plain wall or roll of paper as a backdrop.
  • Blackout Poetry – repurpose a library discard to create your own unique poem!
  • Button Maker (when available)– procedural knowledge is important to literacy! Creatively design your own unique visual micro-story and learn to follow the steps to create a button… ok, this one isn’t so much about the valuable learning opportunity as the sheer fun of creating a unique button! Add a little ‘flare’ to your wardrobe!

Design Challenges (Challenges Makerspace Sign_Sept 2018)

Programming (Programming Makerspace Sign_Sept 2018)

  • Ozobots – mini-robots. Code these using coloured markers, block/visual coding or javascript! So many access points and a great deal of extension potential. There are even online lessons and resources to help develop conceptual understanding in upper level sciences and maths.
  • Makey Makey – create your own game controller using any conductive material. I’ve even seen interactive posters created using Makey Makey kits! The Makey website has some lesson plans you can adapt for your own use.
  • Micro:bits – Try your hand at programming one of these micro-processors (kind of like Arduino but a little simpler and with all of the sensors built in…). Great for grades 5 through post-secondary and can be coded using visual programming blocks, javascript and python!

Computational Thinking (Computational Thinking Makerspace Sign_Sept 2018)


Also on the Maker Kit Shelf in Scarfe 155 – feel free to explore!:

Squishy Circuits – explore conductivity, circuitry and electricity as you problem solve and persevere to make a buzzer buzz, an LED light shine or a motor spin.  Visit the University of St. Thomas Squishy Circuit website for recipes and lessons ideas.

Magnet Play – what can you learn when you simply play with various types of magnets? K-7 Science curriculum includes properties of matter at most every grade level… allowing children the opportunity to free play and explore the properties of magnets helps to naturally scaffold their learning. Students will learn about polarity, attraction, repulsion and more and may even invent a new toy or device as they play!

and more….


If you didn’t get a chance to play with one of the above and would like to try it out, check out the kits available on the shelf in Scarfe 155 – (available for loan beginning September 25th with more to come – Use them in Scarfe 155 anytime or sign them out at the circulation desk)

2 Comments

Filed under AppliedDesignSkillsTechnologies, Blog Posts, Not Subject Specific