The main focus of my recent research has been computer science education and the role computer science can play in defining and advancing its own education research. Learning computational principles and learning to code is hard, and teaching these subjects is even harder. For most computer science topics, we know very little about how different learners’ best learn; how to effectively teach the material to audiences with different abilities, backgrounds, and goals; and how to reliably assess learning. Today, research on learning and teaching computer science is relevant in many contexts.
As computer science evolves into a recognized subject in K-12 curricula, we not only need to know how students learn, but we also need to know how to educate and prepare their teachers. The National Science Foundation’s CS10K effort has been an ambitious project with a significant impact on schools and computer science education research. Online learning opportunities, including MOOCs, Khan Academy, Stack Overflow, and Code.org, help many students learn to code and advance their computing knowledge. Online forums can provide data on clicks, completions, progress, and more. How can this data be used to advance how users learn? How can the background and the goals of the learner be integrated into providing personalized and more meaningful help that advances and enhances learning? To answer questions like this, we need to apply knowledge from a range of areas. Computer science education research is an interdisciplinary field that combines learning sciences and areas of computer science, including software engineering, programming languages, machine learning, human-computer interaction, and natural language processing. Techniques, approaches, and tools developed by researchers in these areas have the potential to create new knowledge about learning and teaching computer science. In turn, this new knowledge has the potential to drive new research in computer science.
In a current project, http://www.pd4cs.org/, we designed an evidence-based professional development (PD) online program to improve teachers’ knowledge to teach computer science, in particular the new CS AP Principles course. Professional development for teachers is increasingly online-based and education research has shown that online and face-to-face PD have similar learning outcomes for teachers and their students. The PD material was developed along three main guidelines: 1) teaching methodologies and pedagogies grounded in computer science and educational methods, 2) knowledge of the challenges teachers face when teaching computer science with limited domain knowledge background, and 3) responding to misconceptions students and teachers encounter in beginning computing courses. We conducted a two-year, multiphase exploratory design-based study involving two teacher cohorts. The goal was to understand what topics and type of material teachers found most helpful, how general teaching experience and previous CS knowledge influence the PD material a teacher uses, how teachers use the material during the school year, and what incentives encourage teachers to work through PD material. The results of the study provide insight into the challenges effective PD material needs to address. The results show that:
- Experienced teachers with CS knowledge believe they do not need much PD. They want PD that matches their background and fills in learning gaps.
- Novice teachers with a CS background do need a little PD about content knowledge, but also need PD on how to teach CS.
- Teachers with significant teaching experience in other subjects—but little CS knowledge—are more likely to use PD material that addresses the misconceptions students face.
- All teachers are significantly more likely to use PD material when it clearly matches their course curriculum.
- Receiving payment for providing feedback and completing surveys provides only limited incentive.
The results raise a number of questions on how to best provide PD. The new CS AP Principles course currently has five approved providers, each with its own curriculum. While this flexibility is a strength, it makes teacher training and development challenging. Computing education, in combination with computer science, will be crucial for developing personalized PD systems that match not only the curriculum, but what individual teachers actually need and will use.
About the Author
Susanne Hambrusch is a professor of computer science at Purdue University. She holds a Diplom Ingenieur in computer science from the Technical University of Vienna, Austria, and a Ph.D. in computer science from Penn State University. Hambrusch served as the head of the computer science department at Purdue from 2002 to 2007. From 2010 to 2013, she was the director of the Division of Computing and Communication Foundations in the CISE directorate at the National Science Foundation, where she was involved in the development of several new crosscutting programs including Cyber-Enabled Sustainability Science and Engineering (CyberSEES), eXploiting Parallelism and Scalability (XPS), Algorithms in the Field (AitF), NSF/Intel Partnership programs, and the United States-Israel Collaboration in Computer Science. Her research interests are in the analysis of algorithms, query and data management, computer science education, and parallel and distributed computation. She has recently led a number of projects in computer science education, computational thinking, and computer science teacher preparation.
Hambrusch currently serves on the CRA board of directors, where she is the vice chair. She is a cochair of CRA’s Education committee (CRA-E) and a board member of CRA’s Committee on the Status of Women in Computing Research (CRA-W). She is also a member of both the Taulbee Survey Committee and CRA’s Enrollment Committee. Jointly with Jared Cohon (Carnegie Mellon University), she chairs the National Academies of Sciences, Engineering and Medicine’s Committee on Growth of Computer Science Undergraduate Enrollments.