Designing Thinking in K-12

During my recent trip to India, I visited the American Embassy School (AES) in New Delhi. During my visit, I was able to talk to the members of the technology integration team and how they are combining design thinking, computational thinking, and maker space ideas to allow students to become creative users of computing technologies. More on AES tech vision can be read here. While computational thinking in K-12 schools has gotten a lot of attention, design thinking has the potential to further enhance students’ creative problem solving.

The Institute of Design (d.school) at Stanford University offers a virtual crash course that exposes learners to the five aspects of design thinking: empathize, define, ideate, prototype, and test. Teachers interested in learning more about how to embed design thinking in their K-12 classroom can find more resources on the d.school’s K12 lab network wiki.

L’Oréal For Women in Science Program

I don’t hear often enough about the accomplishments of young women in professional or near-professional accomplishments in CS, so I was excited to learn about the annual L’Oréal For Women in Science program that recognizes and rewards the contributions women make in STEM fields and identifies exceptional women researchers committed to serving as role models for younger generations.  More than 2,000 women scientists in over 100 countries have been recognized since the program began in 1998.

The L’Oréal USA For Women In Science fellowship program will award five postdoctoral women scientists in the United States this year with grants of up to $60,000 each. Applicants are welcome from a variety of fields, including the life and physical/material sciences, technology (including computer science), engineering, and mathematics.

Do you know someone who qualifies? Do you have acquaintances in universities who might know candidates? Please send them the information.

Applications opened on February 2, 2015 and are due on March 20, 2015.

The application and more information on the L’Oréal USA For Women in Science program can be found at www.lorealusa.com/forwomeninscience.

Should you have any questions or require additional information, please e‐mail [email protected].

Hello from the CSTA Communications Committee!

The primary goal of the CSTA Communications Committee is to ensure that members learn about the many, many opportunities, resources, news, and initiatives from CSTA.

We’ve been up to quite a bit lately:

  • Listserv moderators have been selected and are busy making sure you get the news promptly. If you are not familiar with the listserv, it is a place to ask questions about teaching CS, make connections, and support each other in our community. On the flip side, it is not for selling or pushing products or something that monetarily benefits you. Recommendations are fine if someone is asking “what book do you use,” “do you get this error using this….,” etc.  The listserv is about building a professional group of educators that can be resources for each other.  Each message to the listserv is checked and approved by a moderator before being distributed. So please join us and lend your expertise or ask your questions!  Sign up for the Listserv.
  • Various CSTA committees will be reporting on the Advocate blog to keep you in touch with plans and projects. Periodically, each committee will submit a blog article about committee activities, how the committee works for CSTA’s goals, and hopefully, answer any questions you may have. Check out all of the blog articles for great CS educator content.  So, is it recursion if we link to the blog here while you are already reading the Advocate blog?….hmmm…. :)
  • The CSTA Voice newsletter is another communication tool for keeping up with CSTA and CS education content selected especially for our members. We’re always on the look-out to identify interesting content and authors for the Voice. Let us know what you would like to learn about. Or better yet, offer to share your knowledge and skills by writing an article for the Voice. We’d love to hear about what you’re doing in your classroom, the news from your CSTA Chapter, or other content of interest to CS educators. Download past CSTA Voice newsletters
  • Our efforts to keep you in the know about CSTA are continuous. You are an important part of this process. To recommend an article for The Voice, contribute an Advocate blog post, or to provide general feedback, please contact us!

If you are reading this blog but still haven’t joined CSTA, what are you waiting for? Sign up today for an Individual membership or Institutional membership.

All of the links provided above can be found on the main page of CSTA.  Please visit http://csta.acm.org/ to view all the other resources and information available to you.

The Communications Committee

Stephanie Hoeppner, Pat Phillips, Myra Deister, Sheena Vaidyanathan

10 Lessons Learned from Developing a PK-12 Computer Science Program in SFUSD

by Bryan Twarek
Division of Curriculum & Instruction, San Francisco Unified School District

Computer science (CS) is becoming increasingly critical to a student’s success in preparing for college and career. In today’s digital age, all students must develop a foundational knowledge to understand how computers works and the skills required to creatively solve real-world problems. However, the vast majority of schools do not yet offer computer science instruction. In fact, in San Francisco public high schools, only 5% of students are enrolled in a computer science class, and only half of the schools offer a single course. Even at the schools that do offer computer science, the students in these classes are generally unrepresentative of the schools’ population as a whole, with far fewer females and students of color.

It is critical that we address this need with an equity mindset and ensure that all students have access to computer science, beginning in the earliest grades. With this in mind, the San Francisco Unified School District (SFUSD) has committed to expanding its computer science programming to ensure that all students at all schools have experience with high-quality computer science instruction throughout their PK-12 educational career.

Currently, we are developing a policy and implementation plan for integrating computer science into our core curriculum. As part of this work, we are crafting a PK-12 scope and sequence of essential knowledge and skills to be taught at each grade level. We will pilot at select schools next school year, with fuller implementation in 2016-2017.

I would love to share 10 lessons that I have learned through my experience with this initiative:

  1. There is a lot of excitement around computer science.
    Many schools had a taste during the Hour of Code and are now asking for more. Through surveys and interviews, we have determined that the vast majority of teachers, administrators, students, and families support expanding computer science instruction. In fact, 100% of surveyed teachers responded that it is important for their students to learn computer science.
  2. Most adults don’t have prior experience with computer science.
    It is challenging to begin teaching a subject that most never learned themselves in school. While most of our current high school computer science teachers have a degree in CS or relevant industry experience, this is not a scalable practice. We will have to develop teachers from within the district, and they will need to learn the content before learning how to teach it to their students. For this reason, we plan to utilize dedicated computer science teachers at all grade levels, rather than have all multiple subjects teachers to integrate a new discipline into their classes.
  3. Defining computer science is tricky.
    Many people mistake computer science as educational technology (i.e., integrating computing into teaching and learning). Others believe that computer science is just programming. Developing a thorough, yet concise definition of computer science is challenging even for experts. It’s been helpful to present the five strands in CSTA’s K-12 Standards as a way to simple way to articulate the various aspects of computer science. 
  4. We must begin teaching computer science at younger ages.
    Unfortunately, we have noted that females and students of color are underrepresented in computer science classes, even as young as sixth grade. Therefore, we must reach children before they develop constructs of who pursues and excels in STEM fields. We plan to normalize computer science education by guaranteeing access to all students when they first enter our schools in kindergarten or pre-kindergarten. 
  5. Little academic research and few curricula exist.
    There has been little academic research on K-12 computer science education since the days of Seymour Papert, which makes it difficult to know exactly what to teach and how to teach it. Additionally, there are very few cohesive computer science curricula targeted for elementary and middle school students. Only within the last one to two years have organizations like Code.org and Project Lead the Way created K-5 CS curricula, and it will likely be several more years before we have a clear picture of what works well.
  6. Great things are happening outside of the classroom.
    While few of our students currently take computer science classes, some excellent nonprofits, community-based organizations, and individual teachers have worked to fill in these gaps. Clubs, after school activities, one-time events, and summer programs offer additional opportunities to engage with CS. Some try to reach all students, including: Mission Bit, FIRST Robotics League, CS First, and Coder Dojo. Others target underrepresented populations, including: Girls Who Code, Black Girls Code, Chick Tech, and Hack the Hood.
  7. We must attack this issue from multiple angles.
    Developing a plan to go from 5% of students to 100% takes time, but we recognize that if we wait for our plan to be fully implemented, we will miss many students. We can start providing computer science education even before we create new classes by advocating for and supporting clubs, after school activities, and informal opportunities outside of the classroom. We can also quickly start trying ideas out with interested schools and teachers who already have the technology and time for instruction or space for integration. Additionally, we are also working to bring CS classes to more schools by leveraging industry professionals to volunteer and develop our teachers through the TEALS program.
  8. It is important to leverage successes.
    It is easier to gain traction when there are successes to point to. We already have strong three-course computer science sequences at two high schools, so we are using these as models for expanding to other high schools. Plus, pilot programs will allow us to learn from their trials, successes, and struggles as we develop our plans for scaling to all schools in the district.
  9. Competing priorities make it hard to fit in.
    Even when various stakeholders agree to the value of providing computer science education to all students, it still leaves the contentious questions of where and how this fits into the schedule. That is, how many hours do we devote to CS, and do we integrate into existing classes or create new ones? if we have dedicated CS teachers at all levels, we have to hire more staff, but we gain better quality control and more effective teacher development. On the other hand, if our science, math, and multiple subjects teachers teach CS, they can leverage their strong relationships with students and more seamlessly integrate with other content areas, but the majority don’t have background experience and are already working to transition to the Common Core, alongside many other important school and district initiatives. Since few K-12 models exist, it’s even more difficult to come to a consensus.
  10. Our plan will have to be continuously updated.
    The field of computer science is still relatively new, and technologies quickly become outdated. We must acknowledge that the field will continue to rapidly evolve in sometimes unpredictable ways, and as such, our plan for teaching computer science will also need the flexibility to continuously adapt.

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.

Accessibility in Computer Science

During January 23-24, 2015, I attended an AccessComputing meeting (Alliance for Access to Computing Careers) that focused on ways to increase participation of students with disabilities in computing courses. As an educator, it was a useful meeting where I learned not only about the importance of focusing on meeting the needs of EVERY student, but also about the useful resources AccessComputing provides for CS educators. Richard Ladner, who leads the alliance makes a strong argument for why we should support all students stating, “when more citizens have access to computing opportunities, and when computing fields are enhanced by the perspectives of people with disabilities, we all benefit.”

AccessComputing offers a number of resources and tools that educators could incorporate in their classrooms. The website has resources on how to web pages accessible by following these 30 accessibility tips and how to apply the principles of universal design to make sure computing facilities are accessible. If you have students who need accommodations in your classroom, visit AccessComputing accommodations section to “find tools and resources for assessing the accessibility of your lab or department and developing accommodation strategies”. Another useful resources is the knowledge base, where you can learn about specific disability related issues.

 

 

Top Secret Rosies: The Female Computers of WWII

I showed the film Top Secret Rosies: The Female Computers of WWII in 3 of my classes for CS Ed Week (although it was a different week due to exams – such the life of education).  I had heard good things about the film from several other computer science teachers and thought it would be a great history/cs topic.   I also found the website http://www.topsecretrosies.com/ very helpful for resources including a study guide and other reference links.  But enough about my decisions, it is the reactions to the film from my students that made this such a worthwhile experience.

The most profound remark occurred while the film was discussing how the women did not get credit for their work and it was showing how a picture was cropped so that it was just the man with the machine and not the women.  One of my male students remarked out loud “that’s not fair!”  I think he startled himself just as much as some around him because it was an impromptu emotional reaction. After the film this led to several comments about how none of them knew women did so much and why no one else knows about this.
During the film the students had questions to to fill out as well as opinions questions to answer.  Here are some of the best comments:
“I don’t get why they stopped and had a family instead of staying in computers”

“Why didn’t they stay in computers if they were doing well?”
“I think it is weird only one stayed in computers”
“Did men take back over all the jobs when the war was over?”

“I didn’t know women started all the programming”
“I think it would be hard to know your calculations killed people”
“Its cool that computers used to be knobs and levers.”
“I didn’t know computers was a name for people”
As you can see many students were surprised and actually upset that the women left computing for family and other opportunities.  The students collectively felt if the women started the job and were doing well then they should have stayed with it.  Some of them were also struck by the concept that what the women were doing with the calculations led to people being killed in the war.  This actually opened up a great conversation about understanding the consequences of your work and actions.  We discussed that people can have a far reaching effect when they are programming and it can be anything from bombs dropping to corporations making money, etc.  There were several other conversations centered around beginning computing, the people, the machines, and how different it is today.  Overall I would say this film had a much further impact that I would have thought.  The students learned history that included the women “computers” and also learned about the impact of war, computing, and jobs during that time period.
If you haven’t used this in your classes I would highly suggest it and my best advice would to not preface the film and just let them come to understandings and realizations on their own.  You might just be surprised what they say!

CSTA Computational Thinking (CT) Task Force

Why was the Computational Thinking (CT) Task Force formed?

One of the primary purposes of the CSTA is to support K-12 CS educators. Thus, it’s important that the CSTA be aware of current developments in computer science education, including Computational Thinking (CT), so we can take advantage of new opportunities and new partnerships. The CT Task Force was formed to advise the organization about how to connect with and respond to new Computational Thinking initiatives.

Who are the members of the CT Task Force?

In July 2014, the CT Task Force re-assembled with these members:

Irene Lee, Chair (Santa Fe Institute, Project GUTS)
Fred Martin, Co-Chair (University of Massachusetts Lowell)
J. Philip East (University of Northern Iowa)
Diana Franklin (University of California, Santa Barbara)
Shuchi Grover (Stanford University)
Roxana Hadad (Northeastern Illinois University)
Joe Kmoch (University of Wisconsin-Milwaukee)
Michelle Lagos (American School of Tegucigalpa)
Eric Snow (SRI International)

What does the CT Task Force do?

This year, we are focusing on CT in K-8 teaching and learning. This is a pressing need, and we would like to understand the scope of what is being called “computational thinking” in K-8: how it is being defined, what tools and curricula are being used to teach computational thinking, and how it is being assessed. Task Force members also participate on related efforts, such as developing proposals for providing professional development in CT through the CSTA.

How does the CT Task Force serve the CSTA membership?

We serve the membership by:

1) Writing, publishing and disseminating papers on CT

2) Coordinating efforts to inform K-8 educators about CT

3) Making presentations on CT at educational conferences

4) Updating the CT webpage on the CSTA website

We welcome suggestions and contributions from the CSTA membership on ways the CT Task Force can better serve you.

Teaching and learning with “gift code”

Last month I co-taught a two-and-a-half day workshop introducing students to building apps with MIT App Inventor. Some of our students had prior programming background, and others did not.

Here, our goal as teachers was to get our students engaged in their own original projects (rather than teaching any specific set of computing concepts).

I’ve done a bunch of workshops like this, with learners of all ages, and we’ve developed the concept of “gift code.” (Thanks, Michael Penta!)

With gift code, a student describes their idea to you, and you translate it back to them in the form of working code.

Ideally, gift code has the following properties:

  • It’s short. I’ll dictate the code and have the student type it in (or in the case of App Inventor, select and configure the code blocks). It really has to be small so neither of us gets impatient.
  • It works. The premise is that the student will understand the computational ideas in the code by seeing them work. Often the code will combine a bunch of concepts together—ideas that would be hard to explain individually, but make sense when combined into a working unit.
  • It’s the student’s idea. This is pretty important—the code should embody the student’s idea! But it’s OK to simplify what they said, as long as it demonstrates the essence of what they wanted.
  • It’s extensible. This is crucial. In a few minutes, I’m going to walk away and work with another student, and I want my student now to understand enough so that they can keep going. It’s fine if their next step is a copy-paste of the same code structure—e.g., adding a new condition-action rule.

It’s really fun when it works. Students are empowered because they can get complex things working quickly.

In the best case, an hour after receiving gift code, a student has full ownership over it. They understand it, they have added to it, and they don’t even remember that I gave it to them. (That’s totally fine with me.)

Do you use gift code in your own teaching?

Fred Martin
CSTA University Faculty Representative

Computing and The Super Bowl

Most people think of sports as the antithesis of computing.  Computing is all indoor activity, staring at a screen and sports is outdoors, running around on a field or track and usually involves the use of balls, nets, rackets and other equipment.  But modern sports involves a lot of computing power.  There’s a ton of CS in just a single game.

Let’s start with the football.  While there’s still some hand work involved in making a football, much of the process is done by machines that are calibrated and run by computers.  Most manufacturing of any kind today involves specialized robotics to put things together.  Designs for the templates and the machines themselves are often made using CAD software.  Check out this video and see if you can spot the computing.

Now let’s move on to the field.  Fields must be carefully groomed and accurately marked, which is often done by robots or other computerized methods, but what most of us watching at home see is that magic first down line.  Creating that line uses a variety of computing tools.  First, a 3D model of the field is created, because each field is slightly different.  Next, the color of the field is recorded as the shades of green also vary, and the first-down line relies on green-screen technology to work.  Camera computers send position information to another computer, where a person basically right-clicks in the correct location to generate the line.  Wikipedia has a decent explanation of the process:

Each set of camera encoders on a camera transmits position data to an aggregator box that translates the digital information into modulated audio where it is sent down to the corresponding camera computer in the truck. This data is synchronized with the video from that camera. At the camera computer the camera position data is demodulated back to digital data for use by the program that draws the “yellow line” over the video.

 

Separately, the chroma-keying computer is told what colors of the field are okay to draw over (basically grass) and that information is sent to the camera computers.

 

That’s a lot of computation for one line!

The broadcast itself also involves a ton of computing.  Nowadays, the SuperBowl is live streamed in addition to being broadcast on regular television.  And it’s being streamed for free, so the algorithm to handle that many simultaneous streams is going to be complex.  According to the senior VP of digital media for NBC, Rick Cordella, the live Super Bowl stream will be available at variable bit rates ranging between 500 kilobits per second up to 5 megabits per second, delivered as an HLS stream.

Fans in the stadium won’t be able to stream the game, but there is an app available for them, allowing them access to those famous commercials and to different camera angles (http://bit.ly/167zQCA)

For many footballs fans, besides watching the games on television, participating in fantasy football online is a huge part of their interaction with the game.  All of that involves some serious programming, using data collected from real games to create the outcomes for the fantasy ones.  The fact that there is data to be collected that’s available through an API is of course, another way the game uses computing power.  Many teams use that data to improve their performance and select players for the next season.

So while you’re watching the Super Bowl tonight, or watching any sports game, really, think about all the computing power that makes the game possible.