AP CSA

After 20 years in education at my local elementary school, I have a new position in the fall at my local high school. I will be their Digital Learning Specialist (Tech Integrator) and CS teacher. It is really a dream job for me. I get to help teachers with their technology (my “superpower”) and teach kids computer science (my “passion”). I’m so excited for the fall.

I’ll be teaching two CS classes in the fall- Computer Science Principles and AP Computer Science A, and I’m using code.org‘s curriculum for both. Last year I assisted in teaching AP CS Principles and it was the first time AP CS Principles had been taught at the school. I made room in my schedule to be in their class every Thursday (plus any other special activity day as my elementary schedule allowed). It surprised me how much I enjoyed working with the high school students (half of whom I taught coding to in elementary school).

In preparation to teach code.org’s AP CSA curriculum, I spent a week in Maine at an EducateMaine-sponsored 5-day workshop. It was excellent. It was intense. I’ve just returned from it and while I’m tired, I’m still really excited about getting into the classroom and presenting the content to the kids. During the week I met other high school CS teachers and built a new personal learning community network.

The code.org’s AP CSA curriculum is new this year. Our workshop facilitators piloted the program last year and this summer is the first time code.org teacher training workshops are being offered. At my school, most of the students who were with me in CS Principles will be taking AP CSA, so while I was at the workshop I could envision pain points in the lessons based on my knowledge of those students.

There is a lot of vocabulary in AP CSA. At one point halfway through the workshop we played vocabulary Bingo from the vocabulary list of the first two Units alone and it was a struggle. Of course, we’d had 3 days with the terms. The students will have more time and practice with them through the course. It is good to know this before the year starts so I can plan vocab review activities and encourage the students to keep a journal or binder for vocab. I’ve already asked one student her best strategy for learning vocab and this was her reply:

I think it would be best if all students have some sort of notebook/ composition book where they write in all the vocabulary as it comes up in one section then when they move to a unit start another page and label it. In this way they can customize what they write about each thing such as adding examples or an analogy when helpful. Then at the end of the unit go through all the vocabulary and make sure we have each and every term.

AP CSP student going into AP CSA

The other CS teachers in my CSA cohort noticed the vocab-heavy curriculum, too. One created and shared with us the Unit vocab lists in GimKit. I hadn’t heard of this tech tool and we got a chance to play a quick round of virtual Capture the Flag. I think the students are going to like this vocab practice tool!

Me in a GimKit of Capture the Flag

I learned that the AP CSA test consists of multiple-choice questions (50%) and free-response questions FRQs (50%). The code.org curriculum introduces, scaffolds, and provides a lot of practice with FRQs. The AP test is all paper and pencil so the students will need to practice handwriting Java code, reading Java code, etc.

I’ve still got some more to learn and prepare for the start of school, but I feel I’m in a good place and have the support I need (or know where to find it) for AP CSA. Hopefully, this feeling lasts through to August.

CS Teachers at the Portland SeaDogs vs NH Fisher Cats Minor league baseball game. Photo by Angela Oechslie.

Do you want to know more? Well, I had to learn to accept non-closure at this CS Summer Institute, too.

CS Concepts in Elementary Grades

2018 January Tech Expo LOGOThis last week I led a professional development session titled “CS Concepts in Elementary Grades” for my district’s Tech Expo.  It was one of several dozen sessions available for teachers during the day. I had just a handful of teachers at my session.

 

I started with this video from Code.org. It introduces “why CS?” better than I can.

Next, we took a quick look at the CS Standards at http://www.csteachers.org/page/standards, just to see that there are standards and where to find them.

Then it was on to try out Scratch.  (One teacher had mentioned this is why she signed up for my session.  She wanted to learn Scratch.)  I introduced Scratch by going over these concepts:

    1. Stage
    2. Sprites
    3. Script, Costume, Sound tabs
    4. Block menu

Then I let them try out the Virtual Pet project using the Scratch cards from https://scratch.mit.edu/tips.  I picked the Virtual Pet project as it hits all the concepts I wanted to introduce.

 

Screen Shot 2018-01-22 at 7.36.58 PM

Code from a student-made Virtual Baby project

 

These are the concepts I think are important for elementary students to be introduced to:

    1. Computational Thinking
    2. Algorithms
    3. Commands
    4. Events
    5. Initial Conditions
    6. Decisions / Conditionals
    7. Iteration, Loops and Forever
    8. Coordinate knowledge
    9. Data and variables
    10. Debugging – Checking for errors

I had one Kindergarten teacher attend my session, so I handed her an iPad with Scratch Jr. on it.  She had a great time playing and exploring Scratch Jr. while the rest of us working on our Virtual Pets.

The Virtual Pet project turned out to be pretty complicated for a first time Scratcher. They had a hard time with Broadcast and Recieve, just like my Code Club members when they tried the Virtual Pet project. I guess I knew this would be a difficult concept but it is so powerful. I like all the things you learn when trying this project out, even if it is a bit overwhelming.

After some success, we moved on and I showed them some student work.  I wanted them to see examples of how to incorporate Scratch into their curriculum.

    1. Intro to Scratch was independently made by one of my former Code Club members https://scratch.mit.edu/projects/177914932/
    2. Infinity and Beyond shows how a research topic (math topic in this case) can be shared using Scratch https://scratch.mit.edu/projects/22933952/
    3. Apple Inventory is another case of using Scratch to demonstrate understanding  https://scratch.mit.edu/projects/66568488/
    4. Math Games by students for Hour of Code week  https://scratch.mit.edu/studios/3616910/
    5. Winter Fun is an introductory project I’ve done with students https://scratch.mit.edu/studios/3664546/
    6. Spirograph Studio (reminiscent of the old Turtle paths play)  https://scratch.mit.edu/studios/3984733/

 

Screen Shot 2018-01-22 at 7.32.51 PM

Using Scratch to show your math solution.

 

I have many more, but as we were running out of time I quickly went through some Debug-It projects I found on the Scratch site.  I think it is important that teachers feel confident in helping students when they get stuck.  Knowing how to debug Scratch projects can help.

Debug it

  1. https://scratch.mit.edu/projects/23267245/
  2. https://scratch.mit.edu/projects/24269007/
  3. https://scratch.mit.edu/projects/2042712/

I didn’t really pick the right Debug it projects for my attendees.  These were more challenging for my audience than I thought they would be.  I wish I had chosen easier ones or left this for another session altogether.

I hope my session left them with an idea of how to start using Scratch in their classroom.  I also hope they will reach out to me if they would like support facilitating Scratch projects in their classroom.  I worry that they were a bit overwhelmed with all I presented. They were a pretty quiet bunch, but I guess I’m used to a room full of rambunctious 10-year olds.

Oh, and I also compiled this list of resources:

Resource List

ScratchJr:  http://www.scratchjr.org/

Scratch online: Scratch.mit.edu 

Teacher accounts https://scratch.mit.edu/educators/

Scratch cards & Educator Guides https://scratch.mit.edu/tips

Offline editor https://scratch.mit.edu/download

Starter Projects https://scratch.mit.edu/starter_projects/

ScratchEd online community http://scratched.gse.harvard.edu/

Creative Computing Curriculum using Scratch http://scratched.gse.harvard.edu/guide/

Code.org Teaching Computer Science Fundamentals PD

https://studio.code.org/s/K5-OnlinePD

Code.org Lessons: https://code.org/student/elementary

https://code.org/educate/curriculum/elementary-school

CS4NH resources:

http://www.cs4nh.org/resources/framework-standards/

CSTA K-12 Computer Science Standards, Revised 2017

http://www.csteachers.org/page/standards

CS for All Teachers 7 “big ideas”:

https://www.csforallteachers.org/computer-science-principles

CodeClub.org:  https://codeclubprojects.org/en-GB/scratch/

K-12 Computer Science Framework: https://k12cs.org/