The effort to promote effective K-12 computer science education is stymied by numerous barriers. This site is dedicated to collecting and identifying these barriers as well as resources.
Here are the barriers (not an exhaustive list):
Policy-related
- lack of qualified teachers (i.e. certification)
- cs not present in many school curricula, and it’s hard to add it
- unfunded educational mandates
Teaching-related
- lack of time to train teachers towards new education methods like active learning
- a focus on code over computational principles
- lack of standards to teach to
Technical-related
- difficult to bridge easy-to-learn tools and more widely used tools
- most programming languages are English-language-centric
- lack of adequate feedback in today’s tools (i.e. programming without a mentor and relying on error messages meant for professionals) forces students to be incredibly resilient to succeed
Social-related
- increasingly disproportionate gender representation, as well as stereotypes of computer science students, discourage k-12 learners due to identity conflict (Wang, Moghadam 2017)
- access to computer science educational resources are heavily influenced by income and access to technology (which includes training and use)
- lack of widespread understanding of the importance of computational thinking (cf. “critical thinking”)