All Posts By

Michael West

CoderDojo Toronto – May 26th, 2019

By | Monthly Event

This months theme is “Water a plant day”. Not as big a topic as International Women’s day, or Earth day, but really important nonetheless. Especially when you forget to water your wife’s (or mother’s) potted plants while she is away and they all die. So for this months workshop we’ll be building an electronic system to detect if a plant needs water.

This project will be using an Arduino and a water sensor, as well as a bit of Python to make it work. It’s a great introduction to some of the very inexpensive electronic and embedded computer kits you can get today. Arduinos and Raspberry Pis cost around the $30 mark. Kits with all sorts of sensors can be purchased for around $50-100. This makes it very easy to get into building connected devices, and ultimately (with maybe an Electronics Engineering degree) the Internet of Things (IoT) industry. It is a really exciting time to be an electronics enthusiast as these devices would have had prices in the $1000 mark 15 years ago.

There are lots of options to get into electronics and building little hardware projects, as well as lots of things to learn. All of it won’t fit into the time we have for the workshop, but we will get through the basics of Analogue and digital, sensors, as well as some intermediate Python. This workshop will be focused less on creative expression, but the skills that we cover will make all sorts of cool art exhibits possible.

Register

The event is free and being held at Bitmaker at 220 King Street West on the 2nd Floor, starting from 10:00 am to 12:30 pm. To attend, please register at Eventbrite.

What is happening?

This event will have a Drop-in Lab, and the workshop will focus on learning about the Arduino and some intermediate python.

Drop-in Lab

Bring your own ideas, or use our project guides that are available for all skill levels. Everybody works at their own pace with help from the Mentors. Available activities for our drop-in sessions are:

  • Scratch – creating interactive stories or games (beginner, ages 6-10, minimal typing)
  • Web Development – make your own website or application (intermediate, ages 10+, typing skills required)
  • Arduino – learn hardware program with this easy-to-program circuit board (intermediate, ages 10+, typing skills required)
  • Something else? – tell us what you’d like to learn! Let one of the mentors know what you have in mind, and they will assist you with finding resources

Arduino Workshop – Plant water sensor

This workshop will be run by CoderDojo TO Mentor Michael (Me!). Participants will build a prototype plant water sensor using an Arduino and a moisture sensor. You will only need to bring your laptop, but you are welcome to bring your Arduino (or sensor) if you have one. This will be a prototype which we will make on an electronics breadboard. The project will be a simplified version of the one found here. We’ll be replacing the relay and water pump section with an LED to keep things simple, but that doesn’t mean that you couldn’t follow those instructions later to have it actually water your plant. The programming will be done in Python and will make use of some of the intermediate Python that is covered in the Beginner python next steps article.

Things to Remember

  • Kids coding drop-in lab, ages 8 – 17 only
  • Bring Your Own Laptop or Android Device
  • All skill levels welcome
  • Bring your own ideas or use our kid-friendly resources
  • Adult accompaniment required at all times
  • Bring a snack, but remember that we are a Peanut-Free environment
  • Have Fun!

If you have any questions, please email toronto@coderdojo.ca

CoderDojo Toronto – April 14th, 2019: Wrap-up

By | Uncategorized

This past CoderDojo drop in lab was a great day for all involved.  The theme this month was Earth Day, and many of the Learners where doing awesome things with projects to do with the Earth Day theme. The topic of this lab’s workshop was HTML & CSS. HTML & CSS are the fundamental building blocks of the Web. Knowing how to use them helps you to create web pages, and also later (with JavaScript) to build web applications.

Showcase

There were a lot of learners who wanted to showcase their work at this lab. On showcase were Python, HTML/CSS pages and Scratch projects that learners worked on.

The Python project used Python Turtle which allowed for drawing shapes. This project had the turtle draw a geometric patterns on the screen, using some of the turtle functions.

The first HTML project on Showcase was a HTML page one Facts about birds and arctic animals.

The second HTML Project on Showcase is a website on the prevention of animal extinction, discussing the environmental issues that impact animals.

The first scratch project Speedy Cat Colour. This was a colaboration between 2 learners which allows you to paint the screen with a very colourful cat.

The next project was Run. Run is a game that you have to run away from a ball that is chasing you. You need to dodge it for as long as you can.

The next project was Jumping Monkey. It is a game where you launch a monkey from a launcher and you have to try to get all the bananas.

The next project was Don’t Touch Purple. This is a game where you have to move a bat around the obstacles on the screen to the yellow exit without touching the purple obstacles on the screen.

The next project was Bunny Jump. It is a game where you control a jumping rabbit.

The final scratch project was Force Battle. A game where you are a cat fighting a ghost.

Closing Notes

There were some really great projects worked on in the April session. We look forward to seeing everybody next month. Be sure to look out for our HTML&CSS resources article if you want to dig deeper into Web pages.

 

 

 

CoderDojo Toronto – April 14th, 2019

By | Monthly Event

Earth day, which is happening this month on April 22nd is a day action to raise awareness about protecting the environment. Earth Day 2018 was about ending plastic pollution. This year, Earth Day 2019 is about protecting the worlds threatened and endangered species. Normally, about 1-5 species go extinct each year. Now it is estimated that species are going extinct at least 1000 times this rate, with multiple species going extinct daily. 1 in 8 Bird species are threatened with extinction, and many of the big cat species will go extinct in the next decade. One of the biggest challenges with the environment is educating people about the many species that are threatened or endangered and this will be the theme of this Kids Coding club this month.

The workshop for this month will be a HTML & CSS workshop to learn how to build a basic website. HTML & CSS is the foundation of web pages. For those that don’t know much about web pages essentially HTML is the content, and CSS is the styling. Understanding how it all works together is needed if you want eventually build really cool dynamic web pages or web applications like Scratch or Trinket. For cool (complex) web pages and web apps, you would normally use a combination of HTML, CSS, and JavaScript together. But for basic (but still very cool and stylish) web page you don’t need JavaScript. So to keep things simple, the workshop is just going to focus on HTML and CSS.

Register

The event is free and being held at Bitmaker at 220 King Street West on the 2nd Floor, starting from 10:00 am to 12:30 pm. To attend, please register at Eventbrite.

What is happening?

This event will have a Drop-in Lab, and the workshop will focus on learning HTML and CSS.

Drop-in Lab

Bring your own ideas, or use our project guides that are available for all skill levels. Everybody works at their own pace with help from the Mentors. Available activities for our drop-in sessions are:

  • Scratch – creating interactive stories or games (beginner, ages 6-10, minimal typing)
  • Web Development – make your own website or application (intermediate, ages 10+, typing skills required)
  • Arduino – learn hardware program with this easy-to-program circuit board (intermediate, ages 10+, typing skills required)
  • Something else? – tell us what you’d like to learn! Let one of the mentors know what you have in mind, and they will assist you with finding resources

HTML/CSS

The workshop will be lead by Mentor Caitlin. In celebration of Earth Day, we will be building web pages to spread the word about endangered species. We will be building web pages using HTML and styling them with some CSS. You can preview the project here. The websites will be built using Trinket. Trinket.io is a website that allows you to build websites (as well as run Python). Everybody will be encouraged to be as creative as possible with their web pages and styling. There will also be plenty of examples that you can work from to make something that looks really amazing!

Things to Remember

  • Kids coding drop-in lab, ages 8 – 17 only
  • Bring Your Own Laptop or Android Device
  • All skill levels welcome
  • Bring your own ideas or use our kid-friendly resources
  • Adult accompaniment required at all times
  • Bring a snack, but remember that we are a Peanut-Free environment
  • Have Fun!

If you have any questions, please email toronto@coderdojo.ca

Beginner Python Next Steps

By | Uncategorized

So you took the CoderDojo Workshop on Python and want to know where to go next?

Well lets start with what did you learn in the workshop. You learnt a little about Python syntax (the code you have to write to make things happen in your project), as well as variables and setting their value. You also learned about a useful mathematical tool called modulo, which allows you to calculate the remainder in a division. For example 5 can be grouped (divided) into 2 groups of 2 with 1 leftover. This is usually called the remainder. It’s not in all programming languages but for those that it is in, it is usually written as a ‘%‘, ‘mod‘, or ‘rem‘. In Python it is ‘%‘. So the example above is 5 % 2 = 1.

And also repetition using different types of loops, like while and for.

And using lists to keep track of many items in one bundle.

This gives you a great foundation for doing things in Python, but there is a lot more to go.

What’s Next

There are two very important parts of Python that we haven’t tackled yet. Conditional statements which allow you to control if something gets done, and functions which allow you to build code you can reuse multiple times in your project.

Conditional statements

Sometimes in your code, you want to only run a certain part of the code when something special is happening. To do this, you ask a question: “Is something happening?”. This question is referred to the condition, and if this is true, then you run the code, if it is not (false) then you don’t. In most languages, this is referred to an if (or sometimes if/then) statement. Often though, you need to run certain code when your condition is true, and other code when it is not. In this case, you have the else. This will run the code, if the condition is false. In many languages, you test to see if numbers are equal using ==.

if x == 5:
print ("x is 5")
else:
print ("x is not 5")

Sometimes you need to have an even more complex flow, and in those cases you need to use many if and else statements chained together. For example you may want to do one thing if your something is an apple, something else if it is a banana, and a third thing if it is not either of them. N In Python, there is a special way of doing this to make writing them easier, using the elif.

if x == "Apple":
print("x is an apple")
elif x == "Banana":
print("x is a banana")
else:
print("x is not an apple and x is not a banana")

Conditional Statements are very useful in your programming. If you started with Scratch, you may well be familiar with them. To practice using conditional statements, try out the following projects.

Functions

When you have some code that you want to use multiple times, you probably have just written it multiple times (or maybe your a bit of a wizard, and are copying and pasting). Everything works great, right! At first it works great, but after a while you have a very very big project that is really hard to keep track of whats happening. This is can be a big problem when something goes wrong. It can also be a real pain when you want to change what that bit of code does. You have to change it in many places. If you miss one you can get weird things happening in your project. Enter Functions.

Functions are a way of putting that bit of code aside so that you can use it in the rest of your project without having to write it out every time. The way they work is a bit like the code that runs in a loop. Take our loop code in the image above. You didn’t have to write out turtle.forward(1) and turtle.right(1) hundreds of times, you only had to write it out once. But instead of having to do it many times at once like in a loop, with a function you can run the code at whatever place you need.

The description above doesn’t actually say everything a function can do. So lets describe it.

It runs code
The code can contain variables, loops, values. Anything that you can put into your main project, you can put into a function.
It can use parameters
Parameters are variables you can use in your function’s code (if you need to) so that your code can run slightly differently each time. For example. Maybe you want to add 3 values together, 3,5, and 7. But the next time you want to add 4,6, and 8. You could make 2 functions. In Python, you create your functions using the def keyword.

def add357
print(3 + 5 + 7)
def add468
print(4 + 6 + 8)

add357
add468

A better way is to use parameters. Parameters help you allow you to write one version of your code that can do both of the calculations. In this example we have three called number1, number2, and number3.

def add(number1, number2, number3)
print number1 + number2 + number3

add(3,5,7)
add(4,6,8)

This makes it so you can use the code in many more places.
It returns a value
These values are things you can send out of your function and use them in the rest of your code. Maybe you don’t just want to those values together, maybe you need to do a multiplication afterwards. Returning a value allows you to do this. You can put them into other variables, or just use them in your code.

def add(number1, number2, number3)
return number1 + number2 + number3

x = add(3,5,7) * add(4,6,8)
print(x)

In other programming languages, functions can go by different names. Sometimes these names mean that the function acts differently to what we described above. Some common names you might see are Subroutine, Method, Lamdba, Delegate.

The next step is to try out functions using the following projects:

  1. Making Snowflakes using existing Functions.
  2. Making Modern Art with your own Functions.

CoderDojo Toronto – March 17th, 2019: Wrap-up

By | Uncategorized

This past CoderDojo drop in lab was a great day for all involved.  The theme this month was International Women’s Day, and many of the Learners where doing awesome things with projects they worked on previously during our special International Women’s Day Learn to Code event, as well as many working on brand new projects. The topic of this lab’s workshop was Python. Python is a very useful and straightforward language to learn. It has an English like syntax, so it is very approachable even for beginners. For learners it is a great next step from Scratch to writing code.

As always this event wouldn’t have been possible without the support of the mentors as well as Bitmaker General Assembly, who provide us with a venue to run our CoderDojo events.

Showcase

There were a lot of learners who wanted to showcase their work at this lab. On showcase was Python, Twine, and Scratch. To showcase what the learners were doing in the Python workshop, Chapter Champion Tyler presented a quick overview of the material that learners worked through. Then on display was one of the projects that was created using Python

The Python project used Python Turtle which allowed for drawing shapes. This project had the drew geometric patterns on the screen, slowly change colors.

The first scratch project Fight Griffin. It is a game where you have to fight a griffin and dodge an asteroid. You use the space bar to use a skill to attack the griffin.

The next project was Driving Game remix. A remix is when you take someone’s project and make a new scratch project using their work as a starting point. This remix was of the driving game to make have multiple cars driving around the course.

The next project was Ghost, Bat and Cake game. It is a game with a Ghost, Bat, and a cake.

The next project was Rosa Parks Story. This project was further work done on the story done on March 10th. It is a story about Rosa Parks. It also made use of one several extension that is available in Scratch 3.0 which made the characters also speak their dialog as well as display it.

The next project was Kill the Dragon. It is a game with a wizard and you fight the dragon with lightning bolts and baseballs. It uses a loop to always move a cross hair sprite to follow the mouse, so you can see where you are about to attack.

The final scratch project was Awesome Translate. It made use of another the really cool extensions in Scratch 3.0. The extension that was used took text you created and translated it into different languages.


The final showcase project was a Twine project. Twine allows you to create choose-your-own-adventure type stories using a combination of text, pictures, and programming. The story had a great story with lots of pictures and many paths you could follow. There were many branches in the story.

Closing Notes

There were some really great projects worked on in the March session. We look forward to seeing everybody next month. Be sure to look out for our Python resources article if you want to dig deeper into Python.

 

 

 

CoderDojo Toronto – March 10th, 2019: Wrap-up

By | Uncategorized

In celebration of International Women’s day, CoderDojo held a Learn to Code event on March 10th, 2019. It was a great success with 14 learners attending. The theme for International Women’s Day was Balance for Better to create a gender-balanced world. If the attendance of the event is any indication, we have a good foundation for that in the next generation of coders.

This event wouldn’t have been possible without the support of the mentors as well as Bitmaker General Assembly, who provide us with a place to run our CoderDojo events.

During the event

Learners working on Scratch projects

This event was a Learn to Code event, which had 3 workshops. A getting started with Scratch workshop, a Twine workshop and an intro to HTML/CSS workshop. Scratch and Twine were held in the main room, and Twine was held in the workshop room. There were many students being introduced to programming through Scratch and some learning the basics of how to build a web page in HTML/CSS. Several people joined in the Twine workshop

Scratch is a great intro to programming tool as games, interactive animations, and stories can be constructed easily with scripts being ‘snap-together’. International Women’s Day themed resources were available to help learners build stories and animations. Several learners made use of these, while others constructed their own fantastic Scratch projects.

Learners working on Twine projects

Twine is great for interactive ‘Choose-your-own-adventure’ style stories. Your story can have multiple paths, but also have a more programmatic flavor to really make the storied tailored to not only the readers choices of the story path. The learners taking the Twine workshop learned the basics of creating Twine stories, and started to create their stories.

Showcase

At the end of the session several of the learners presented their work in the showcase. The first project is called Find the dot-game. The player has to find and click on the orange ball on the screen with increasing numbers of other colored balls moving on the screen at the same time. Each time the player clicks on the orange ball, they finish the level, which increases the difficulty level by putting more moving balls on the screen.

Learner explaining their project

The second project presented during the showcase was a project in Scratch, which is an animation about Rosa Parks, who was an activist during the civil rights movement in the USA. The Scratch project is a story with 4 scenes, showing the major scenes in her story. The story has a narrator who tells the major points of the story, as well as dialogue that details some of the events Rosa was a part of.

Learners talking about their Rosa Parks Scratch project

Lots of fun and learning was done by everybody. If you couldn’t make this event, this month CoderDojo is also running a Kids Drop-in Coding workshop on the 17th. There will be another event in April. Stay tuned for details.

CoderDojo Toronto – March 17th, 2019

By | Uncategorized

T-800 Terminator from the Terminator movies. It probably wasn’t programmed in Python

While you are busy celebrating International Womens Day with us tomorrow at Bitmaker, don’t forget to start thinking about what you are going to do at our regular Coderdojo Kids Coding Club event that is being held on March 17th, 2019. We didn’t put all the excitement into our IWD Learn to Code event. This month, in addition to the regular drop-in lab, we are exploring the Python language in our workshop.

Python is a fantastic language to learn. It is very easy to write and has English like syntax. It can be used to build many different types of programs, from web servers to games. Right now it is a very popular language used by Data Scientists and other types of Data Analysts. They use it to process their data to help them understand and solve complex problems.

Python has been around for a long time so there is a large list of libraries you can use to help create your project. These can be fairly simple things like Tweepy, which helps you connect to Twitter and get tweets. Or really complex things like OpenCV (Open Computer Vision) which you can use to build vision for your robot, or anti squirrel bird feeder defenses (the full, very technical, “how it was done” presentation is here). This is just a taste of some of the things you can do with Python. But don’t worry, we are starting with the basics, so you won’t be building a Terminator just yet.

Register

The event is free and being held at Bitmaker at 220 King Street West on the 2nd Floor, starting from 10:00 am to 12:30 pm. To attend, please register at Eventbrite.

What is happening?

This event will have a Drop-in Lab, and the workshop will focus on learning Python.

Drop-in Lab

Bring your own ideas, or use our project guides that are available for all skill levels. Everybody works at their own pace with help from the Mentors. Available activities for our drop-in sessions are:

  • Scratch – creating interactive stories or games (beginner, ages 6-10, minimal typing)
  • Web Development – make your own website or application (intermediate, ages 10+, typing skills required)
  • Arduino – learn hardware program with this easy-to-program circuit board (intermediate, ages 10+, typing skills required)
  • Something else? – tell us what you’d like to learn! Let one of the mentors know what you have in mind, and they will assist you with finding resources

Python

An image of Python Turtle with a script and visual design

Python Turtle with a script

The Python workshop will be run by CoderDojo TO Chapter Champion, Tyler, to learn Python using Trinket and Turtley, which allows you to create Python in a web browser (usually you need to have to install lots of stuff). This makes it very easy to play around and get comfortable with Python. The workshop will use Python Turtle, which is a Python version of the old (1967) educational language Logo. Logo uses a ‘Turtle’ which you can move around the screen and draw lines and shapes. Python Turtle programs can be very complex and you can make interesting artwork programatically.

Everybody will be encouraged to be as creative as possible with their designs and shapes. There will also be plenty of examples that you can work from to make something that looks really amazing!

Things to Remember

  • Kids coding drop-in lab, ages 8 – 17 only
  • Bring Your Own Laptop or Android Device
  • All skill levels welcome
  • Bring your own ideas or use our kid-friendly resources
  • Adult accompaniment required at all times
  • Bring a snack, but remember that we are a Peanut-Free environment
  • Have Fun!

If you have any questions, please email toronto@coderdojo.ca

CoderDojo Toronto – March 10th, 2019: International Women’s Day

By | Monthly Event

The countdown is on! In 7 days we will be having a special CoderDojo Toronto Learn to Code event on March 10th in celebration of International Women’s Day 2019. The theme for this year’s International Women’s Day is “Balance for Better” to work towards building a better gender balance in the world. This is a special CoderDojo Toronto event in March that is running in addition to the regular CoderDojo Toronto events that normally run on the 3rd Sunday of the month.

Hedy Lamarr in Come Live With Me trailer

Hedy Lamarr

Women have made significant contributions to technology which often go uncelebrated. Ada Lovelace, generally considered to be the first computer programmer during the 1840’s when the very first mechanical computers were being conceived. Or Hedy Lamarr, an Austrian/American movie star and inventor who developed frequency hopping radio transmissions, a technology still used today. More recent contributions by people like Dr. Lisa Su, an electrical engineer known for her work on Semi-conductor design, the building blocks of CPUs, who is the CEO and President of Advanced Micro Devices (AMD) a large CPU, Graphics and Semiconductor company.

These are just a few more well know contributions from individual women. There were many women who contributed just as much without anywhere near the recognition. For instance the women who made up the majority of the codebreakers at Bletchley Park trying to crack the Enigma code during WWII. Or the women who made up the human computers and programmers at NASA during the space race.
This special CoderDojo TO event will focus on the contributions of women to technology through creating a game, story, or webpage about a woman who inspires you.

Register

The event is free and being held at Bitmaker at 220 King Street West on the 2nd Floor, starting from 10:00 am to 12:30 pm. To attend, please register at Eventbrite.

What is happening?

At this event there are 3 technologies that will be focused on to build games and stories. Scratch, Twine, and HTML/CSS.

Scratch

Who uses ScratchIn the main area, we will be working on Scratch to build a story or game with material about a woman that inspires you.

There will be lots of ideas on what you can make and resources to get started. Mentors will be in the room to help out. Scratch is a great tool to get your feet wet in coding as it allows you to very easily create interactive stories games, and animations with all the code built with drag and drop blocks.

Scratch is web based, so all the Scratch projects you make will be available from anywhere to work on them or share them. Scratch is a great to get even for adults to get a basic understanding of programming. For more information on Scratch go to http://scratch.mit.edu

Twine

Twine LogoThere will be a special workshop run by CoderDojo TO mentor, Karen, doing storytelling with two main topics: women in STEM and women role models. Twine will be used to create interactive storytelling games. Twine is a great start to any coder’s journey into programming, as it teaches event-based logic and conditionals. Typing is required, but don’t worry, as we will pair learners up with mentors to help facilitate typing and idea generation for the stories.

Everybody will be encouraged to be as creative as possible in building their stories, whether they’re about a woman super hero, women they respect and admire, or about themselves make record-breaking achievements in the future! Guardians are welcome to participate as well.

For more information about Twine, please visit: http://twinery.org/

HTML/CSS

A second workshop will be run by CoderDojo TO Chapter Champion, Les, building a website around the theme of International Women’s day. HTML and CSS is a great place to start if you want to build anything web related. HTML and CSS form the basis of anything you want to display in a web browser. HTML provides the content, and CSS provides the styling. Once you have HTML and CSS under your belt, you can later move onto to building something interactive on your web page using JavaScript.

There are many ways you can go about building a web page, but a great resource to use is Mozilla Thimble. Which allows you to build and publish your webpage.

Things to Remember

  • Kids coding drop-in lab, ages 8 – 17 only
  • Bring Your Own Laptop or Android Device
  • All skill levels welcome
  • Bring your own ideas or use our kid-friendly resources
  • Adult accompaniment required at all times
  • Bring a snack, but remember that we are a Peanut-Free environment
  • Have Fun!

If you have any questions, please email toronto@coderdojo.ca

See you there and don’t forget to wear something purple!