Using Genius Time/Passion Projects to Encourage Exploration of Computer Science

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:

  • AJ Juliani’s “The Research Behind Genius Hour” provided insight on connecting standards to inquiry-based learning. http://ajjuliani.com/research/
  • Chris Kesler’s Science Blog provides “10 Reasons to do Genius Hour with your Students” – https://www.keslerscience.com/what-is-genius-hour/
  • 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

Kristeen Shabram
K-8 representative

Tips for CS PD Facilitators

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.
  • Make it fun! Throw in some corny jokes and spontaneous dance parties. Play music during breaks. Put candy and LEGOs on the tables.
  • 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.

Other pro tips

  • Sprinkle in tips and tricks, and allow teachers to share these. Examples are new tech tools (e.g., yellkey.com), brain breaks (e.g., GoNoodle.com), team builders (e.g., Zip Zap Zop!), and showcasing strategies (e.g., Michelle Lee’s tips for amplify student voice).
  • 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.

What tips did I miss? Tweet @btwarek and @csteachersorg.

Bryan Twarek School District Representative

Welcome to the Silicon Prairie!

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

JRN, Journalism, Media, Computing faculty members


Dave Reed
CSTA Board Member, Past-Chair

It’s Conference Season!

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.

What if you’re not attending the 2018 CSTA Conference? No problem, you can still create your own document of sessions that you would have liked to attend and follow along on Twitter using the #csta2018 hashtag to collect resources from the sessions. I have done this the last few years for the ISTE Conference, which I have not attended. It is amazing what you can learn from a conference even when you’re not physically there. Create your own #NOTATcsta2018 document and follow along virtually!

Vicky Sedgwick
K-8 Teacher Representative

Ethics in K-8 Computer Science

I’m sure you’ve seen them. New headlines related to ethics and computer science seem to appear daily.

What does all this have to do with teaching computer science to 5-14 year-olds? Ethics should be integral to teaching computer science, regardless of the age of students.

With great power comes great responsibility

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.

Ages 5-7
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.

Vicky Sedgwick
K-8 Teacher Representative

A Call to Celebrate Diversity in Computer Science

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:

  1. Invite guest speakers to your class. If you don’t have connections through friends and family, try finding a local volunteer or a Skype connection. Here are some tips for classroom volunteers and a list of suggested questions to ask about their careers.
  2. Explore careers. Great videos featuring diverse professionals are available from Made w/ Code, Technolochicas, and Code.org. You can also have students read articles from the Careers with Code magazine, designed for teens to understand how computer science can help them create a dream career in any field, including health, sports, business, fashion, and virtual reality. The site features both profiles and videos of diverse people in diverse industries.
  3. Showcase influential figures in CS. Read books, watch videos, and lead activities that showcase influential figures in computing. For example, during Women’s History Month, hang these posters of seven incredible women in CS and lead related activities (e.g., matching activity, Bee-Bot challenges, Kahoot). Elementary teachers could read story books like Ada Lovelace: Poet of Science and Grace Hopper: Queen of Computer Code and show videos like Happy Birthday, Ada. Additionally, teachers of all levels can use Hidden Figures (original text, young readers’ edition, story book, or the film adaptation) and challenge students to retell stories of these incredible women (e.g., through Scratch animations).

Bryan Twarek, School District Representative

Reading Stories in Computer Science Class

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!

Vicky Sedgwick K-8 Teacher Representative

Use the SCRIPT to Develop Your District’s Own #CSforAll Plans

Individual teacher and school champions have enabled participation in K-12 computer science education to soar to new highs in recent years. However, true systemic change will occur when school districts across the nation create their own #CSforALL goals and implementation strategies. There is a need for districts across the nation to develop comprehensive and equity-minded plans to ensure that all students across all schools can access and achieve in computer science.

Creating these plans can be daunting, especially at early stages of implementation and when there are important competing priorities. It can be tempting to simply replicate plans that other districts have adopted, yet contexts may vary greatly from one district to another, making a single correct answer difficult. Districts should leverage local strengths and consider their unique contexts when developing their plans.

The CSforALL Consortium, a key partner of the CSTA, recently developed a tool to help with this challenge. The new tool is called the SCRIPT: School CSforALL Resource and Implementation Planning Tool. The SCRIPT engages school districts in reflection, review of examples, and goal setting related to six areas: (1) Leadership, (2) Technology Infrastructure, (3) Teacher Capacity, (4) Curriculum and Materials, Selection and Refinement, (5) Partners, and (6) Community.

The SCRIPT is still under development; however CSforALL has released rubrics for Leadership, Teacher Capacity, and Curriculum & Materials, Selection and Refinement. Recently, I helped facilitate a breakout session at a SCRIPT workshop held at the CSforALL Summit in St. Louis. Based on this experience, I believe the SCRIPT is useful for districts that are just getting started, as well as those that have already implemented their comprehensive plans, as there are many distinct elements and a wide continuum of success. The tools promote excellent reflection and conversation and help guide teams towards meaningful next steps.

Here is a suggestion for how to use the SCRIPT:

  1. Convene a leadership team from your local district to develop or update plans to support #CSforALL. Include teachers, principals, curriculum leaders, and district administration; where possible, include representatives from both early-adopting schools and schools that have yet to begin to implement.
  2. Together, focus on each of the six SCRIPT categories one at a time. Use the rubric to reflect on the current status, identify priority areas, and set goals. Consider setting three goals for each area of the rubric: one 3-month goal, one 6-month goal, and one long-term goal.
  3. Use the tools and examples in the SCRIPT, as well as other CSTA resources and CSforALL members, to help plan how you will meet these goals. Feel free to reach out to your local CSTA chapter to ask for advice and support.
  4. Reconvene periodically to monitor progress and update goals.

Creating meaningful and systemic change certainly does not come easily. Accordingly, you won’t find a list of answers within the SCRIPT. However, you will find many thought-provoking questions and topics for conversation. Use these to consider the big picture and develop plans for rigorous, inclusive, and sustainable K-12 computer science education in your local school district.

SCRIPT Cover

Bryan Twarek
School District Representative

Designing Computer Science Classrooms

Computer science is being taught in all kinds of classrooms across the country, not just in computer labs. As more schools increase their computer science offerings and look to dedicate space to those classes, teachers are faced with the question: What should a computer science classroom look like?

In CS teacher professional development, we discuss how to make sure that all students feel welcome in the classroom, including the physical environment itself. NCWIT has a great resource, How Does the Physical Environment Affect Women’s Entry and Persistence in Computing?, that identifies how underrepresented students are impacted by posters and other images that reinforce stereotypes about computing. For example, images that associate “geek” with CS (Star Trek, a lone coder in the dark, etc.) or that call attention to the need for more women, can have a negative impact. Instead, consider using imagery like the new set of posters from NCWIT and Careers With Code, which show a variety of role models using computer science to pursue a personal passion or change their world. The goal should be to select images that appeal to all students and showcase a variety of people.

Working with K-12 teachers, I’ve had the opportunity to see many different types of CS classrooms. Sometimes the computers line the perimeter of the room, facing the wall but making it difficult for some students to see the teacher and their computer at the same time. Some rooms have rows of computers where it’s easier to see the teacher but often difficult to walk around easily. And some are regular classrooms that rely on a laptop cart. All of them have their advantages and disadvantages; the goal is to have a physical space that supports effective teaching.

The college I teach at is also looking to redesign one of our computer labs dedicated to CS courses, with a focus on supporting student collaboration. As more and more of our teaching relies on collaborative and cooperative learning activities such as pair programming, POGIL, debate team carousels, etc. the traditional classroom with rows of computers does not work well. So, we are examining ways to implement flexible classroom arrangements with tables and chairs on wheels that can be easily switched into another configuration. With these types of activities we move from a “guide on the side” model of teaching to more of a “sage of the stage” model and have less need for a large, central area with whiteboards and projection screen.

These types of considerations for the physical design of CS classrooms also directly support practices described in the CSTA K-12 CS Standards, specifically the practices of Collaborating Around Computing and Fostering an Inclusive Computing Culture. So, what would your ideal classroom to teach computer science in look like? How will it support collaboration and make sure that all students feel like they belong?

Jennifer Rosato


Jennifer Rosato
Teacher Education Representative

Learning computing with metaphors

Don’t think of an elephant!

Now what are you thinking about? Of course, it’s an elephant.

This sentence is the title of a book by George Lakoff, a contemporary linguist who makes that case that we frame our thinking with the words and metaphors we use. By consciously recognizing this, we can understand our own thinking better and become more persuasive.

Inspired by Lakoff’s work, Alvaro Videla published an essay Metaphors We Compute By in the October 2017 Communications of the ACM. As a computer scientist and software engineer, Videla recognized the extent to which we make sense of concepts in computing via metaphors. He gives this example:

Say you could program a computer to command other computers to perform tasks, respecting their arrival order. This description is already difficult to understand. On the other hand, you could describe the solution by describing a queue server that assigns jobs to workers based on a first-come, first-served queue discipline.

Consider all the examples from daily life in the description of the solution: A “queue” is something with which all of us are familiar—that’s a “line” for those of us speaking American English! “First-come, first-served” is how most everyday lines operate, “workers” and “jobs” are people and roles from our daily lives.

With this metaphor, it makes sense. The everyday concepts translate into computational artifacts. A worker becomes an operating-systems process. A job becomes an algorithm carried out by that process on some particular data. The line becomes a FIFO queue.

This idea of using metaphors goes back far in our field. Some of the early CS education research focused on how the names of words chosen to be language commands helped (or hindered) students’ understanding. For example, in the 1987 article The Buggy Path to Development of Programming Expertise, Pea, Soloway and Spohrer reported on how students expected parallelism in BASIC code with “IF… THEN” statements. They thought the computer could evaluate any statement as needed, firing when a condition became true—as it might be in daily life.

I’ve used metaphors to explain function application—a concept in functional programming. It’s similar to how parameters or arguments are supplied to C or Java functions. I brought a rubber mallet to class, and described function application as the mallet “pounding the parameters on the head.” So if you have a function increment, which adds one to its parameter, then increment sees a 3, pounds it, and produces a 4. Then “functional mapping” is walking down a list, pounding each parameter in turn. In Scheme: (map increment (list 1 2 3 4)) produces the list (2 3 4 5).

Later during the semester, I could just pretend I was holding the mallet to bring back the idea of function application.

What metaphors have you introduced to your students to help them understand computing concepts? Did they work? Have you changed them over time? Please share with your colleagues!

head shot of Fred Martin, chair of board of directors

Fred Martin, chair of board of directors