I often hear comments like those below when I talk about teaching programming in Kindergarten through 2nd grade.
“Kindergarten students can’t program. They aren’t reading.”
“How can they program when they can’t type yet?”
“Is it even age-appropriate to ask primary aged students to program?”
You would think these comments would be from people who do not work with students in these grades, but that is not always the case. Computer science and programming can be scary to teachers who have not been trained in what CS is and what it looks like for 5-8 year old students.
One of the most common misconceptions I run into about programming in K-2 is that programming looks like this:
public static void main(String args)
Yes, that is programming but that kind of programming would not be age-appropriate for primary grades. Fortunately, programming does not look like that for 5-8 year olds.
Programming in K-2 is ….
Visual and block-based
Hands-on and not necessarily on a screen
All About Sequencing … Sequencing is an important skill for students in all curricular areas. In reading, sequencing is the ability to recognize the beginning, middle, and end of a story along with being able to retell the events in the proper order. In math, sequencing is important for counting, pattern recognition, and the order in which computation should occur. In science, sequencing is important when conducting experiments and in social studies, sequencing helps students to understand the order of events. Learning to program reinforces the idea of sequencing since programs run in sequence and the order in which code is organized determines what happens in a program.
Cross-Curricular … Programming in primary grades is often cross-curricular. There are so many ways students can use programming to show what they know across the curriculum. Here are just a few ideas:
Use robots to:
Identify and spell words (sight words, word families, vocabulary)
Show math knowledge: for example, roll dice and have students add or subtract values and then program a robot to the correct answer
Navigate a map
Illustrate a lifecycle
Write programs in ScratchJr (or in Scratch, if students are reading) to:
Tell an original story
Animate a lifecycle
Tell about an animal or an important person
Animate a word problem in math
Programming in K-2 is also collaborative and creative and teaches students to problem solve and persevere. So, yes, learning how to program is age-appropriate and beneficial for K-2 students and yes, they can do it!
“You can’t think about thinking without thinking about thinking about something.”
It always leads me to wonder what students are thinking about their thinking as they are learning. Are they able to think about and grasp the concepts they are learning as they write a game in Scratch or program a step counter on a micro:bit or build and program a robot? Are they able to understand what they have learned and transfer it to a new programming environment? What can we do as teachers to help our students to think about their thinking so they can understand what they are learning?
To make reflection a normal part of the process for my students, each student has a portfolio website for sharing and reflecting on the projects and activities they complete during their technology classes. My youngest students use Seesaw for sharing their work. Starting in 3rd grade, my students use Google Sites for their portfolios. This allows the students to not only think about their thinking and reflect on their current work but it lets them look back at their thinking in prior years, as well.
I decided to use these types of portfolios for a few reasons:
Reflecting on and documenting their work may help to meet computer science standards, including:
1A-AP-15: Using correct terminology, describe steps taken and choices made during the iterative process of program development.
1A-IC-17: Work respectfully and responsibly with others online.
1B-AP-17: Describe choices made during program development using code comments, presentations, and demonstrations.
Since the students are writing during their computer science classes, it may also help them to improve their writing skills and meet language arts standards as well – CCSS.ELA-LITERACY.CCRA.W.2: Write informative / explanatory texts to examine and convey complex ideas and information clearly and accurately …
Their portfolio shows their growth over the years.
It can be difficult to get students to think about their work. To help, younger students are given sentence stems to complete or are asked to answer certain specific questions when they post their work. They will also often record their answers rather than typing in their answers like Natalie did when she was in 1st grade talking about Hello, Ruby lessons
Upper elementary and middle school students are still given questions and other guidance to help them focus on their thinking and learning but the amount of guidance decreases dependent on the grade level and ability of the student.
While I love using student websites or blogs as a vehicle for students to think about their thinking and reflect on their learning, it’s not always possible to do so. It also does increase the time required to finish an assignment or project. This got me thinking about other less time intensive ways for students to reflect on their learning and serendipitously this popped up on Twitter:
I love the idea of using a simple checklist document to help students reflect on what they are actually learning. This could easily be printed or turned into a Google Form and used as an exit ticket in the last few minutes of class.
How are your students thinking about their thinking and reflecting on their learning?
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.
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:
“Anybody can be a computer scientist – girls just don’t want to”
“It’s just a joke – don’t you have a sense of humor?”
“ ‘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 thecritical 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).
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.
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.
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 experimentsdesigned 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.
BlockPyis 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.
Genius Hour is a movement that allows students to explore their own passions and encourages creativity in the classroom. It provides students a choice in what they learn during a set period of time during school. The Genius Hour movement has been around for years and has been used by some of the world’s leading innovative companies. One of those companies, Google, allowed their engineers to spend 20% of their time to work on any project that they’re passionate about. The philosophy behind this movement is that when people are given the opportunity to work on something of personal interest, productivity goes up. Well, they were right. Since Google’s implementation of Genius Hour, fifty percent of their projects, including Gmail and Google News, have been created during this exploration time. Who would have thought that allowing employees the freedom to explore their own interests during work time would contribute to the company’s success?
Since its inception, Genius Hour has made its way into the world of education and is transforming the way students learn and take ownership of their learning. There have been many educators leading the way with Genius Hour in their classrooms and most of their inspiration has come from Angela Maiers and Amy Sandoval’s book The Passion-Driven Classroom: A Framework for Teaching & Learning. Recently, I have become inspired by this Genius Hour movement as well, and I have started to explore how I could apply it in my own classroom. More specifically, I have thought about how could I use Genius Hour to encourage my students to further explore the field of Computer Science. There are so many areas of study in Computer Science and I often find myself just providing a brief summary for my students to spark their interest. But what if I could ignite that spark, and then provide an opportunity for my students to keep the flame going?
Recently, my school district made a commitment to personalized learning for all students and invested in personalized learning coaches that will help with implementation in the classroom. When it comes to personalized learning in the classroom, no single thing is more powerful than Genius Hour. One of the coaches loaned me Andi McNair’s book Genius Hour: Passion Projects that Ignite Innovation and Student Inquiry. After reading this book, I definitely feel prepared to ignite that spark and implement a Computer Science Genius Hour in my classroom. McNair say, “Genius Hour provides students with opportunities to discover what it means to think for themselves, to really pursue something that is meaningful to them.” She also goes on to say that, “It’s time to realize that in our classrooms sit the world changers, inventors, and innovators of tomorrow. Our students are the future.”
This school year, I have decided to embark on a Computer Science Genius Hour Journey with my students. I am so excited to give my students the opportunity to further research Computer Science as a field, explore related topics, and potentially collaborate with outside experts in the field. Ultimately, I want to encourage my students to make a personal connection with Computer Science. Through those personal connections, my hope is that they discover their own passion in computer science and find ways to impact their world through their discoveries.
If you’ve implemented Genius Hour in your Computer Science classroom, I would like to hear from you. If you’re interested in taking this journey, below are some additional resources that I have found to be helpful:
Chris Kesler and AJ Juliani’s website (http://geniushour.com), provides a free webinar called “Getting Started With Genius Hour: The Step-by-Step Guide to Structuring Genius Hour.” They also offer a Genius Hour Master Course, which is a comprehensive course that walks you step-by-step through Genius Hour and how to implement it in the classroom.
Westside Community Schools Personalized Learning website (http://westsidepersonalized.com) provides a wealth of resources, as well as podcasts that highlight how teachers in my school district are implementing personalized learning.
Westside Community Schools EY (Gifted) Website (http://ey.westside66.org). Follow the “Enrichment” tab to “Passion Projects” to find templates and suggestions for Passion Projects
As we gear up for the new school year, many of us are entering into professional development (PD) soon. I am lucky enough to have the opportunity to plan and facilitate PD for teachers in San Francisco, and based on this experience, I’d like to offer some tips that I believe contribute to successful learning experiences for teachers.
Model best practices
Facilitate learning. Teachers should experience sessions in a format similar to their students. Be the guide on side, not sage on the stage. And, please, please, please don’t lecture about active engagement.
Be explicit about strategies used. Then, allow teachers to reflect on whether and when the same strategies could be useful in their own classrooms.
Set explicit learning goals and measure progress towards those goals. If you want to develop a strong community of practice, state this explicitly as a goal, actively work towards this goal through collaboration and team building, and measure progress through surveys and observations. Do the same with content and pedagogy-oriented goals.
Differentiate. Groupings or breakouts based on grade level, content area, or other contextual factors can be useful, but this in itself is not differentiation. Consider multiple means of representation, action/expression, and engagement. Set consistent baseline objectives for everyone, and create different levels of scaffolding and extensions to challenge teachers at the appropriate level.
Allow choice. Let teachers decide what is important and relevant to them. They cannot choose everything, but make sure have some agency.
Record, reflect, assess
Compile all resources and make it easy to access them. Consider a simple website or hyper doc (e.g, SFUSD’s PLC site).
Create shared notes documents so everyone can benefit. This allows a good record for teachers to remind themselves during the school year and allows those who missed out to reap some of the benefits. Ask for volunteers to contribute to the notes documents at different times.
Prioritize time for reflection. It’s important for teachers to process their learning and consider how they will apply new ideas and strategies. Thoughtful reflection improves transfer to classrooms.
Ask for feedback. This can help you evaluate, plan for future sessions, and improve facilitation. Don’t wait until the end to ask for feedback. Create formative measures.
More importantly, use the feedback to change plans and improve. And, show a summary of participant feedback each day, and explicitly note the things you’re changing to respond to feedback.
Assess learning. Don’t rely solely on feedback. Use similar assessment measures to those used in the classroom. Collect teachers’ projects to examine more closely.
Attend to the environment
Create a welcoming and inclusive space. Try to choose a room that is colorful and filled with natural light. Take down any Star Trek posters and replace with something that appeals to everyone. Create table groupings to make it easier to collaborate.
Set and reinforce norms. As teachers come from different communities and cultures, it can be helpful to adopt a set of common norms. Reinforcement can come through reflection, a norms tracker, and celebration of colleagues.
Include breaks. Breaks allow teachers to take care of personal needs, engage in informal collaboration, and maintain better focus during sessions.
Get teachers up and moving. No one likes sitting all day. Movement is especially important after lunch because this is when most people’s attention starts to fade (the “trough”).
Mix up groupings. Many teachers default to choosing teammates whom they already know, but they also prefer to get to know new people. Facilitate this by thoughtfully designating grouping strategies and consider when teachers should collaborate with teachers from different and similar contexts.
Switch up the facilitation. Just like students get tired of hearing the same teacher all day, teachers feel the same way. Work to mix up both the facilitator and methods of facilitation as much as possible.
Empower teachers to lead and share their best practices. One way to do this is an unconference in which teachers select and run sessions based on their interests.
Show teachers you value them
Pay teachers. Teachers already work hard enough. If the PD doesn’t happen during the contract time, it’s important to compensate teachers for their commitment.
Provide good food. It doesn’t have to cost a lot to be thoughtful. Make sure to include some healthy options and attend to dietary restrictions. Unlimited snacks go a long way.
Provide the materials needed to implement lessons/curriculum. It is a huge lift off of teachers to give them ready-to-go materials. They’ll be very appreciative of the time (and money) you saved them.
Celebrate success. A fun and easy way to close the week is for teachers to create their own superlative awards to celebrate something they are proud of and share with the community (e.g., best debugger, craziest sock wearer, biggest risk taker).
Don’t treat adults like they’re children. Let teachers decide what’s best for them. Structure can enable productivity, but too much structure or accountability can foster resentment.
Go beyond the (one) curriculum.Teachers new(er) to CS need to develop a decontextualized knowledge of CS and be empowered to determine the best ways to teach concepts to their students. Try to not just use one lesson or curriculum but offer several options on a related topic and ask teachers to contribute others and reflect on the usefulness in their own contexts.
Don’t try to do too much. You cannot do everything in one hour, one day, or one week. Decide what’s most important based on the teachers who will be attending and set measurable and achievable learning outcomes for the time you have. Expect things to take ~50% longer than you think they will.
Don’t let it be a one and done. Ensure there are follow-up mechanisms throughout the year. An effective way to do this is to create a community of practice, with both an online presence and regular, in-person convening.
The 2018 CSTA Annual Conference is only days away, and I am looking forward to welcoming everyone to Omaha. We have an exciting conference planned, with workshops on Saturday and Sunday (along with a Chapter Leader Summit), birds-of-a-feather session on Sunday afternoon, and keynotes and sessions on Monday and Tuesday. There are numerous social and networking events, including a big reception on Sunday evening and a tour/reception at the University of Nebraska Omaha on Monday. This looks to be a record-breaking conference in a number of ways (no spoilers) and we locals are working to make it the friendliest as well.
Some last-minute pieces of advice as you prepare to come to Omaha:
The convention center and conference hotels are only 3 miles from the Eppley International Airfield, and both the Hilton and Marriott have free shuttles. If you choose a cab or ride-share, we are still talking 5-10 minutes to get from one to the other. Pay attention on you ride from the airport and you will notice that you briefly pass from Nebraska into Iowa and then back to Nebraska. It’s an interesting historical fact that the Missouri River, which forms the boundary between the two states, changed its course in 1877, leaving a small piece of Iowa stranded on the Nebraska side.
There is a lot to see and do around the convention center and hotels. If you are a baseball fan, TD Ameritrade Park, where the College World Series is held every year, is just next door. There are restaurants, bars and a movie theater adjacent to the park. The Marriott is connected to the new Capitol District, which also has restaurants, bars and shops and an outdoor social space. Within easy walking distance is the Old Market district, which has all kinds of dining, shopping and social establishments. If you are considering dinner some evening, I would recommend getting reservations ahead of time, as it is a busy place.
If you have time to explore Omaha, I would recommend downloading the Omaha Savings app from the Omaha Visitors Center (https://www.visitomaha.com/savingsapp/). It has discounts on museums, restaurants, and the Henry Doorly Zoo & Aquarium. The Doorly Zoo has been named the #1 zoo in the world by TripAdvisor, and is well worth the trip (it is 6 miles from downtown, and can be reached using the hotel shuttle). My institution, Creighton University, is less than a mile to the west of the conference hotels. It is a beautiful urban campus, so if you are looking to stretch your legs, I would recommend checking it out. We will have maps of the downtown area available at registration.
This has been a hot summer across the country, and Omaha has been no exception. The weather forecast calls for highs in the upper 80’s and lower 90’s. Currently, there is no rain in the long-term forecast, but that can certainly change. If you are staying in the Hilton, there is an enclosed walkway that goes directly to the convention center, so you won’t have to go outside if you don’t want to. The Marriott is on the adjacent block, and many other hotels are close by as well. Plan to bring some warm-weather clothes and get out. In addition to the Old Market, you’ll want to walk across the award-winning pedestrian bridge that crosses the Missouri River to Iowa. There are many walking and bike paths along the river and over on the Iowa side. There are several bike rental stations in the downtown area, including one right by the pedestrian bridge.
Omaha is a clean, vibrant, and friendly Midwestern city. The population in the metropolitan area is around 930K, but it still has the feel of a small-town. The area also has a rapidly growing tech-sector, earning it the title Silicon Prairie. If you have never visited here before, I know you will find Omaha welcoming and engaging. Enjoy your time here!
On a personal note, this meeting marks the end of my term on the CSTA Board of Directors. I have made so many great friends and colleagues over the past nine years, and want to thank you all for the hard work and passion you bring to CS education. I look forward to continuing to work with you all, and I know that CSTA’s future is bright with Jake and Fred at the helm.
Ah, summertime – a time for rest and relaxation. For educators, summer is also often a time for professional development. A highlight of my summer PD each year is the annual CSTA Conference. I love a conference where I don’t have to search the program trying to find computer science sessions. With the start of the conference only a little over a week a way, my conference planning has begun!
Do you make a plan for a conference before you attend? I’m not talking about planning a session or workshop, if you are a presenter. I am talking about planning your experience as an attendee. I do.
Before going to a conference, I read the conference program and create a document of the sessions that I think I would like to attend. I include information from the conference program along with any resources that have been shared for the session. I also try to find links to the presenters which might include their Twitter handles, LinkedIn profile, website, etc. This helps me to follow up after the conference if I didn’t get information from a session during the conference. My list of sessions always includes more than I could possibly physically attend so I rely on crowd-sourcing to get information on sessions I can’t actually attend.
During the conference:
If I am attending with colleagues, we get together to make sure to attend different sessions. Then, we all add information to a collaborative document for those sessions. I can then use that to update my document.
I share my document on Twitter using the conference hashtag and ask for collaborators. This lets people who are in the room contribute pictures, notes, and other resources from the sessions that I can’t physically attend.
I use the document to watch for tweets from those sessions I’m not in and add the information to my document as the conference progresses. If I see people tweet about a session without much information, I will reply to their tweet asking for links to resources so I can add them to the document.
I also use the document to see where I want or need to be. I don’t know about you but often sessions at conferences can spark a curiosity that I didn’t have before. This means I might want to change my mind on which sessions I attend as the conference progresses. It’s nice to have all the sessions I might be interested in on one document rather than having to click multiple times to see descriptions of sessions on the actual program.
For this year’s CSTA conference, I have included the sessions from the program that are applicable to K-8 CS on my document. I always try to check my document against the conference program just before the conference starts because there are sometimes room changes or cancellations.
Have you ever missed something at a conference that you meant to attend? To try to avoid this, I add any workshops, sessions, meet-ups, etc. that I am definitely attending, presenting, or proctoring to my Google Calendar. Then, I have reminders sent to me at whatever interval I like which is typically 15 minutes to 30 minutes before something is scheduled to start. This helps me to be where I am committed to be.
What are you waiting for? The 2018 CSTA Conference starts in just over a week. Create your own #CSTA2018 resources document for the conference and add your must attend events to your calendar.
Our students are creating with computer science which gives them great power. We need to make sure that they also understand the great responsibility of that power. How can we do this? My first resource when I ask myself this question is the CSTA K–12 Computer Science Standards.
Yes, even our youngest students need to be aware of the ethics of computing. At this level, the focus is on ownership. Just as our students learn to protect their possessions and respect the property of others off-line, they need to learn to do this online, as well.
1A-NI-04 Explain what passwords are and why we use them, and use strong passwords to protect devices and information from unauthorized access.
1A-AP-13 Give attribution when using the ideas and creations of others while developing programs.
1A-IC-18 Keep login information private, and log off of devices appropriately.
Ages 8-11 As students mature, they are able to recognize and consider others’ viewpoints which provides opportunities to explore the ethics of computing more deeply. We can use current events, like some of those mentioned above, to bring ethical discussions into the classroom. Students create and often share computational artifacts at this level. They should think about the users who will use what they create and the impact it can have on those users.
1B-NI-05 Discuss real-world cybersecurity problems and how personal information can be protected.
1B-AP-14 Observe intellectual property rights and give appropriate attribution when creating or remixing programs.
1B-IC-19 Brainstorm ways to improve the accessibility and usability of technology products for the diverse needs and wants of users.
1B-IC-20 Seek diverse perspectives for the purpose of improving computational artifacts.
1B-IC-21 Use public domain or creative commons media, and refrain from copying or using material created by others without permission.
Ages 11-14 Students at this level can explore bigger ethical questions because they can better understand the perspective of others as well as the perspective of society. This lets them grapple with ethical questions like: Who is collecting data on them and what are they doing with it? What should the students do with data they are collecting through programs they have created? Are the technologies they are creating accessible by all?
2-IC-20 Compare tradeoffs associated with computing technologies that affect people’s everyday activities and career options.
2-IC-21 Discuss issues of bias and accessibility in the design of existing technologies.
2-IC-23 Describe tradeoffs between allowing information to be public and keeping information private and secure.
Interested in continuing discussions on teaching ethics in the computer science classroom? Join us on Twitter for #csk8 chat where ethics often enters into the discussion and check out #ethicalCS.
A primary goal for our #CSforAll initiative should be to develop positive computational identities among all students. This requires that students not only build strong foundational knowledge and skills; they must also understand how CS connects to their interests and, perhaps most importantly, believe that they can succeed in CS.
This is challenging because a small subset of the population has dominated the field of computer science, and our society has crafted a pervasive and narrow stereotype for who has access to and can achieve in CS. Even though the field is actually more diverse, these stereotypes are not surprising given the mostly homogenous population of the tech industry (see the Kapor Center’s Leaky Tech Pipeline report, 2018).
It is critical that we disrupt this narrative. We must highlight how people of all backgrounds have positively contributed to computing in diverse ways.
Describing the problem
Students as young as elementary school begin to adopt stereotypical beliefs in STEM. Research has shown the negative impact on students traditionally underrepresented in CS, namely women and people of color (e.g., Cheryan, Master, & Meltzoff, 2015). Professor Sapna Cheryan notes:
“People use these images to decide where they fit, where they’re going to be successful and what’s appropriate for them to pursue.”
Stereotypes negatively affect students’ interest, self-efficacy, career aspirations in STEM (e.g., Shapiro & Williams, 2011). If students do not fit those stereotypes and they don’t have role models that suggest otherwise, they are less likely to pursue CS.
What can we do about this?
Such a wicked problem cannot be fixed quickly, but we can make substantive impacts in our local schools. One strategy is to connect students to role models and mentors with whom they can identify, to provide inspiration and guidance. Exposure to role models of similar race and gender backgrounds leads to increased identification, self-efficacy and aspirations in STEM fields (Stout et al., 2011; Scott et al., 2018).
How to celebrate diversity in CS
Teachers can provide exposure to diverse role models through books, videos, and magazines and also through direct interactions including classroom visits, field trips, career fairs, and mentorship programs. These efforts should happen throughout the year. In addition, during cultural awareness months, we can use the opportunity to highlight people of specific backgrounds. March is Women’s History Month. This presents a great opportunity to connect students to female role models and showcase the incredible contributions of women in CS. Below are some suggestions from the #CSinSF team:
Stories are an entertaining way to introduce or reinforce computer science concepts and help students to understand abstract concepts in a more concrete way. Do you read picture books, chapter books, or short stories to your students in computer science classes? I do. The easiest way to get started is with books that are specifically written to teach CS concepts.
For 5-8-year-olds, Hello Ruby: Adventures in Coding by Linda Liukas is a wonderful place to start. Written to introduce young children to computing, it is a picture book about a “small girl with a huge imagination.” As Ruby goes on adventures, students learn about planning, sequences, algorithms, collaboration, conditionals, loops, and more. The book includes activities that go along with the story, and the official website has resources for educators. Linda Liukas has also written a second book, Hello Ruby: Journey Inside the Computer, which includes activities about the internal parts of a computer.
A graphic novel for 8-12-year-olds that covers multiple CS concepts is Secret Coders by Gene Luen Yang and Mike Holmes. It is the first in a series of books that combine logic puzzles and coding (in Logo) wrapped up in a mystery storyline. The official website has downloadable activities and Logo instruction videos so your students can code along with the characters if desired. Check out the excerpt on the website for a fun introduction to binary. The concepts in the book can easily be applied to any programming language you are using with your students.
The comic book, The Cynja, by Chase Cunningham, Heather C. Dahl, and Shirow Di Rosso was written for younger children, but I like it for introducing Networks and Cybersecurity for Middle School students. The Cynja is a story of a battle between the evil forces of cyberspace and the Cynsei and his apprentice, the Cynja. Code of the Cynja, the second comic in the series, has a female lead character. These are difficult to get in print, but digital versions are available on Amazon and in the Google Play Store.
Don’t limit yourself just to books written about computer science concepts. Working on decomposition skills? Read a “Choose Your Own Adventure” book. Then work with students to decompose it and build a decision tree. Talk about how conditionals allow it to work and have students create their own “Choose Your Own Adventure” program. The Fly on the Ceiling by Julie Glass is a fun book to introduce the coordinate plane. After reading it, students could create a Scratch project to draw their initials using glide commands with x and y coordinates. Read The Very Hungry Caterpillar by Eric Carle and have students retell the story with Bee-Bot or write a ScratchJr project about the life cycle of the butterfly. Look around and see what books are available at your school and find ways to use them in your computer science classes.
Are you reading stories to students in your computer science classroom? We would love to hear about it!