PI: R. Benjamin Shapiro
University of Colorado at Boulder
Tufts University proposes a CAREER award that will investigate new ways of teaching computer science to middle- and high-school students. Many of the computing technologies that youth use every day are built using ideas and techniques from computer science that are well outside of the standard introductory curriculum. Everyday activities like sending text messages, performing search queries, checking the weather, and playing online games all use systems that employ networked communication, parallelism, concurrency, and distributed systems. Yet, these techniques are not taught in existing K-12 Computer Science curricula, and they are barely covered in typical undergraduate-level computer science education. This has two consequences: Many youth perceive computer science as not relevant to their daily lives, perceptions that are not well challenged by current approaches to broadening participation; and many programmers apply these techniques poorly, which can have devastating consequences (e.g., the Northeast U.S. Blackout of 2003). This research aims to both counter perceptions of computer science?s relevance to everyday life, and to design new approaches to teaching computer science that train programmers to apply these techniques.
This project will investigate how new ways of teaching computer science to middle- and high-school students can simultaneously broaden participation in computing and develop a generation of computer scientists who are able to correctly reason about and implement concurrent, distributed, networked systems. The hypothesis is that by creating their own concurrent, connected physical and virtual technologies, students will come to better appreciate the role of computing in their lives, and, at the same time, learn advanced computational problem solving and engineering skills. The qualitative and quantitative design-based research methods will enable a better understanding of (1) what project genres can excite youth to learn about networked communication and parallel, concurrent, or distributed computing, (2) in what ways engineering systems in those genres differentially enable learning of relevant computer science topics, (3) how student thinking about these computer science ideas develops over time, and (4) how students’ participation and conceptual development can be supported by new programmable technologies for learning.
The project will be conducted in close collaboration with local partners, including community centers and schools. It will specifically recruit youth from populations and communities that are under-represented in computer science, that is, girls, African-Americans, and Latinos. Youth and participating adults (e.g., teachers) will be partners in all phases of the work, and will guide the efforts on crafting engineering projects, curriculum, and tools that respond to their interests and preferences. All of the software, curriculum, and other products of our work will be open sourced in order to maximize their dissemination.