Teacher, Facilitator or Guide?

These past weeks I have been thinking about how Computer Science education and the way to teach it has evolved. I have been a teacher for about 19 years now, and most of the time my students make the most interesting questions that get me thinking and researching about certain topics. That is how this blog was conceived. I am currently teaching my 9th graders how to work with BBC Microbits. (By the way, Microbits are awesome!) To introduce them I start giving them instructions that are very detailed about how the Microbits work and to get acquainted with the Make Code interface. When I say detailed, it is very detailed. I give them a step by step guide including screenshots of where to find the necessary blocks, how to save, download the program and upload it to the Microbit. How to use the Microbit simulator included in the Make code interface. Once we do several projects in which we learn how to make the Microbit sing, how to work with the LED screen and how to connect alligator clips, I assign a project in which they have to come up with a character and incorporate the Microbit as part of it adding at least 2 actions with it. That’s when it all goes south!!!!

Many kids seem lost. It’s like they have never used a Microbit before. That got me thinking. When I started learning programming, I learned using Pascal with a green and black screen and all programming was text based. It was hard!!! But I also remember a professor telling us that if we learn the hard way then after any programming language should not be as hard to learn as we had the base and logic to programming. At the time I really hated that comment as any student would’ve but today as a teacher I wonder if I am up to something here. Am I, as a teacher, allowing my students to really think on their own? To really grasp the logic of creating a program. Or are they just little robots following my instructions?

I decided to analyze the progression of my students to get to ninth grade Computer Science. Throughout their early years we want to engage them and get them to like and be interested in Computer Science and all the possibilities they have with it. As we introduce them to all the wonderful things that we can achieve with Computer Science, we look for tools that are engaging and fun. Many companies have helped produce such introductory tools, which make it so easy for kids to learn that they start enjoying programming. However, they get so used to it that then the progression to more complex programming seems harder. Emphasis on “seems”. Making the transition from block programming to text programming is set by many of these tools, including the Microbit. The Microbit can be programmed using blocks, JavaScript or Python so that is covered. But there is an element that only teachers can do and it is to facilitate the transition between just giving guidelines that are so specific that it seems students are only copying a program while truncating their creativity and promoting the ability to create and discover on their own or by giving a task for them to solve on their own. I realize that although I am teaching Computational Thinking skills my kids are used to getting very specific instructions for programming. This is not bad it’s just that the transition is not as seamless as it seems. So how should the transition take place? I believe a good starting point is to be cutting on the screenshots on the instructions guide and limit them to the instructional part of the lesson, by going through the steps with them and let them take their own notes. Then when a project is assigned, they can take a look back at their notes as a reference. Another tip is to include videos as additional help but getting away from giving too detailed step by step instructions starting in the Middle School area so that when presented with these kinds of projects in High School, they have a base on how to solve them. Let the instructions be a guide and not a solved problem for them to copy.


Michelle Lagos
Representative at Large



Introducing Cybersecurity Concepts in the K-12 Classroom

As a Career and Technical Educator, equipping students with career-readiness skills, like communication, problem-solving, and collaboration, is my first-order priority in the classroom. While these skills focus on preparing students to be successful in the workforce, we as educators have an increasing responsibility to prepare our students to be safe, respectful, and responsible digital citizens. Digital citizenship can be broadly understood as membership and participation in an online community, such as the internet or its various sub area. In this way, being a “good” digital citizen means, as the Digital Citizenship Institute defines it, having “norms of appropriate, responsible behavior with regard to technology use” [1].

One key behavior in the set of good digital citizen norms involves taking sufficient precautions to foster strong personal and community digital security. This goes far beyond telling your students to not talk to strangers online or to not share their personal information on social media sites. Students need to understand the kind of information that is being passively collected from them when they visit or create accounts on websites and what value it has to them, those that want to collect it, and potentially others if it gets leaked or released. Understanding the potential threats that they might face when sharing personal information on any website, including social media sites, is also important. As an example, I’ve taught many students that didn’t know that their photos contained geotags (longitude and latitude numbers) that could be used by attackers to figure out where they live or places where they frequent. Finally, equipping students with the skills they need to be able to identify potential attacks and avoid being a victim of scams, such as phishing and identity theft, is also paramount.

Even if you see the value of digital citizenship preparation in your classroom, you may feel like you don’t know where to start or how to tie topics like security and online safety into your existing curricula. Don’t worry! There are many online resources that can help. First decide what cybersecurity concepts you want to teach in your classroom. You can find lists of topics online ranging from social media safety to types of malware to password complexity. The bottom line is there are plenty of lessons and curriculum to choose from. You can even choose to integrate a single lesson, a module made up of several lessons, or even a whole semester or year-long curriculum. To help you move forward, I have listed some of the resources that have helped me along the way as I have integrated more cybersecurity concepts into my classroom.

Cybersecurity Curriculum

This curriculum was designed by a friend of mine for a high school computer science course with a focus on cybersecurity. I really like how his curriculum design is customizable. The activities that he provides can be single one-day lesson or a complete semester course. You can take a look at https://derekbabb.github.io/CyberSecurity/

Common Sense Media

Commons Sense Media provides a complete K-12 Digital Citizenship Scope and Sequence. Privacy & Security is one of the topics they focus on and there are a variety of lessons on various cybersecurity topics. I really like how topics are introduced in the K-2 grade band and then expanded on in higher grade bands. Find more at: https://www.commonsense.org/education/scope-and-sequence

UNO GenCyber Modules

I had the opportunity last summer to teach at a GenCyber Camp hosted by University of Nebraska at Omaha. This camp provided several modules that span a variety of cybersecurity topics. The modules are available online at www.nebraskagencyber.com and have a creative commons license. (Side note) If you’ve never attended a GenCyber Teacher Camp, you should check to see if one is being offered in your state.

Other Resources:

CodeHS Cybersecurity Course – This entirely web-based curriculum is made up of a series of learning modules that cover the fundamentals of cybersecurity. You can take a look at https://codehs.com/info/curriculum/cybersecurity

Cybersecurity Nova Labs – This Cybersecurity Lab is a game that allows players to discover how they can keep their digital lives safe and develop an understanding of cyber threats and defenses. You can take a look at https://www.pbs.org/wgbh/nova/labs/lab/cyber/

CyberPatriot – ​​​​The National Youth Cyber Education Program created by the Air Force Association (AFA) to inspire K-12 students toward careers in cybersecurity. You can look at it https://www.uscyberpatriot.org.

Citations:
[1] http://www.digitalcitizenship.net/nine-elements.html

I

This image has an empty alt attribute; its file name is headshot-264x300.png

Kristeen Shabram
K-8 representative


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.

EFFECTIVE TEACHING PRACTICES

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.

INCLUSION

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.

DEBUGGING

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).

UNPLUGGED LESSONS

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.

TeachingSecurity.org 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.

PROGRAMMING ENVIRONMENTS & CURRICULA

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.

ARTIFICIAL INTELLIGENCE (AI)

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 code.org training!

Yvonne Thomas
Partner Representative CSTA Board

Situated Computational Thinking

Intro


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, www.gdcvault.com/play/1020769/Implementing-Agile-and-Scrum-in.

“Scrum in the Classroom | Time for Change (Part 1).” Agile Transformation Experts and Agile Coach in New York City, Amsterdam, Miami and Boston, www.incrementor.com/blog/2018/2/18/scrum-in-the-classroom-time-for-change.

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 http://blog.acthompson.net/2012/11/computer-science-education-blog-roll.html 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 http://goo.gl/forms/FqGJ2CtXe1, 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 (https://bookbracketbattle.com/)  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