Archives For Computer Science

You should run a Google CS First Coding Club for kids. It’s easier than you think.  Here’s what I learned from running a club at Stoney Creek Public School.

First, listen to what my students had to say about the club:

What is Google CS First?

CS stands for Computer Science. Google CS First is a computer science club that is run through Google with everything you need. Google has created a portal that you and students will log into that keeps everything organized and holds all the content. There are 9 different themes like storytelling, animation, fashion and sports. Each club takes about 10 hours. Students will code using Scratch.

screen-shot-2016-12-03-at-4-06-52-pm

Here is a video to welcome you to Google CS First. Click on the image below:

welcome-cs-first-video

How to get started?

Go to Google CS First and sign in or click on “Start a Club Now.”  Click on the “Start a New Club” button and follow the prompts. It takes 5 minutes and you will:

  • Pick a theme
  • Create a schedule
  • Order materials (US only) or print materials
  • Bonus: Find a Guru which is someone who will help you during the sessions. I was lucky to get a parent from my community who is a developer for IBM.

Promote your club by putting up posters that are provided once you have picked your theme. Consider having an information meeting where you can show the slides below. Be sure to personalize and edit the slides before the meeting. Click on the image to see the Google Slides:

screen-shot-2016-12-03-at-4-18-49-pm

Tip: Be sure to think carefully about the schedule. Do not just put in random dates.  This is because the activities are linked to the dates. When students login, they will get the activity assigned for that date. So if your first club meets on Monday, December 12th and if you correctly entered December 12th in the schedule then students will login and get the Day 1 activities. If you get these wrong, kids will be looking at the wrong activities.

What does a typical club meeting look like?

My club ran for 8 weeks on Tuesdays and Thursdays after school for 20 students in grades 4-8. We met from 3:30-4:45pm. Students came to the library and logged into a Chromebook or desktop computer with the Google CS First username and password provided by the club (these are generated automatically and can be reused if kids join another club).  Once all the coders had arrived, here is what the day looked like:

  1. Showcase Selector: Two activities get randomly selected at the end of the last club meeting. We start each time with looking at two students’ Scratch projects.
  2. Self-Paced Learning: Students then work at their own pace watching videos and working in Scratch.  The leader and guru (the adults running the club) circulate to help students.
  3. Wrap Up Video: We would end the club by collectively watching the Wrap Up video. Every day has a video that recaps the key computer science concepts and relates those concepts to the real world and real people’s jobs.  We would watch these as a group, though you could have kids watch on their own too.
  4. Showcase Selector: The last task is to do the Showcase Selector to pick two projects to kick off the next club meeting.

3 Tips for Running a Successful Coding Club:

1) Manage Student Expectations

Many students came to club expectations that they would learn how to make an app or become hackers. One of my club members was on HackerTyper.com instead of working through the activities.20538425773_0524d1514f_o It is important to set reasonable expectations so students aren’t disappointed that they aren’t taking over the Internet by the end of the first club meeting. Explain the goals and what computer science concepts will be taught up front.

2) Get a Guru or it’s all you!

Get a Guru! Having another adult there was so helpful. Having another adult with a background in computer science was tremendous. The students were able to get a lot more out of the club because Mr. Rozon was able to explain what they were doing and why it was important.

If you can’t get someone to help who has experience in coding, make sure to do all the activities ahead of time.

3) Emphasize Collaboration

One thing I did not like about the Google CS First Coding club was that it felt a lot like I was supervising some sort of call centre. I looked out over a library full of students all wearing headsets and plugged into computers. It was quiet and students largely worked alone. Next time, I want to emphasize more collaboration and team work.  I want to force everyone to stop every 10 minutes and talk to the person next to them. I want to have more time to share more projects and get students to give each other feedback.

How to give feedback on Scratch projects?

Helping students improve their code can be tricky.  They can make their projects more complex by using more sprites and fewer more powerful blocks, but even this advice doesn’t always work.

Check out Dr. Scratch. This is a website that analyzes projects.  You enter in the URL associated with the Scratch project and paste it into Dr. Scratch.  Dr. Scratch provides feedback on the program, like this:

screen-shot-2016-12-03-at-4-39-11-pm

**Updated January 4 2017 with information about artsy.net and seeing more Miro art.**

This blog post includes a 5 minute video, a lesson plan and examples of student that show integration of visual art curriculum and Computational Thinking in my grade 3 classroom.

Thank you to Bea Leiderman, Carolyn Skibba, Douglas Kian and my experience at the Apple Institute in Berlin for this idea.  Using Keynote and Kandinsky is Bea’s idea. It’s brilliant. Bea, Carolyn and I went to the Bauhaus Archive in Berlin where we saw Kandinsky’s work. We also had in depth workshops on Keynote. The combination of these experiences at the Apple Institute in Berlin lead to this idea and a project. Bea, Douglas and I are currently working on a project where we are investigating how these ideas of art, coding, and Computational Thinking might fit together. This is the early stage of this team project.

This video gives an overview of the lesson and a chance to peak inside my grade 3 classroom:

Visual Arts Expectations

These are the expectations from the Ontario Arts Curriculum that apply to this lesson:

Elements of Design:

• line: variety of line (e.g., thick, thin, dotted)

• shape and form: composite shapes; symmetrical and asymmetrical shapes and forms in both the human-made environment and the natural world

Principles of Design:

• variety: slight variations on a major theme; strong contrasts (e.g., use of different lines, shapes, values, and colours to create interest)

Creating and Presenting:

D1.1 create two- and three-dimensional works of art that express personal feelings and ideas inspired by the environment or that have the community as their subject

D1.2 demonstrate an understanding of compo – sition, using principles of design to create narrative art works or art works on a theme or topic

D1.4 use a variety of materials, tools, and techniques to respond to design challenges

Reflecting Responding and Analysing:

D2.2 explain how elements and principles of design are used to communicate meaning or understanding in their own and others’ art work

Exploring Forms and Cultural Contexts:

D3.2 demonstrate an awareness of a variety of works of art and artistic traditions from diverse communities, times, and places

Computational Thinking Goals

Karen Brennan and Mitch Resnick published a paper in 2012 describing a framework for teaching and assessing Computational Thinking (CT). I learned about this paper from a presentation by Julie Mueller at a CT event for teachers in August 2016.  Based on this framework, these are the CT goals of this lesson:

Coding Concepts (actual computer science concepts): Sequencing and Debugging.

Practices (thinking habits): Being incremental and iterative, testing and debugging, reusing and remixing.

Perspective (beliefs about self): Using technology to express oneself.

Materials:

ios10-960x960_swift-playgrounds-icon_us-enscreen-shot-2016-12-04-at-11-51-01-amimovieseesaw

Source: Wassily Kandinsky [Public domain], via Wikimedia Commons

the-smile-of-the-flamboyant-wings

Source: The Smile of the Flamboyant Wings, 1953 by Joan Miro

For more information on Joan Miro, check out this artsy.net site here. Thank you Louise L. for letting me know about this site.The page I have linked “provides visitors with Miró’s bio, over 400 of his works, exclusive articles, and up-to-date Miró exhibition listings. The page also includes related artists and categories, allowing viewers to discover art beyond our Miró page.”  The rest of artsy.net is very much worth looking at also.

Teacher Prior Knowledge/Experience:

Student Prior Knowledge/Experience:

  • Time to play with Keynote

Lesson Part 1:

Bell-work and Minds On:

As students enter the classroom, give them the option of taking either a Miro or Kandinsky colouring sheet. While the students settle and the teacher takes attendance, students colour the colouring sheets anyway they like.

Introducing the Project and Meeting Miro and Kandinsky:

Introduce the project by showing an example. This was created by Bea:

Next, show examples of Kandinsky and Miro works. Ideally show the same art work as the colouring pages and several more.

screen-shot-2016-12-04-at-12-41-25-pm

Explain how the art is abstract. Show how the example has movement that happens with just a single click.

Go over the success criteria:

screen-shot-2016-12-04-at-11-47-07-am

Teach Art Concepts:

Have students compare their colouring pages to the actual artists’ works. Notice the main differences. Miro uses curved lines and primary colours whereas Kandinsky uses many different colours but has more geometric shapes and straight lines.

Teach Coding Concepts:

Introduce the coding concepts of sequence and debugging.

Working On It:

Now it’s up to students to create their own Kandinsky or Miro style art, or a mixture of both.  You should model how to find shapes, lines, and how to add animation. There are two ways to animate and they are shown in the screenshots below.

First, tap on the More button (…) and then select “Transitions and Builds.”
img_0485

Or, tap on the object you want to animate and tap on “Animate.”

img_0484

Warning: Many students will figure out how to add the animations but won’t be able to link them together.   I skip telling them this step so they are confronted with having to problem solve and debug.  Once they have a need for this information, I show them how, though many figured it out on their own.  The screenshot below shows how to link the animation. To sequence the animation tap on the object, then tap Animate, then tap the heading to get the options you see in the screenshot.  Notice that you have to change “Start Build” from “On Tap” to “With Previous Build” or “After Previous Build.”img_0486

Once students have completed their projects ask them to share the Keynote files with you.  You could do this by using Airdrop or having them save the Keynote file to Google Drive.

This is the end of the first part of the lesson. Now you will need some time to convert those Keynote files on your Mac to mP4. This part was time consuming.  I wish I could export keynote files to iMovie on iPad. But, at this point you can only send a copy As Keynote, PDF, or PowerPoint.

Teacher’s Homework Prior to Part 2:

This part is not fun.

  1. Open each file in Keynote on a Mac and export the file as a Quicktime. (File>Export To>QuickTime…)
  2. Then, open each file in iMovie and export as MP4.
  3. Share these files with students. I used Google Drive.

Lesson Part 2:

Bell-work and Housekeeping:

Give students instructions to retrieve the MP4 file you created with the Keynote files.  Ask students to open the file in iMovie. Review the success criteria.

Teach Art Concepts ~ Reflection:

Students use iMovie to create a voice over audio recording explaining why Miro or Kandinsky would like their art work.  Review the key elements and principles of design for each artist. Give students time to do their reflection and upload videos to Seesaw.

Teach Coding Concepts:

When students are finished uploading their art reflection, have students use Apple Swift Playgrounds Learn to Code 1 to reinforce coding concepts. Have students work on the Command puzzles.

Examples of Student Work:

Here are examples of the animations prior to students adding reflections.

Here are examples including the reflection:

What is Swift Playgrounds?

Swift Playgrounds is a free app that runs on iPad, as long as that iPad is running iOS 10 or later. It’s such a large and powerful programming app that it needs the power of an iPad to run. This is why you can’t get it on a Chromebook and why it is not web-based.

ios10-960x960_swift-playgrounds-icon_us-en

 

swift-playgrounds

What makes Swift Playgrounds special?

  1. It will help your students bridge the gap from block based coding to real programming.  Working with block based programming tools like Blockly and Scratch is a great way to get started, but how do kids learn to write actual lines of code? Swift Playgrounds is designed to solve that problem. Users can tap on lines of code and drop them into the project or use a keyboard to actually type out commands.
  2. Swift Playgrounds is a modern programming language designed to be simple and intuitive yet powerful. You can develop an app completely on iPad using Swift Playground except for the final step of preparing the app for the app store using XCode.
  3. Swift Playgrounds works on both an iPad and Mac. With Swift Playgrounds, you can start a project on iPad and transition to using a Mac.

How to get Started

In Swift Playgrounds you can develop your own Playgrounds from a template (I found this too hard for me at this stage) or you can interact with pre-made Playbooks. Start by downloading Learn to Code 1, 2 and 3.  Each one is a series of puzzles that you need to solve using lines of Swift code. The objective is to get Byte or one of the other avatars to move through a 3D world to collect gems, toggle switches and more.

fullsizerender-3

You and your students will learn:

“the fundamentals of Swift, the programming language used to create apps for Apple products.”

Fun fact: I’m working through Learn to Code 1 and I have completed all the puzzles for the following computer science concepts: Commands, Functions, and For Loops. Next up: Conditional Code.

Here is a screen shot of my next puzzle:
img_0480

Are there lessons and resources?

Puzzles are grouped by computer science (CS) concepts such as Commands, Logical Operators and Conditionals. At the beginning of each set of puzzles there is a mini lesson explaining to the user the CS concept. In addition, there are free Teacher Guides and an iTunes Course that include complete lessons, videos and Keynote slides to help teachers guide students through learning computer science concepts in Swift Playgrounds.  The Teacher Guides also include all the solutions to the puzzles. 

screen-shot-2016-12-03-at-4-59-14-pm

 

The Learn to Code 3 Teacher Guide has just been released too:

screen-shot-2016-12-04-at-7-05-27-pm

Hour of Code

Try downloading the Hour of Code activity which is a few puzzles from Learn to Code 1:fullsizerender-2

 

There is also a Facilitator’s Guide for the Hour of Code:

hour-of-code-swift-playgrounds

What do students say?

I ran a Swift Playgrounds coding club for 8 weeks and here is what some of my students had to say about learning with Swift Playgrounds:

What else can you do in Swift Playgrounds?

If you know about Tickle then you already know that you can use other apps to program robots and smart-toys.  Just like Tickle, Swift Playgrounds can be used to interact and program robots. Wonder Workshop, the makers of Dash, have created a Playbook that works with Dash called Dashbook. Read about and download the Playbook here. Below is a screen shot of what the Dashbook looks like:

img_0479

This is one of the activities I will be doing this week with my class to celebrate Computer Science week which is December 5-9 2016.

Going even Deeper with Swift

If you want to go even deeper, I recommend following Brian Foutty and subscribing to his  iTunesU course on Swift.

screen-shot-2016-12-03-at-5-55-18-pm

 

Or check out Paul Hamilton‘s YouTube Playlist with ideas and challenges to go further with Swift Playgrounds.