- 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
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.
- Code.org’s many Unplugged activities at https://code.org/curriculum/docs/k-5/complete.pdf
- Project GUTS resources for Computer Science in Science for middle school – both block based Starlogo Nova http://projectguts.org/resources as well as text based NetLogo https://ccl.northwestern.edu/netlogo/
- CS through Making based on ideas from the CS team at Baldwin school http://www.baldwinschool.org/computer-science
- Physical computing with Scratch based on excellent work by Dylan Ryder https://sites.google.com/site/handsoncomputingactivities/
- The ‘Problem solving’ approach to teaching CS based on session by Stephen Hughes
- South Korea’s education system after hearing the amazing keynote from White House CTO advisor Seth Andrew.
- The many excellent resources from the vendor area – including Codesters, Pluralsight, Ozobot, CodeSchool, and Google’s many CS education resources including Pencil Code http://pencilcode.net/
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 was ‘ What 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.
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
6th Grade Computer Science Teacher
Los Altos School District, California
CSTA Board Rep for K-8
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.
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!
6th Grade Computer Science Teacher
Los Altos School District
CSTA Board Rep for K-8