Just in time: Tips for computer science teachers when they need it
NSF's supported professional development program provides online tools and resources for new and experienced computer science educators
March 4, 2015
Imagine yourself as a young (or not so young) high school teacher who is asked to teach a computer science (CS) class for the first time.
You may have taken a few CS classes in college, or maybe not--and even if you majored in it, you've never taught it to a class full of students before. Until this year, there wasn't even a CS class to teach in your school.
How do you prepare? How does the education system help prepare you?
Aman Yadav has a unique background that allows him to see the problem of training CS teachers from a number of vantage points.
"I was a programmer in the College of Education at Michigan State University, where I'm now a faculty in the Educational Psychology and Educational Technology program," Yadav said. "We were developing an online learning environment for teachers and as I was programming it, I started wondering: what are the benefits of this on preservice teachers?"
When, years later, after getting a Ph.D. in Education, he applied for a grant from the National Science Foundation (NSF) to study teacher professional development, along with colleagues Susanne Hambrusch, Tim Korb and James Lehman from Purdue University, it was almost as if circumstances had come full circle.
"Having the background in CS and then getting a doctorate in Education allowed me to connect those two areas," he said. "CS education is a perfect blend that gets at all these interests: educational research, professional development, plus that little bug in me that still loves programming."
Hambrusch, a CS professor, has worked with Yadav for the last six years and their collaboration highlights the importance of interdisciplinary research.
"It has changed how I teach and it has made me explore new questions on how learning happens in CS," Hambrusch said. "Computer science education research is an important emerging research area with tough challenges to solve, and collaborations between CS and Education researchers is a key to making lasting progress."
For the last two years, Yadav and his colleagues have been developing a set of new online professional development resources to provide "just-in-time" support for new CS teachers and for experienced CS teachers teaching new courses for the first time.
Instead of relying solely on day- or week-long summer workshops to prepare teachers, the program provides instruction to teachers the way they expect to get information these days: anytime and anywhere, via the web.
The project is part of the CS 10K effort, which aims to build a talent pool of future computer scientists by developing new high school curricula in computing and getting that curricula into 10,000 high schools, taught by 10,000 well-prepared teachers.
NSF, along with the many other organizations supporting the CS 10K effort, recognizes that for the United States to thrive, it needs to cultivate a diverse workforce equipped with the computational skills to contribute to a technologically-driven economy. In recent years, NSF has invested more than $110 million to expand access to and broaden the diversity of students participating in computer science courses.
But training 10,000 teachers is no small feat. In fact, it likely cannot be done in the way that professional development has traditionally been delivered, both because of the scale of the need and the unique circumstances of CS teachers.
Teachers usually receive pre-service training in a given subject, either as a student in an education program or in a workshop or summer setting. However, CS teachers are atypical in that they often do not have pre-service training as computer scientists. Instead, CS teachers have math, business or technology backgrounds and must transition to CS.
"We believe that in order to meet the goal of 10,000 CS teachers, we really need to not only target the pre-service teachers, but also the in-service teachers," Yadav said. "Those teachers are in the classrooms and not all of them have CS backgrounds. So when they want to teach a CS course, we need to develop both their content knowledge as well as their knowledge of how to teach that content."
To supplement teachers' typical training, Yadav and his team created a collection of materials for new or still-learning CS teachers. These materials include videos, written instructions, slideshows and links to activities or additional tools. Teachers are encouraged to become students themselves, using their skills to code projects before asking their students to do the same.
The materials cover both the subject matter and common misconceptions and how to avoid them. Yadav says that in many cases, the teachers end up adapting the professional development materials for classroom use or for student assignments.
"We're developing the materials for teachers, but teachers are also finding that the materials can be used with their students as well," he said.
After creating hundreds of hours of professional development content for teachers, the team partnered with Project Lead the Way (a leading non-profit organization that develops STEM curricula for schools) in 2013 to pilot the program.
The first group of CS teachers was trained using the just-in-time professional development materials last year. Among that first cohort of teachers was Tim Velegol, the engineering department coordinator and career and technical education department chair at Durham Public Schools in North Carolina.
"As a rookie CS teacher, I needed all the resources I could get my hands on to deliver meaningful instruction to a very diverse group of high school learners," Velegol explained.
Using tools like Scratch and Python strengthened and updated Velegol's grasp of core CS concepts that he was originally exposed to years ago in Fortran and C++ programming languages.
"While there is a lot of information on the Internet, Dr. Yadav's group gave me great mini-activity ideas to help reinforce many of the fundamentals of programming--puzzlers that don't require a lot of code, but that force students to think about how to develop algorithms," he said.
In addition to the learning materials, teachers are able to ask questions of Yadav and his team, as well as other teachers-in-training, through an interactive Q&A platform, Piazza.
The researchers are going over the data from the pilot group, incorporating their feedback and preparing an article synthesizing their findings. They have expanded the program to include 30 new teachers, with whom they will not only gather impressions, but also test the efficacy of the professional development on the teachers and their students' performance.
At the same time, they have been conducting interviews with current CS teachers to get a sense of the common classroom challenges instructors face and the ways they have found to overcome them.
"We're collecting pilot data this year and will collect teacher outcomes as well as student outcomes," Yadav said. "Are the students interested in computing? Do they see the role of computing in their future careers? Once we have the data, we'll open it up to anyone who wants access to our materials."
[Yadav will lead a workshop on CS education research on March 6 at SIGCSE, the ACM technical symposium on computer science education.]-- Aaron Dubrow, NSF (703) 292-4489 firstname.lastname@example.org
A high-school computer science teacher works with a student.
Credit and Larger Version
Students learn to code collaboratively in their CS class.
Credit and Larger Version
Michigan State University
Project Lead the Way
STEM-C Partnerships: Computing Education for the 21st Century
#0938999 CPATH-2: Computer Science Pathways for Educators
#1339245 CS 10K: Leading the Way to CS10K: Assessing a Just-in-Time Professional Development Approach for Teacher Knowledge Growth in Computer Science
#1502462 CS 10K: Leading the Way to CS10K: Assessing a Just-in-Time Professional Development Approach for Teacher Knowledge Growth in Computer Science
Years Research Conducted
2013 - 2016