Computer Science for All – Are We Asking the Right Questions?

Every two weeks, the CSTA K-8 task group hosts a twitter chat using the hashtag #CSK8. These twitter chats help teachers like me connect with other computer science education enthusiasts; they offer us a place to share and learn new ideas for our classrooms. Since I am part of the CSTA task force that hosts these chats, I have learned a lot on how to run these twitter events. Picking the right questions for a chat is key to its success.  The questions must provide the right amount of structure and be interesting so that all participants contribute to the chat. This is difficult since we do not know who will actually join the chat.
The chat on Feb 10 was on the new initiative proposed by President Obama called ‘Computer Science For All’ (To read more on this initiative, see  “CS for All”  and  Watch the president’s full remarks here). The chat was moderated by another CSTA Task force member Vicky Sedgwick and myself.
Computer Science For All initiative is still in the early phase, with of course no clear idea on whether it will ever be approved. However, the initiative has opened up the discussion on computer science access to a wider audience, and it was a perfect topic for our chat. Vicky and myself struggled to come up up with the best set of questions and we were modifying them as the chat progressed.   Selecting the right questions to ask on this topic helped us think more on the big question – how do we really provide computer science education to all? Here are the questions that we finally used on this chat. Take a look below –  what would be your answers?
  • Q1: Obama said “we have to make sure all our kids are equipped for the jobs of the future.” Is this really why #CSforALL is needed? #csk8
  • Q2: Why should #CSForAll be a federal initiative? Can’t we just rely on state/local/industry/non-profit efforts? Pros/Cons? #csk8
  • Q3:  How will we find teachers for #CSForAll & what is needed in terms of professional development & teacher credential programs? #csK8
  • Q4: There are currently many states with their own CS standards & more writing them. How does this affect #CSforAll or does it? #csk8
  • Q5: How would you spend $4 billion? What is most important? K-8/High School/PD/In-school programs/AfterSchool programs/Diversity? #csk8
If you are interested in reading the conversations on this topic (or other topics), check out the archives of the #CSK8 chats at the CSTA K8 G+ community at https://plus.google.com/communities/111803101139836526905/stream/00a8a67d-804b-4ee1-9c95-0852dfa0b171
Do you think we are asking the right questions? If you had five questions to ask on this topic, what would they be?

How I use CSTA

It is a wonderful time to teach computer science. Almost every day, there is a new tool or website or resource available to teachers for use in the computer science classroom. Sometimes teachers like me can feel overwhelmed. What should we use in our classroom? When and how? I use the CSTA community to help me answer these questions.
CSTA is the membership organization that connects me with other teachers. It provides me a safe place to share and learn from other teachers and understand how to use the many CS resources available to me as I try to stay afloat my other classroom expectations – assessment, standards, curriculum and more. I know I can rely on CSTA since it is tool and platform neutral and created specifically for teachers.
As part of my role as the K-8 board member for CSTA, I had to submit an article for the CSTA blog. Since I had nothing written up, I decided to submit this doodle that captures my thoughts on how I use CSTA. I made this on my iPad using an app called Paper. I am enjoying experimenting with this app, since like real paper, I can not type text, or copy and paste and that makes me think differently than when I am in a text editor. Please treat this as a quick doodle of my ideas and not as finished art work!
I hope this doodle will get you thinking on what CSTA means to you. Have you connected with teachers in your area at the local CSTA chapter, or online on the G+ community, joined the #CSK8 twitter chat, used resources on the website, or considered attending the next CSTA conference?  How do you use CSTA?
photo

Computer Science Goes Beyond Coding

CSTA’s very own Board Member, Sheena Vaidyanathan has been featured in a December edSurge article, titled “Computer Science Goes Beyond Coding.”

The “teach kids to code” movement has many thinking that computer science is just coding. Often the two are conflated since coding is definitely the most visible component of computer science. It is the magic that turns ideas into products; it provides the motivation to learn computer science. Kids want to learn so they can make cool stuff that is meaningful to them.

Read entire article here.

Computer Science in K-8 at the 2015 CSTA conference

This summer’s CSTA conference in Grapevine, Texas had far more K-8 sessions than any previous CSTA conference. A simple metric that measures the strong interest in K-8 Computer Science today. A K-8 computer science teacher like myself had a clear K-8 track to follow and I have come away with my head filled with wonderful ideas for my elementary and middle school students.  Best PD ever!
Like most conferences, much of the learning is not from the sessions, but from the many conversations over a meal or on the bus ride to the airport or just hanging out and chatting in the corridors. I think it did help that the temperature in July in Texas is about 100 degrees outside – we all stayed indoors and networked!
Some of the stuff I learned (and must explore more) from the sessions and vendor area at the conference include :
For those who missed the CSTA conference, you can experience some of the highlights by going through the Storify of the tweets at
To make sure you do not miss it next year – go ahead and ‘Save the Date’: July 10-12, 2016, in San Diego!  I hope to see you there !

What do students think about coding?

What does assessment look like in a K-8 Computer Science program? Computer science teachers like myself use various methods to determine learning amongst their students, examples include:  a debug activity, some version of ‘get the robot through the maze in N programming blocks’ or a rubric to assess different components of a Scratch project.

In addition to problem solving and programming skills, I also assess my student’s attitude to computer science.  Through the year, I use anonymous SurveyMonkey surveys, Google forms, Edmodo questions, and writing prompts to determine what student think about their learning and about coding.

Since I teach across the Los Altos school district (over 500 students each week), I have a wealth of data to analyze after each survey. My survey question at the end of this school year wasWhat do you think about coding? What would you tell someone to convince them that they should learn to code? ‘.

This question generated a wide variety of responses. Here are some that seem to have a common theme – can you detect it?

  • I think it’s difficult, but still interesting.
  • It was fun yet challenging.
  • It is kind of difficult to learn at first, but then is fun to play with
  • Coding is hard in the beginning but fun once you learn how.
  • It is fun but hard and boring.
  • Coding is fun but hard. If you want to design or make something coding is for you.
  • Coding is hard but interesting.
  • Love it, and makes your brain work hard while you have tons of fun.
  • I think coding is fun but can be difficult.
  • I liked coding. It was challenging though.
  • I think coding is very interesting and challenging. The feeling of success when you finish a project is all worth the trouble.
  • Coding is complicated but fun. People think it’s scary because it’s new but it’s actually really cool!

The common theme is: ‘difficult but fun’.

These students find coding fun even though it is difficult. In fact, they think it is fun because it is hard. They enjoy coding for the same reason they enjoy a good video game – it is challenging. It is not easy and boring.

Seymour Papert who showed us that children can program computers almost 40 years ago, explained this kind of learning as ‘Hard fun’ in his article http://www.papert.org/articles/HardFun.html

It appears that my sixth grade students agree with the student Papert mentions in his article. Coding is fun and it is hard. Much has changed in terms of tools and resources in the last 40 years, and it is good to know that this fundamental attitude remains the same.

How to prepare educators to teach coding/CS

As part of my role as the CSTA Board member for K-8, I have been working with an amazing team of computer science (CS) educators – the CSTA K-8 Task force to host Twitter chats every other Wednesday using the hashtag #CSK8. The last chat was on the topic  – ‘How to prepare educators to teach coding/CS’. This chat generated an interesting discussion among educators and made me think more on how much CS content knowledge is necessary at the K-8 level. Can we reduce or eliminate professional development (PD) completely to quickly address the shortage of teachers?

Several CS advocates believe that with two powerful strategies – online self-guided tutorials and peer instruction, teachers need little or no PD to teach CS. Coding clubs run by volunteers who have limited experience in CS, but hand out solutions, point to videos and peers are coming up everywhere. While this approach may work in after school situations, can this work in schools trying to reach ‘all’ students? The emphasis is on the “all,” reaching every student and not only those already interested or confident of learning CS. We expect K-8 Math teachers to know some math, should we expect teachers who teach CS to know at least some CS?  If CS is to include more than coding (which it should!), does the answer change?

Based on my last six years of experience teaching CS to 6th graders across a public district in California, I want to share my concerns about relying on online courses and peer instruction to reach all students.

Online tutorials have many advantages and work well in so many cases, that it is very tempting to focus on that success alone. It is tempting to ignore all those who do not learn well by passively watching videos and those who need the concept explained again in a different way. It is also easy to celebrate the cool structured projects made by students following an online recipe and declare that they have learned to code. Some of my students who have completed an entire online course of structured exercises on their own, are unable to solve simple debug challenges or make a completely different kind of project. That certificate or badge from their online learning site does not mean they have actually learned the why and how behind the coding concepts. It does not mean they are expert problem solvers, or understand basic algorithms.

Peer instruction is a powerful teaching strategy and I use it extensively. The advanced student who has finished the exercise is challenged to help someone else. Students love teaching others, and learning from others. However, I often find that peer instructors quickly fix the problem without being able to show the thinking behind the solution. Even though I strongly encourage my peer instructors to explain and not actually touch the keyboard, it does not always work. These peer instructors are more advanced  coders, but are not necessarily natural teachers. In later projects, struggling students then start relying on this group of student experts, further reinforcing the belief that they can never do this on their own.

Adult teachers are more likely to guide / encourage/ give hints/re-explain and help the student discover and learn the concept rather than just give them the solution. Teaching is messy after all, and takes work. Instead of quickly pointing to a video or giving the solved solution/recipe, teachers who know the content can focus on explaining the fundamental concept. In addition, as the twitter chat pointed out, if PD  comes from actual teachers in the classroom, educators can learn beyond the CS content. They can also learn strategies from experienced teachers on what specifically works well in the CS classroom. This can further increase the chance of success with all students.

So going back to the the question  – should educators have some CS experience, my answer is yes. Of course, depending on the age group they are teaching, the ‘some’ varies. Teachers do not need advanced degrees in computer science, and can always be learning more along with their students. However they must have some CS content and pedagogy knowledge so they can inspire, engage, and guide every student. It is especially important if we are to reach students who are struggling or believe they do not fit the CS stereotype. These students are not excitedly watching videos online, they need help from a human teacher. Preparing our educators to teach CS is the only way to reach ‘all’ our students, and address the equity issue in computing.

(See more on this topic by reading responses from a variety of educators on the #CSK8 chat archive at https://storify.com/xanekka/csk8-csta. For archives of other CSTA K-8 Twitter chats and other topics of interest to K-8, check out the CSTA K-8  g+ Community at http://goo.gl/Zx3Dh2 

Sheena Vaidyanathan

6th Grade Computer Science Teacher
Los Altos School District, California
CSTA Board Rep for K-8

Going beyond coding puzzles

Moving a robot through a maze or drawing a pre-defined shape are examples of well known coding puzzles available in every tool or curriculum. As a K-8 computer science teacher, I know we love handing out these structured exercises to our students. They are a perfect way to introduce programming concepts, and because they only have one solution, they provide a clear and definitive end to the lesson. It makes assessment easy, it takes away the stress of “what should I make” and it makes both teacher and student feel successful. It simplifies PD for new CS teachers and ensures that all students will learn the basics.

But K-8 computer science teachers need to go beyond these coding puzzles. We must show students that programming offers much more than a ‘one solution’ answer to a pre-defined problem. This can be messy, uncomfortable and it is not easy.  However, we also know it can be fun and deliver the “fall in love with coding” moment we hope to provide in these early CS classes.

When do we show our students that they can make anything with code?  Should we use K-8 as a time to focus on creative computing and make the first few projects completely exploratory?

I believe CS teachers must strike a delicate balance here.  While showing the students that there is so much more than mazes and shapes, we also want to give them constraints to ensure that they are still successful. In my own classroom, I see both excitement and fear when I tell  students they can make anything they want. Some students rush in – “I know exactly the kind of game I want to create.” However there are others who are frozen – they want suggestions, they want to look around for inspiration, they prefer to remix an existing project. To these students, the open ended project is a source of stress and can scare them away from coding. As teachers, our challenge is to find ways to be helpful but not limiting to these students, allowing them to explore their creative potential without fear.

During my days as an art student, I remember being given a blank white canvas and found myself in my own “make anything you want” moment. I felt that same fear many of my students have until my instructor gave me a wonderful tip – just paint a Burnt Sienna (brown) wash on it. Simply turning the canvas into something non-white made a difference. It gave me the courage to start, to experiment, and to make mistakes.

Writing code for a new project is a lot like starting a new painting. As a CS teacher, we have to be ready to give our students the help they need: a gentle suggestion, the first few lines of code, an exercise that could be extended. We must find the Sienna brown wash that will get them going.

Inviting all “CS in K-8” Enthusiasts

So much has changed in the last five years since I started teaching programming to 6th graders in my district. At that time, it was considered outright strange for a public school district anywhere. Today, some large school districts like Chicago have added computer science (CS) to their curriculum, and entire countries are adding a required computer science class in the K-12 curriculum.

‘Why Should Fifth Graders Learn to Program?’ is an article I wrote in 2011 to help answer the question of why we must introduce CS in the early years. Today, that question has been answered many times over and in response we are flooded with resources from a wide range of “coding in K-8” experts.

Most K-8 CS teachers are not dedicated CS teachers, but classroom teachers or technology specialists who are “CS in K-8” enthusiasts. They find time to integrate CS into the curriculum or carve out a special class to add to the busy school day. These teachers are now deluged with the many ways to do what they love to do – bring the excitement of CS to all their students. How can they wade through this flood of resources to find the one that fits their needs, the one that is right for their class, the one that reflects their unique teaching style, or the one with the research or pedagogy piece they want? Maybe they want a tool that offers a blended solution, or one that maximizes creativity?

With every new tool or resource that comes my way, I rush into an excited experimentation mode to see if I can use it. In my role as the district’s computer science integration specialist, I must do this research but not every teacher has the time. Often, even after my trying out the new tool, I am not ready to test it on my students. I really need is to just ask someone, Did it work in your class?

That is why I need a community of K-8 CS teachers where I can connect and ask these questions. What tool did you use for your second graders? How do you move from visual programming to text based coding and when? How did you convince your administration that the CS department should expand from its current size of one? What do you do with that kid who thinks they will never be able to code or the kid who thinks he should start with Java in third grade?. What are you doing to celebrate Computer Science education week?

I remember my excitement when I first found this CS teachers community at my first Computer Science Teachers Association (CSTA) conference. Since then, I have benefitted from connecting with these teachers by email or Twitter. I now carefully mark the conference on my calendar each year so I can meet more of these teachers in person. For those who have never attended, it is a must attend event for any CS teacher. Save the date – the next CSTA conference is July 13-14, 2015.

However, the conference is only once a year, and the questions and teacher community support is needed through the year. In addition to the CSTA local chapters, mailing lists, and Twitter, there is now an additional way to connect to this community at any time: a new Google+ community set up by CSTA for K-8 teachers.

As a K-8 teacher who has learned from this community and in my role as the new K-8 Rep for CSTA, I invite all “CS in K-8” enthusiasts to become a CSTA member as well as join the Google+ CSTA K-8 community. Introduce yourself, share a resource that worked for you, post a favorite student project, and ask those questions. You will be welcome. I hope to see you online!

Sheena Vaidyanathan
6th Grade Computer Science Teacher
Los Altos School District
CSTA Board Rep for K-8