Announcing the 2019 CSTA / Infosys Foundation USA Teaching Excellence Awards

  • “For years I never thought I was good enough”
  • “I wonder…am I doing this right”

These are quotes from our 2018 CSTA / Infosys Foundation USA teaching excellence award winners. A group of teachers that have not only made an outstanding impact within their own classrooms but also started new district wide programs; built engaging, strident led, inter-school partnerships; and lead the team revising the AP CS A exam! The truth is that even the most effective teachers find themselves facing doubt. Teaching is a HARD job, especially as a computer science teacher.

CSTA is here to make sure we take time to recognize the amazing work that’s happening in computer science classrooms across the country. This week we launched the application for the 2019 CSTA / Infosys Foundation USA Teaching Excellence Award with a few updates:

  • The application is split into two parts, making it easier to apply, and only requiring additional steps, like letters of recommendation after an initial review. We hope this will encourage more teachers to apply before that self doubt we all have creeps in.
  • We’ve doubled the number of awards, because there are so many outstanding teachers and we want to acknowledge them all.  Starting this year there will be five winning teachers and five honorable mentions.
  • You can now nominate a great teacher, encouraging them to complete the application and letting them know that you think they are an excellent computer science teacher.

The first round of the application is open through April 14 and shouldn’t take more than 45 minutes to complete. For more information and to apply now visit the award page.

Jake Baskin
Executive Director CSTA

K-12 Teacher Takeaways from SIGCSE 2019

The SIGCSE (the ACM Special Interest Group for Computer Science Education) Technical Symposium is the largest computing education conference worldwide. While the majority of sessions target higher education, there is a growing focus on K-12 education. I’m excited to share some learnings and research nuggets relevant to K-12 CS teachers from SIGCSE 2019.


In his keynote, Mark Guzdial made several recommendations for improving computing education:

  • Teach CS in other courses/contexts. Mark used an analogy of visiting a foreign country: how much language do you need to know to get by? It’s better to know more, but you don’t need to be fluent to enjoy your time. There is amazing learning power even knowing a small subset of CS.
  • Ask students to make predictions during live code demos. Get them to explicitly commit to a prediction, then test, and prompt reflection.
  • You don’t have to write code to learn from code.
  • Subgoal labeling improves understanding, retention, and transfer, in both blocks- and text-based programming, for both high school and undergraduate students. In fact, just adding text labels to video tutorials makes a significant difference.
  • Do what works: pair programming, worked examples, Parsons problems, media computation.

Helen Hu presented a POGIL (process oriented guided inquiry learning) lesson that guides teams of students in constructing their own style conventions for naming variables and writing expressions. See full activity and role cards. See also additional POGIL activities for CS Principles courses.

David Weintrop and colleagues presented research comparing high school students’ performance on blocks-based and text-based questions (similar to the formats used on the AP CS Principles exam). Students across all racial and gender groups performed better on the questions presented in blocks-based form, for all of the concepts studied.

Reading and tracing code is useful in understanding how program code actually works. PRIMM is an approach to planning programming lessons and activities and includes the following stages: Predict, Run, Investigate, Modify, and Make. See sample PRIMM activity sheets.


In her keynote, Marie desJardin identified five pernicious myths that impede diversity in CS:

  1. “He was born to be a computer scientist”
  2. “Computer scientists are… {Insert Stereotype Here}”
  3. “Anybody can be a computer scientist – girls just don’t want to”
  4. “It’s just a joke – don’t you have a sense of humor?”
  5. “ ‘Diversity programs’ are just political correctness”

Colleen Lewis created an Apples to Apples-like game for teachers to identify opportunities for inclusive teaching strategies and practice responding to microaggressions. View the printable cards and instructions. See also the critical listening guide from NCWIT (National Center for Women in Information Technology).

The 2018 National Survey of Science and Mathematics Education (NSSME+) surveyed over 2,000 U.S. schools and asked targeted questions about computer science for the first time. A key finding is that most current PD efforts focus on deepening teachers’ CS content knowledge, and there needs to be a greater focus on pedagogy and supporting students from diverse backgrounds. See detailed report and slide deck.


An interesting panel on debugging included several useful tidbits:

  • Deborah Fields suggested that teachers celebrate a “favorite mistake of the day” to create in-time teaching moments and encourage students to ask questions and share their mistakes. This can lower the stakes of failure and normalize mistakes as part of the process.
  • Colleen Lewis encouraged educators to live code in front of classes and explain their thinking, testing, and debugging processes. Model immediate and frequent testing, and promote growth mindset by learning from mistakes. See CS Teaching Tips for debugging.
  • Gary Lewandowski synthesized common types of bugs in programs:

The Everyday Computing team presented their newest K-8 learning trajectory on debugging. (See other learning progressions on sequence, repetition, conditionals, and decomposition).


Stan Kurkovsky and Stephanie Ludi have developed many hands-on lessons for teaching software engineering principles using LEGOs.

Zack Butler and Ivona Bezakova have curated many different pencil puzzle types and ideas that can be used as context for many high school CS concepts such as arrays, loops, recursion, GUIs, inheritance, and graph traversal. View a sample of puzzles. introduces foundational ideas of cybersecurity, built on threat modeling and the human-centered nature of authentication. The lessons are designed to meet the cybersecurity learning objectives in the AP CS Principles (CSP) framework, but they are flexible enough to be used in any high school CS class.

Shuchi Grover and SRI developed a series of unplugged and non-programming, computer-based activities to develop conceptual strong understanding of variables, expressions, loops, and abstraction.


p5.js is a Processing JavaScript library and web editor. Processing is a programing language developed specifically for visual artists; p5.js enables web-based programming in Processing. The New York City Department of Education has developed an introduction to media computation course using p5.js.

MYR is an online editor for editing and viewing virtual 3-dimensional worlds. The Engaging Computing Group’s goal is to make programming virtual reality (VR) accessible to beginners. Real-time sync allows users to program and enjoy their work almost instantaneously on a VR headset.

EarSketch is a programming environment that teaches (JavaScript or Python) coding through composing and remixing music in a format similar to Garage Band. The environment enables students to create studio-quality music using over 4,000 samples created by professionals (including Jay Z’s DJ!).

MakeCode from Microsoft is an online, blocks- and text-based programming environment for micro:bits. It has an ever-increasing number of tutorials and course, including a new set of science experiments designed by Carl Lyman to help middle and early high school grade students better understand the forces and behavior of the physical world. Another course uses micro:bits to teach the basics of computer networks.

BlockPy is a web-based, blocks- and text-based Python environment designed for data science and to allow users to authentically solve real-world problems.

The Exploring Computer Science (ECS) team recently published a new e-textiles unit and resources called Stitching the Loop. Students learn to create paper circuits, wristbands, a collaborative mural, and wearables with sensors.


The AI4K12 Initiative is joint project of CSTA and AAAI (Association for the Advancement of Artificial Intelligence) to develop national guidelines for teaching AI in K-12. The working group has developed five big ideas in AI and has begun developing a curated AI resource directory for K-12 teachers. See slide deck.

One example of an 11th/12th grade resource in the directory: TensorFlow allows users to tinker with neural networks in the browser.

Of course, this is only a small glimpse of the content presented at SIGCSE 2019. If you want to learn more, view the ACM Digital Library and consider joining SIGCSE in Portland next year.

Bryan Twarek School District Representative

Supporting Women in Computing

In recognition of Women’s History month, I’ve been reflecting on the teachers who work tirelessly to bring computer science education to their students. In particular, I wanted to acknowledge and appreciate the important role of the women who teach computer science in schools and in communities around the world.

We know that research tells us that mentors and role models are a key ingredient for success – as they say – “you can’t be it if you can’t see it”. Having a strong female role model teaching computer science – whether that is in school or out of school – is one way to help girls dispel myths about who belongs in computer science – and helps them clearly see that they do belong in this field.

Another great way to continue to build inclusive computer science education and help girls – and all students – see and grow the impact of women in computer science is to share the stories and impact of women who’ve pioneered the way. Women’s History Month is the perfect time to do this since there are so many great resources created, shared and highlighted.

I’m sharing a few resources that I found interesting and hope you will add to this list. While I know that by sharing a short list, I risk of leaving things out. But with the goal to start somewhere… here we go! I’m sure you have some you want to share. Please do! Post them on Twitter, tagging @csteachersorg with the hashtag #CSforAll so others can see them too.

NCWIT has so many great resources! The Pioneers in Tech Award announced their newest recipient – and you can check out past recipients for even more inspiration!

Want to inspire your students in person? Check out opportunities to attend The Grace Hopper Celebration, the largest gathering of women technologists, which is a part of the Anita Borg Institute.  

The IEEE Computing Society has a range of resources to both promote and support women in computing as well as links to other great programs and resources.

Check out the list of women led, women focused computer science organizations created by Ruthe Farmer, Chief Evangelist for CSforAll. Find out who is operating in your community and see how you can partner!

San Francisco Unified School District’s Celebration of Women in Computing shares a GREAT list of resources (including lesson plans and posters!) they’ve compiled. (Thanks to my fellow CSTA board member Bryan Twarek for sharing!)

Through inspirational student interviews with a range of diverse female and male CS professionals, Roadtrip Nation’s Code Trip shows students that there are many pathways they can follow in pursuit of computer science education and computing.

And finally, help inspire the women we see on these lists, posters and history books in the future! Help make sure more girls have strong female role models by nominating a female teacher you know to receive a scholarship to attend a training!

Yvonne Thomas
Partner Representative CSTA Board

Situated Computational Thinking


The research group that I’m a part of, Re-Making STEM, of is looking at ways that computational thinking (CT) practices intersect with creative, collaborative human activities.  This has led to some really interesting explorations in computing, cognition, and culture. Our practical goals include: discovering ways that teachers and their students can engage with and learn CT, and discovering design principles for learning and applying CT in interesting ways.  In this post, we’ll look at some of those explorations and hopefully leave you with some things to think about.

Computational thinking

I think this definition of CT is as good a starting point as any:

Computational Thinking is the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an information-processing agent (Cuny, Snyder, Wing, 2010).

Wing (2010) says she’s not just using problem / solution to refer to mathematically well-defined problems but also to complex real-world problems.  She also says that the solutions can be carried out by humans, computers, or combinations of humans and computers. This definition places the emphasis on representation, but begs the question, what are forms that can be effectively “carried out” by information-processing agents?  What does “carried out” mean anyway?

Let’s pin these down for the sake of discussion.  We might say that the forms we’re talking about are abstract representations (abstractions, the noun).  Indeed, abstraction (the verb) is widely recognized as an essential component of CT (Grover and Pea, 2013).  Let’s say abstractions are formal representation (e.g. formal logic, mathematical equations, computer code), and “carry out,” means execute.  So we’re talking about executing algorithms. And let’s be real – we are only going to write formal algorithms if we intend to automate them with a computer.  

So if CT in practice is, “writing algorithms that can be executed by computers,” then we are really talking about programming.  This contradicts Wing’s clarifications about “problems” and “agents,” described above. Furthermore, the field is saying loud and clear that CT is not just programming.  Since 2013, the concept of CT has expanded (e.g. Weintrop et. al., 2015), and for most people it is certainly not limited to executing algorithms on computers.

Opening it up

Let’s look at this piece by piece, starting with the “carrying out.”  Even if we’re talking about formal representations and computers, CT involves formulating data as well.  Data is not “carried out,” or executed, like an algorithm – it is structured, processed, analyzed, synthesized, and interpreted (by humans and computers).  

Now let’s look at formality and agents as computers / humans.  We already saw what happens when we are strict about formality and computers.  If we loosen the restriction on formality, but still think of agents as computers (or virtual agents), then we allow pretty much any human-computer interaction.  If we keep formality strict, but allow for people as agents, then we allow for things like math to count. The latter might work for some, but I would ask: do we care about distinguishing between CT and mathematical thinking?  Is CT == mathematical thinking + computers? Do we want to allow for less formal expressions of CT?

Let’s put these two axes (more or less formal, extent of computer use) on a table.

We in the CS community might have a tendency to think about CT as living in the upper-left corner of the table (formal, tied to computer use).  In reality, creative collaborative human activity blends all of these types of communication, and CT (whatever it is) intersects with all of these other areas.  Authentic computational practice also involves multiple people and computers working together – there are more than two agents in the system. So, as a general case, we have systems with: agents (humans, computers, and virtual agents), situated in environments (physical, social / cultural, virtual), interacting using systems of representation (sounds, images, diagrams, natural and formal languages, etc.).  

One CT, many CTs

What are the implications of this?  I think there are two clear options for how we define CT:

  • (A) Restrict what we mean by CT.  This is perfectly reasonable and probably necessary for most practical purposes.  However, this has the inevitable consequence of fragmenting our understanding of CT.  There will be different CTs in different disciplines / fields. We will do this, but we should try to understand the restrictions that we are imposing, and the consequences of imposing them.
  • (B) Break our concept of CT wide open.  I think the scientific community (at least, those who are studying the construct of CT and how it plays out in real cultural contexts) should do this, so that we can explore how CT is understood and practiced in a variety of contexts and for a wide range of purposes.  

This is not a binary choice that we need to make, individually or collectively, once and for all.  The processes of imposing structures and breaking them apart will enrich our understandings of CT. In closing, I ask you to consider how you construct CT with your students and colleagues, and what effects this might have on who engages with and learns CT at your school.

These ideas in this post are part of a collaborative research effort with the Re-Making STEM PIs, Brian Gravel, Eli Tucker-Raymond, Maria Olivares, Amon Millner, Tim Atherton, and James Adler, and the dedicated research team, Ada Ren, Dionne Champion, Ezra Gouvea, Kyle Browne, and Aditi Wagh. 
This material is based upon work supported by the National Science Foundation under Grant Numbers DRL-1742369, DRL-1742091. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

References and further reading:

David Benedetto, At-Large Representative

Scrum in the Computer Science Classroom

According to the World Economic Forum’s (WEF) highly recommended meta-study “21st Century Skills”, schools need to prepare students to have a “future-based mindset” with skills such as collaboration, creativity, and adaptability.  Their answer: project-based learning (PBL). While PBL is gaining much speed in schools, how to manage projects can be a challenge: who is doing most of the work? who isn’t participating fully? how do you assess who has done what?

 In the computer science field, one means of project management is the Agile software development paradigm which, among other aspects, implements Scrum, a methodology for dividing work that needs to be completed into sprints, or stories.  In the Scrum environment, the team is considered capable of completing the task on their own. While the team is self-directed and is encouraged to problem-solve independently, there are two clearly defined roles that facilitate the process.  The first is the Scrum Master (in the classroom, this is the teacher), and the Product Owner (the students). The role of the Scrum master is to help the team when there is some impediment to their completion of a task, such as a bug or a design flaw.  The product owner’s/students job (in schools) is to keep the vision of the solution and manage the daily tasks. Scrum has recently been adopted in schools as a way to manage projects in both computer science and non-computer science classrooms.

Scrum meetings, which are short meetings occurring each day the class meets, consist of asking three essential questions:  What did you accomplish since the last scrum? What do you expect to accomplish before the next? and, Is anything blocking you (blocks are solved outside the scrum meeting)?  This level of accountability for students is essential for setting goals, prioritizing project tasks, assigning roles and jobs for team members, and keeping students on track for project completion. In 2016, The University of the Pacific conducted a study on using scrum in three computer science courses.  Their conclusion was that, overall, students found the above benefits to be true and helpful, while a few found the Scrum process to be cumbersome.

I have been using Scrum in my own classroom for several years now with great success.  Students know what they are expected to do and are held accountable to not only me, but to each other.  There are two components that stand out as key to the process. The first is student articulation and presentation of their project status.  This forces them to really pay attention to what they are doing, how their code is working, and gain an understanding of what they need to do next and with what they are struggling.  These are essential skills for their future as software programmers and engineers. The second aspect is teacher feedback. The daily feedback is essential for keeping them on track for successful project completion and for addressing problems quickly.  

While there are many ways to manage project based learning in an educational setting, it makes sense that in a software development course, learning to work in an environment that mimics the “real world” teaches valuable skills, in addition to preparing students for their future.

Works Cited

“Implementing Agile and Scrum in the Classroom.” GDC Vault,

“Scrum in the Classroom | Time for Change (Part 1).” Agile Transformation Experts and Agile Coach in New York City, Amsterdam, Miami and Boston,

Jimenez, Osvaldo, and Daniel Cliburn.  “Scrum in the Undergraduate Computer Science Curriculum.”  Journal of Computing Sciences in Colleges,  Volume 31, Issue 4, April 2016, pp. 108-114.

Amy Fox, 9 – 12 Representative

“With a Little Help from My Friends”

With our ever-busier lives, I really appreciate my friends who help keep me up to date on interesting and exciting new developments in computing education. I am sure I saw the original posting but reminders from my friends help me remember to pay attention!!

Here are 2 items that my friends Mark Guzdial and Alfred Thompson recently pointed out to me!

Mark has a really interesting blog and recently wrote about the new SIGCSE conference paper award. To celebrate the 50th Anniversary of the SIGCSE Conference, the “Test of Time” award has been created. Its goal is to identify the top 10 papers submitted to SIGCSE in the past 50 years! You can see the list and vote here.

In honor of this event, ALL SIGCSE conference papers are freely available in the ACM Digital Library until March 2, 2019.

Here are a few of Mark’s favorites:

It’s worth the time to skim through the list and see what catches your eye – download now for FREE and save them to read later. There are lots of fun papers!

Alfred keeps a list of interesting blogs – at including:

  • Mike Zamansky Mike runs the computer science program at Stuyvesant High School in New York City. He’s a very creative person. he’s also built and maintained a community of students who stay connected after graduation.
  • Garth’s CS Teacher Blog  Garth Flint is a teacher at a private Catholic school in western Montana. Garth always gives me things to think about.
  • Mark Guzdial –  Computing Education Blog  Mark is probably doing more research in how to teach computer science right than anyone else I know. His posts include information about the CS Principles course, he is on the advisory board, which will probably be a new APCS course. 
  • Doug Bergman is the award winning head of Computer Science at Porter-Gaud School in Charleston, SC 
  • Set Another Goal By Clark Scholten Computer Science Teacher at Pinnacle High School
  • Dawn DuPriest – coding in math class –  Middle School Computer Science and Electronics teacher
  • Communications of the ACM: blog@CACM The CACM blog has posts from some of the top people in computer science. Some of the posts are very technical but many are potentially interesting for students, teachers and CS hobbyists alike.  

Oh, and one more thing – I was honored to be the guest editor for the ACM Inroads magazine celebrating the 50th Anniversary of SIGCSE organization.  This special issue came out in December 2018 and has a variety of articles about the history of the organization, thoughts about the future, challenges we may face, etc. My favorite section is the “My SIGCSE’ where some of the SIGCSE members who share their stories with us. Give it a look!

So thankful for my friends!!

Jane Prey, ACM Representative

Narrative imagining: A celebration of Computer Science in Arkansas

“Narrative imagining — story — is the fundamental instrument of thought.  Rational capacities depend upon it. It is our chief means of looking into the future, or predicting, of planning, and of explaining.”  – Mark Turner

A few weeks ago, I put out a call over our state’s Computer Science Education Listserv, which anyone is free to join at, with the subject line of, “Looking for a cool student story to highlight at a state level…” I wanted to share these stories with Governor Asa Hutchinson so he could continue to be aware of some of the real-life outcomes of his vision and focus. The response from the call was outstanding; I received feel-good stories about lives changed and practical implementation stories about the successes that schools are enjoying because they are focused on their students. Today instead of a call to action, as I have used my time on this blog in the past, I am going to share some of these stories just for your consideration, reflection, and as a celebration of Computer Science in Arkansas, its students, and schools!

John Mark Russell, Ignite Technology Instructor at Bentonville School District, shared the following:

“I have three of my Ignite Technology students working as interns at Walmart labs.  These students work on Walmart’s Next Generation Point-of-Sale system. Our students helped develop a new cloud-based system using Kubernetes.  The business objective was to create a seamless checkout experience for Walmart customers.
Our students worked side-by-side with Walmart IT professionals to build Docker images, and to write code using Java and NodeJS.  As of January, the student’s code is being deployed in over 5,000 Walmart locations. To quote Walmart manager and student mentor, Jeff Parker: Students should be able to point at the Self-Checkout’s and say, “I helped make that happen.”
I am thrilled that our high school students have production code running within the world’s largest retailer.  We call this Real. Relevant. Learning.”

Jason Crader, Middle School Teacher in Little Rock School District, shows how Computer Science is also impacting our middle-school students:

“We have two fifth grade students who have created the Book Bracket Battle to help improve reading at our school. It’s like the NCAA Basketball tournament, but for picture books. During the first semester, they filmed local celebrities reading books and then edited the videos to make them more interesting to watch. After getting everything filmed, they created this website (  for classrooms in our school and around the district to use to vote for their favorite books. There is a weekly battle that takes place between two books that will eventually lead to crowning a champion in April.”

Ryan Raup, of Conway School District, shared how Computer Science through Micro:Bits has made a demonstrable difference with a particular 3rd grade student:

“Earlier this year, I introduced some of my 3rd graders to the micro:bit. The students had prior experience with block style coding in Code.Org so the Micro:bit was a nice next step. Two students really stood out for me because the micro:bit, hands on learning and critical thinking of working through the tutorials and then personalizing their specific projects was a great fit for them as individual learners. Student A has Attention issues and was having some difficult days and weeks during this time. He is a bright student and excelled at the micro:bit and was able to focus and be self disciplined to work through different tasks on his own with minimal support from me.  Those same days he could not stay in his seat and work independently with a traditional resource like books, pencil and paper. The micro:bit was a wonderful option for me to have to help this student. Student B was also successful at manipulating the different projects and was glued to the display and the micro:bit. Student B also has some minor focus issues and can be rude and short with other students socially. He is also a bright student and loves a challenge. Not only was he able to work independently and work through the tutorials in micro:bit he excelled in working with other students and showing them how to use the micro:bit. He was calm, direct and considerate of those that he helped. I saw this new strength in him that I had not seen before. As educators we find ourselves looking for resources to help us reach students that can be difficult to teach at times for reasons as stated above and many others. We often talk about the higher level problem solving and the project oriented aspects of programming but forget that programming is great for behavior and learning disabilities as well. If you are a teacher in a building or district that is slow to try new things with technology, I would suggest stressing the classroom benefits side of micro:bit and other programming resources. I am so thankful for tools such as micro:bit which was introduced to me a couple of years ago and finally brought into my classroom last year. Every year, I reflect and base my success on the number of students I can truly reach or find their strengths and passions and Computer Science is a wonderful systematic approach available to me.”

Arkansas will continue to lead by supporting our schools and students through this initiative. In addition, the Arkansas Department of Education Office of Computer Science and its team, under the vision and support of Governor Hutchinson, continues in our commitment to assist other states and our nation as a whole. The State of Arkansas is appreciative of the continued work and efforts of educators, policy leaders, and computer science advocates as we all continue to embark on and expand computer access and positive impacts.

Anthony A. Owen
State Department Representative

What Employers of Computing Professionals Want

There are lots of important reasons for teaching K-12 / pre-university students computer science.   Providing the first step towards ultimately becoming a computing professional is just one, which applies to a minority of the students; for most it is an important life skill that they will use as citizens and in whatever jobs they have.   But some – hopefully more as we teach more computer science in schools –go on to become computer professionals.  So it may be interesting to share some insights into what their prospective employers are looking for.

I’ve been fortunate to have the opportunity to interface with lots of computing employers for years, both tech companies and other companies looking for computing talent.   I’ve done this in a variety of regions of the US, primarily Indiana (where I was from 2007-15), Colorado (where I’ve been the rest of my adult life), and the Bay Area (where I go frequently for professional reasons and to keep our airlines solvent).

Regardless of the region, or the size or type of company, one hears a consistent set of desires for computing employees: 1) we need more of them; 2) we need better diversity; 3) we need them to have strong non-technical as well as technical skills.  K-12 computer science teachers can play an important role in all these regards.

The quantity need is self-explanatory.   If there is any surprise, it is that everyone says this – whether famous large companies or small ones, whether situated in a tech hotbed or not, whether tech companies or other types.  University computer science enrollments have exploded in recent years – tripled or more at many places – but it’s still not satisfying demand.   The huge increase in students taking things like CS AP hopefully points to even more growth.

Companies view diversity as a social imperative but even more as a business imperative.   It is documented that diverse teams produce greater creativity and better business results.   And products designed for a diverse market need diverse input in their creation.   We are seeing progress in the gender and ethnic diversity of students learning computer science in schools but have a long way to go to produce a computing workforce that reflects society.

Finally, managers almost always stress the non-technical skills computing professionals need beyond computing: communication, collaboration, often some business understanding, ethics, and more.   Being a computing professional has evolved to a job where one often works on professionally diverse teams, and on projects (e.g. autonomous vehicles, or social networks) that require a sensibility about people and the world.   Working practice of those skills into your computing course is a good way to reinforce their importance.   And when that student who already has taken several computing classes comes to you to ask about another, it might be good to point them to a communication class instead!

Bobby Schnabel, Partner Representative

Never too late to innovate

Last summer, after nearly 19 years as a CS teacher, I started thinking how my class has evolved exponentially over the years and how this school year I wanted more of those deeply gratifying “Aha” moments from my students. So, I started researching ways in which my Computer Science class should evolve beyond updating the content to align the new standards. I realized I was giving myself a big task, considering that I was still mapping my curriculum to the new CSTA standards which it is a lot of work by itself. My goal, my hope is that my experience is useful to other CS teachers out there looking to make some reinvigorating and refreshing changes.

So here is my journey to start the new school year. Part of my research included finding out how important Computer Science skills are in the work force. What would my kids really need once they leave our school and be prepared for both college and “real world”? There is so much information out there that is easy to become overwhelmed so I had to narrow it down to focus on my goal. What would bring those “Aha” moments to balance the covering of my content and preparing my students for when they leave High School? I remembered that when I was in High School, I was required to take a home economics and woodwork shop class. I remembered the best part about these classes was the satisfaction when I finished a project and could take it home to show off. The closest to that emotion I have seen in my students is when a program finally works and they get the result they want, or when a robot finally performs as expected due to its programming. So, I thought why not combine the CS skills and content with that satisfaction of creating something tactile that can be used in real life besides software. Basically, bring CS alive through STEM and real-world applications. I was able to pull this off with 3 simple steps that did not break my school’s budget:

Step # 1: I redesigned my computer lab. I didn’t want to be a makerspace; after all this is a Computer Science class not an engineering course but I needed some elements of the engineering process. This didn’t require a large budget so it is always good to start to look at what you have and how to use it, what your school has and how to recycle any pieces of furniture you can find. I’ve never had a class with more than 24 students as that is my school’s policy but my lab had 30 student PC computers. I took 6 student PCs out and kept 24 which left me with 3 long tables. I used two of those to create a working area, where students could 3D print and assemble robots & collaborate on other innovations. Now I had 3 main, clearly identified areas in my lab: The Research & Innovation Area, which is where the PCS are located, students can research and investigate prototypes, program and research. The Engineering Area, which is where students get their hands “dirty” building their prototypes and The Robotics Area where I have my robotics table to assemble and test robots.

Step # 2: I requested the school purchase materials that I needed that were not your typical Computer Lab things like included drills, screw drivers, sand paper, tweezers, wrenches, solders, cable strippers, etc. I also got lucky when my school got two 3D printers donated so now, I had 3 at my lab. These are part of the Engineering Area.

Step # 3: I had to “spice up” my projects for the semester so they were fun, engaging and aligned with the content I needed to cover. I took some time to research many innovative projects and found some that were just right. My students are now creating digital pets with Microbits, which are cheap and simple yet very adaptable electric boards, they are making collaborative projects like designing a drone 3D model that can be printed and programmed using two Microbits, building hats that sing and even video games played with controllers that they designed. Other simple yet valuable projects include measuring the humidity in soil.  

This past December I finished the first semester and I can say that these changes have been successful. It is possible to integrate Computer Science into STEM without losing the essence of what Computer Science is. The students were very engaged, they treaded unfamiliar territory with power tools and allowed their minds to be challenged while having fun. Yes, at times the classroom was a little bit of an organized chaos, but this is exactly how learning should be; challenging and fun.

Michelle Lagos

Michelle Lagos
Representative at Large

New Year, New Ideas, New Strategies: Personalizing Learning in Computer Science Education

It’s that time of year when everyone is reflecting back on the experiences they’ve had the past year and thinking about resolutions for the upcoming year. As teachers, we usually reflect back during the summer months on how the school year went. However, teachers also use the end of a semester as a time to reflection. Often times after winter break, teachers start new classes and have new students. With the start of a new semester, teachers have the opportunity to review and build upon previous experiences from first semester, but also implement new ideas and new teaching strategies. With the second semester quickly approaching, it has me thinking of my own resolutions for second semester and what I would like to do differently. At the beginning of this school year, I attended a workshop where I learned about the five elements of personalized learning set forth by my school district. I remember walking away from this workshop with a handful of ideas and strategies that I could implement in my own classroom. However, here I am at the end of the semester, and I haven’t had the chance to fully implement the five elements. So as my second semester resolution, I am committed to personalizing the learning experience for students in my computer science courses. Below is my plan as it aligns to the five elements of personalized learning.

Element #1 – Know Your Learners:  Knowing my students’ interests is the beginning of personalizing their learning experience. By using interest inventories, I can find out what areas of computer science they’re interested in, what they already know, what they would like to learn, and how I can help them to further their overall interests in computer science.

Element #2 – Voice and Choice: I know that all students learn differently, so why should I force all my students to sit through a lecture or have them all do the same project with the same requirements? By letting go of the uniformity, I provide voice and choice for my students. Students will not only be given a choice in how they access the content, but they will also have a choice in how they demonstrate their proficiency. Ultimately, I want my students to have the opportunity to demonstrate their learning in a meaningful way and give them more ownership of their learning.

Element #3 – Flexibility:  It seems like the term “flexible classroom” is all the rage these days. Providing students an opportunity to move their desks, sit in comfy chairs, and work in all areas of the classroom is said to increase learning and engagement. I was skeptical at first, but after trying it out for one week in my classroom, I was shocked. My fears of students not getting any work done and just socializing were quickly dismissed. My students really enjoyed having the freedom to move around and collaborate with each other, allowing them to make the classroom their own personal learning space. I also feel that a flexible classroom provides my students with a more realistic view of what they will encounter when they enter the workforce, especially in the field of computer science.

Element #4 – Data Informed Decisions: Students often look to teachers to be the experts, but rarely are students given the opportunity to be called the expert. By pre-testing each student, I can get a better understanding of their skill level and use this data to provide them with a more individualized approach to learning. I can also encourage students to step forward and be content experts, allowing them to do some peer-teaching.

Element #5 – Technology Integration:  The SAMR Framework is a commonly used model for technology integration. I find myself all to often integrating technology that only enhances my content, which only reaches the first two levels of the model (Substitution and Augmentation). I would like to stretch myself and explore types of technology integration what will reach the transformation levels of the model (Modification and Redefinition). One type of technology integration that I would like to implement is student-created podcasts and videos. I want to give my students opportunities to become creators of content and share their experiences with others.

I am excited to embark on my resolution of embedding the elements of personalized learning within my computer science courses. I think by embracing the mindset of personalized learning while structuring my classroom around the five elements will lead to an increase of student engagement. I am also excited to see my students take more ownership of their learning and pursue their passions further in the field of computer science.

Kristeen Shabram
K-8 representative