Preparing Computer Science Teachers

I’ve been fortunate enough to have some great conversations about what CS teachers need to know over the last year. Stakeholder groups, including teacher education programs, state department of education specialists, CS and education faculty at higher education programs, are all working to figure out how to develop sustainable models of preparing computer science teachers to meet the growing demand for CS teachers.

Some of the conversations are driven by and informed by the current process to refresh the CSTA and ISTE Standards for CS Educators. In January 2019, CSTA and ISTE began work on these standards, which seek to set clear goals for CS teachers know and be able to do in the classroom, serve as aspirational goals for CS teachers, and establish benchmarks for those providing learning opportunities for CS teachers. The second draft has now been released and is available at csteachers.org/page/standards-for-cs-educators for comment until October 11th. The final version is expected to be available by the end of 2019.

Other conversations have been very focused on practical matters, including what should be included in a computer science methods course. Here is a list of items that education and computer science faculty brainstormed during a workshop sponsored by the Maryland Center for Computing Education this summer. Workshop participants drew on their experiences teaching methods courses for generalist educators (often at the elementary and middle school level) and for secondary educators seeking licensure in a specific topic.

  • CS Subject Matter Knowledge (SMK),  in particular for generalists as they may not have had a standalone course in computer science
  • CS Pedagogical Content Knowledge (PCK) – how to teach computer science
  • Evaluating curriculum – how to choose a curriculum that aligns with relevant standards, is relevant to students, engages students, etc.
  • Unit Planning – how to create a set of lessons that build on each other to achieve learning objectives
  • Understanding and aligning with student standards (e.g. CSTA K12 Standards)
  • Common misconceptions in learning computer science, including how students construct models of how a computer works
  • Classroom management, especially managing instructional technology and devices
  • Formative and summative assessments of computer science learning 
  • Designing instruction for all students, including those with learning or physical disabilities and those typically underrepresented in computing
  • Understanding professional codes of ethics for computer scientists and the impacts of computing
  • Supporting students in learning academic vocabulary as well as reading in the content area
  • Teaching methods for computer science, including strategies such as peer instruction, POGIL, pair programming, worked examples with subgoals, Parson’s problems, and many more
  • Integrating computer science in other content areas, in particular for generalists
  • Field experiences – a teaching placement in a school that includes computer science

Of course, this is not an exhaustive list of what might be included in a CS methods course, nor would all of these topics necessarily be included in a single methods course. Teacher educators may need to consider their local context, including where there is overlap with other areas of their education program and the state licensure requirements. But, it is a start and I’m looking forward to having more conversations in the future with stakeholders working on developing sustainable programs for computer science teachers.

Jennifer Rosado
Board Chairperson

The AP Reading

For the last week, I have been at the Advanced Placement (AP) reading for the CS Principles course in Kansas City, part of a few hundred readers that evaluate the performance tasks submitted by students. It’s an incredible experience in many ways!

For those new to the CS Principles course, it is a breadth-first introduction to computer science emphasizing creativity and collaboration across topics like data, the internet, and the impact of technology in addition to programming. With a goal of increasing access to and success in computer science for underrepresented students, the course is an engaging introduction to computing that reached almost 75,000 students in the 2017-18 academic year.

But 75,000 students means 150,000 performance tasks to grade! Each student submits a programming project and write-up, the Create performance task, and a computational artifact and write-up on a computing innovation, the Explore performance task. Along with 100+ readers in Kansas City and hundreds more grading tasks at home, we’ve been able to see the incredible impact this course has had on students.

The AP reading process includes training on student samples so that readers can grade the tasks using a rubric as consistently as possible. After that, the readers grade…and grade…and grade some more. We’re here in Kansas City grading performance tasks 8 hours a day – which can be grueling! – and then there are speakers and professional development options in the evening. But the readers are all very positive, excited about the work they see from students, and they play a key role in what makes this course a success.

As a college professor, I used to think grading was the worst part of teaching. However, this is different. There is a lot of value for someone who teaches the course in seeing the fine details of how the rubric is applied, common student misconceptions, and then using that knowledge to improve their instruction. And of course there’s the community. Where else besides the CSTA Annual Conference do you have the chance to connect with computer science teachers from across the country who are so passionate about bringing CS to all students?!

I leave Kansas City tomorrow in awe of the incredible work ethic as well as the care and consideration that teachers bring to the AP reading. The CS Principles course would not be the success it is without them.

Jennifer Rosato
Teacher Education Representative

What does CSforAll mean for teacher preparation programs?

In a CSTA Voice article last year, I argued that a goal of CSforAll students means we also need to have CSforAll teachers. There are many professional development efforts underway that target existing teachers such as those supported by the National Science Foundation for courses like Exploring Computer Science and Computer Science Principles and for curricula like Bootstrap, Project GUTS, and Everyday Computing. However, these are not long-term sustainable models. In addition to in-service programs, computer science needs to be integrated as a part of pre-service, or teacher preparation, programs.

Change is Coming

Many states are adopting student standards and teacher credentialing in computer science. In 2017, the Iowa Department of Education established a working group to create computer science standards, Ohio required the state board to adopt K12 CS standards, and Tennessee created an endorsement in CS. These are among many legislative efforts (described at code.org/promote) that have an impact on teacher preparation programs.

Because the United States has a distributed control model of education, this means that teacher preparation programs are driven by state requirements for licensure. When states adopt new standards and licensure requirements, teacher preparation programs need to be ready to teach those new standards and prepare students for licensure.

Models for Integrating CS

So, how can teacher preparation programs meet the growing demand for K12 CS teachers? Some schools have included a module on computational thinking in existing tech integration courses while others are integrating CS across the curriculum. Some schools target secondary STEM education majors while others want all education majors to have some experience. Each school will need to grapple with their state context and their own program structures to determine a model that will work. Ideally, all pre-service teachers will have a basic understanding of computer science as a discipline, its impact on our society, and key equity issues that impact it.

Last spring, a group of leading experts in computer science education gathered for the Finding a Home for Computing Education in Schools of Education Strategy Workshop. The report synthesized the conversations and existing efforts and will suggest frameworks and models for integrating CS in the field of education at the post-secondary level. Videos from the workshop are available now and the report will be released April 12, 2018, on computingteacher.org.

A Role for Classroom Teachers

Integrating CS in teacher preparation programs will be a massive effort that requires many people from a variety of areas to make it successful. Education faculty may not have had much experience in computer science and, just like our students, may feel quite intimidated by the subject. The CSTA community is a great resource for them!

If you’re a current classroom teacher, you could:

  1. Host students for field experiences that include a CS component
  2. Connect with your local college education programs to help them develop programs to meet new licensure and certification requirements
  3. Share your experiences with students considering a career in CS teaching through guest lectures or mentoring programs
  4. Teach college courses related to CS education

Jennifer Rosato


Teacher Education 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