Effective CS teachers demonstrate and continuously develop thorough knowledge of CS contentComputer science concepts and practices are defined in the K-12 Computer Science Framework. CS standards integrate concepts and practices together to create student learning outcomes.. They demonstrate proficiency with the CS concepts of the grade bandsA grade band includes several grade levels. Grade bands used in the CSTA K-12 CS Standards and K-12 CS Framework are K-2, 3-5, 6-8, and 9-12. they teach, and they integrate these concepts with CS practices, including computational thinkingComputational thinking (CT): The human ability to formulate problems so that their solutions can be represented as computational steps or algorithms to be executed by a computer. {Lee, 2016}. They also understand the progression of content For example, middle grades CS teachers should demonstrate deep knowledge of the concepts taught in grades 6-8, and they should also have familiarity with the progression of concepts from upper elementary to early high school. before and after the grade bands they teach. The current content expectations are maintained in student standards The CSTA K-12 Computer Science Standards and other comprehensive, state- and district-adopted standards integrate the concepts and practices from the K-12 CS Framework. aligned to the K-12 CS Framework.
Indicators
Effective CS teachers:
Apply CS and computational thinking practices in flexible and appropriate ways. Practices include: Fostering an Inclusive Computing CultureFostering an Inclusive Computing Culture: Incorporate perspectives from people of different genders, ethnicities, and abilities. To do this, teachers must first understand the personal, ethical, social, economic, and cultural identities/contexts in which they and their students operate. {adapted from K-12 CS Framework}, Collaborating Around ComputingCollaborating Around Computing: Work effectively with colleagues to plan and reflect on lessons and create complex artifacts. Collaboration requires teachers to navigate and incorporate diverse perspectives, conflicting ideas, disparate skills, and distinct personalities. {adapted from K-12 CS Framework}, Communicating About ComputingCommunicating About Computing: Communicate with diverse audiences about the use and effects of computation and the appropriateness of computational choices. Write clear comments, document work, and communicate ideas using precise language and multiple forms of media. {adapted from K-12 CS Framework}, Recognizing and Defining Computational ProblemsRecognizing and Defining Computational Problems: Define problems, break them down into parts, and evaluate each part to determine whether a computational solution is appropriate. {adapted from K-12 CS Framework}, Developing and Using AbstractionsDeveloping & Using Abstractions: Identify patterns and extract common features from specific examples to create generalizations in order to simplify the development process and manage complexity. {adapted from K-12 CS Framework}, Creating Computational ArtifactsCreating Computational Artifacts: Create artifacts that are personally relevant or beneficial to the community and beyond, by combining and modifying existing artifacts or by developing new artifacts. Examples of computational artifacts include programs, simulations, visualizations, digital animations, robotic systems, and apps. {adapted from K-12 CS Framework}, and Testing and Refining Computational ArtifactsTesting and Refining Computational Artifacts: Test and refine computational artifacts in a deliberate and iterative process. Respond to the changing needs and expectations of end users and improve the performance, reliability, usability, and accessibility of artifacts. {adapted from K-12 CS Framework}.
Apply knowledge of how hardware and software function to input, process, store, and output information within computing systems by analyzing interactionsInteractions are among components, devices, systems, and users. The study of human–computer interaction can improve the design of devices and extend the abilities of humans.{adapted from K-12 CS Framework}, designing projects, and troubleshooting problems.
ModelModels should demonstrate understanding of the flow of information within a network. Ways to model the transmission of packets include: drawing, programming an animation, or physically acting out in an unplugged activity. how computing devices connect via networks and the Internet to facilitate communication, and explain tradeoffs between usability and security.
Collect, store, transformData can be transformed to remove errors, highlight or expose relationships, and/or make it easier for computers to process. {from K-12 CS Framework}, and analyzeData analysis includes identifying trends and making predictions or inferences. digital data to better understand the world and make more accurate predictions.
Design, implement, debug, and reviewDesign often involves reusing existing code or remixing other programs within a community. People continuously review whether programs work as expected, and they fix, or debug, parts that do not. Repeating these steps enables people to refine and improve programs. {from K-12 CS Framework} programs in an iterative process using appropriate CS tools and technologies. Interpret algorithmsInterpreting algorithms involves tracing the flow of execution and making predictions about outcomes., and explain tradeoffsDifferent algorithms can achieve the same result. Some algorithms are more appropriate for a specific context than others. Tradeoffs may involve use, performance, reusability, and ease of implementation.{from K-12 CS Framework} associated with different algorithms.
Analyze how people influence computing through their behaviors, cultural norms, and social interactionsExamples include: developers inadvertently build bias into the algorithms they design to screen job applicants; human-created data sets are the source of bias in machine learning models; the needs of the military in World War II led to the first electronic computers; scientists’ need to share information led to the development of the World Wide Web; people’s desire to communicate more effectively led to the development of @replies, direct messages, and hashtags; and people in developing countries who have limited access to debit cards and bank accounts rely on mobile payments. See also how culture determines technological development., as well as how computing impacts society in both positive and negative waysFor example, teachers consider issues of accessibility in the design of technologies, how greater connectivity allows people to learn from diverse perspectives, and how more online data can improve user experience but also lead to privacy concerns..
Effective CS teachers proactively advocate for equityEquity is not just about whether classes are available, but also about how those classes are taught, which and how students are recruited, and how the classroom culture supports diverse learners and promotes retention. The result of equity is a diverse classroom of students, based on factors such as race, gender, disability, socioeconomic status, and English language proficiency, all of whom have high expectations, feel empowered to learn, and are given what they need to succeed. {adapted from K-12 CS Framework; see Chapter 2 for more information} and inclusionInclusion: to the greatest extent possible, all students are taught together and have an equal opportunity to learn alongside their peers. Learn about the benefits of inclusion classrooms. in the CS classroom. They work towards an intentional, equity-focused vision to improve access, engagement, and achievement for all of their students in CS.
Indicators
Effective CS teachers:
Examine how systemic barriersSystemic barriers include the lack of CS offerings, scheduling conflicts, prerequisite courses, school funding and resources, lack of qualified and experienced teachers, inadequate access to technology, additional course requirements for English learners and students with disabilities, and students being pulled out from CS classes for additional services. and social and psychological factorsSocial and psychological factors include biased beliefs about who can and cannot succeed in CS, isolation of underrepresented students, stereotype threat, lack of diverse representation in curriculum, and lack of diverse STEM role models and peer support networks. These factors can impact students’ perceived ability, aspirations, and performance. {adapted from Kapor Center} contribute to inequitable access, engagement, and achievement in CS among marginalized groupsMarginalized groups traditionally underrepresented in computer science include women and non-binary people, Indigenous and Native peoples, Black people, Latinxs, English language learners, students with disabilities, students from low socioeconomic backgrounds, students who live in urban and rural areas, migrant students, students who identify as LGBTQ+, and students who are/were incarcerated.. Reflect on how issues of equity manifest in their own CS teaching context.
Develop purposeful strategiesTo learn strategies to remove threats to inclusion, see Microsoft’s Guide to Inclusive CS Education. In secondary grade levels, this may take the form of active recruitment of students from underrepresented groups. See the CS is for Everyone Recruitment Toolkit and NCWIT’s Recruit and Retain Strategically resources for additional information. Learn more about combating bias and stereotype threat from CSteachingtips.org, EngageCSEdu engagement practices, Race Forward, Teaching Tolerance, NCWIT, Rethinking Schools, and Zinn Project. to proactively challenge unconscious biasUnconscious bias (or implicit bias): Prejudice or unsupported judgments in favor of or against one thing, person, or group as compared to another, in a way that is usually considered unfair. {adapted from Vanderbilt University} When the unconscious biases of well-intentioned teachers influence their judgment towards particular students (e.g., by race, ethnicity, gender, able-bodiedness), it can influence their instructional practices, the expectations they convey, and their recommendations for relevant outcomes like course placement, special education, and discipline. {Dee & Gershenson, 2017} See also tools for interrupting implicit bias.. and minimize stereotype threat in CS.
IncorporateTeachers should evaluate the extent that diverse perspectives are represented in existing curriculum and classroom materials, and they should identify or create additional resources as needed. diverse experiences and perspectivesDiverse perspectives should include Black, Indigenous, people of color, and other marginalized groups (see indicator 2a for a more complete list). Diverse experiences should include both those throughout history and in the present time. of individuals from marginalized groups in curricular materials and instructionTeachers should represent and respect the diverse identities of both the students who are in their CS classes and those that are not. Culturally responsive pedagogy (CRP) “empowers students to maintain cultural integrity while succeeding academically" {Billings, 1995}. See indicator 4c for more information on how teachers plan instruction that uses CRP..
Create and implement a planFor example, a teacher may advocate that students are not pulled out for response to intervention (RTI) time during their CS instruction. Alternatively, a teacher may create an active recruitment plan to increase enrollment among underrepresented groups of students. (See CS is for Everyone Recruitment Toolkit for ideas.) to improve access, engagement, and full participation in CS using classroom dataTeachers should monitor and disaggregate classroom data to inform decision-making to improve student access, engagement, and achievement in their CS classroom. For example, examine enrollment, affective surveys (measuring self-efficacy), and formative and summative assessments. to inform decision-making.
Evaluate tools and curriculaFor example, are videos captioned? Are there options for text-to-speech? and leverage resourcesExample resources include assistive technology specialists at the school or district level and the National Center for Accessible Educational Materials. to improve accessibilityAccessibility: appropriate measures to ensure that persons with disabilities access information and communications, on an equal basis with others, both in urban and in rural areas (adapted from United Nations, 2006). In CS education, we must consider how tools and technologies are developed to allow people with auditory, visual, cognitive, and physical disabilities to understand, navigate, and contribute. Accessibility standards include the Web Content Accessibility Guidelines (WCAG) and Accessible Rich Internet Applications (ARIA) standards. for all students.
Effective CS teachers continuously develop their knowledge, practice, and professional identityProfessional identity includes understanding one’s self-concept as a teacher, one’s personal biases, and one’s place as part of a larger CS education community (locally, statewide, and nationally). to keep pace with the rapidly evolving discipline. They participate in the larger CS education community and collaborate with others to develop the skills that enable all students to succeed in their classes.
Indicators
Effective CS teachers:
Develop and implement a plan for targeted professional developmentTo develop a plan for targeted professional development, teachers must first identify strengths and areas of need. They then select specific priorities for growth and identify professional learning opportunities aligned to these priorities. There is a critical need for ongoing professional development to help teachers stay current with emerging technologies and the evolving discipline of CS, as well as developments in CS research and research-based practices. to continuously deepen their CS content and pedagogical knowledge and skills
Model willingness to learn from othersTeachers may act as the lead learner, demonstrating the importance of life-long learning and a positive attitude in the face of new material or new challenges. A lead learner verbalizes the processes used in problem-solving to allow others to become more adept at problem-solving for themselves. and to continuously developContinuous development is an integral skill for all CS learners, including teachers. Continuous growth of teachers models and normalizes this process for students. new skills. Demonstrate comfort in problem solving and perseverance when encountering new or challenging content.
Examine how their personal perspective, privilege, and powerPrivilege and power in computer science may include that of knowledge, experience, ability, age, education, race or ethnicity, positional authority, and social or economic advantage. People often do not recognize their own privilege and power. Teachers should recognize that they have the power to influence students’ CS identities and trajectories. impact student success and classroom culture and continuously work to counteract biasesEven strong and well-intentioned teachers have biases that impact student success. Learn more about teacher bias in the classroom. Teachers should recognize that their own personal bias can impact student engagement and achievement..
DevelopTeachers continuously develop their teaching philosophy. As they refine their craft and better understanding their students and their own perspective, privilege, power, and biases, they also refine their beliefs about teaching. a personal teaching philosophy reflecting that all students can and should learn CSCS is important for all students to learn to prepare for college, career, and civic engagement. CS has meaningful connections to a wide variety of curricular subjects, careers, and areas of interest. When taught appropriately, all students are capable of learning and succeeding in CS. Sometimes, people perceive natural talent when this is actually “preparatory privilege” {Margolis et al., 2008}. There is no “geek gene” that causes some people to be better at CS; rather, success in CS requires access, experience, high expectations, and appropriate support. Standard 2 expands on how to build an inclusive computing classroom. .
Identify and connect resourcesResources include people, tools, and programs and can be in school, outside of school, and in the community. Other teachers, administrators, counselors, school staff, families, industry volunteers, librarians, and policymakers can all serve as resources. Example programs are after school programs, summer camps, clubs, competitions, internships, library programs, volunteer placement organizations, guest speakers, field trips, mentorships, family code nights, and engaging with the community as the customer/user for student-developed projects. Tools include sources of information such as websites and books, or hardware such as might be available at a library or makerspace. in the local community and broader CS ecosystem to support student learning in CS.
Participate in CS professional learning communities (PLCs)Belonging to PLCs is especially important for new CS teachers and those who are isolated from other CS teachers. These communities may be local, national, or global, and in-person, online, or blended. to collaborate with peers, celebrate successes, share lessons learned, and address challenges.
Effective CS teachers design learning experiencesAll teachers design learning experiences and materials for their students and contexts, even if using a defined, existing curriculum. Instructional design does not need to involve curriculum development. As instructional designers, teachers adapt materials and plan how to meet the diverse needs of their students through instruction. that engage students in problem solving and creative expression through CS, using pedagogical content knowledge (PCK)PCK combines CS content knowledge with instructional best-practices that acknowledge typical gaps and pitfalls in student understanding and practice. Learn more by reading Shulman’s “Knowledge Growth in Teaching.”. They plan to meet the varied learning, cultural, linguistic, and motivational needs of individual students in order to build student self-efficacy and capacity in CS.
Indicators
Effective CS teachers:
Analyze CS curriculaTeachers can analyze curricula even if they do not select their own classroom curricula. They can supplement or adapt curricular materials to fill content gaps, make content more relevant or accessible, or teach concepts differently, even without switching the curricula they use. for implementation in their classrooms in terms of CS standards alignmentComprehensive standards are those aligned to the K-12 CS Framework, such as CSTA K-12 Computer Science Standards and other state-adopted standards., accuracy, completeness of content, cultural relevance, and accessibility.
Design and adapt learning experiences that align to comprehensive K-12 CS standardsAs part of examining standards alignment, teachers should identify grade level standards that are partially covered and not covered and how their instruction fits within logical learning progressions. While most curriculum providers already conduct standards alignment processes, teachers should still examine differences between what is fully addressed in the curriculum and expectations of the standards. If state-adopted standards are not comprehensive, teachers should also assess whether all five concepts and seven practices from.
Use Universal Design for Learning (UDL)UDL is a framework for designing curriculum to be broadly accessible to ALL students. Learn more about utilizing the UDL Framework in CS education., Culturally Relevant Pedagogy (CRP)Culturally Relevant Pedagogy is a teaching technique that incorporates the cultural resources of the learners that “empowers students to maintain cultural integrity, while succeeding academically" {Billings, 1995}. Learn more from the U.S. Department of Education, Teaching Tolerance and the Kapor Center., and other techniques to support all students in successfully accessing and engaging with content.
Design learning experiences that make connections to other disciplines and real-world contexts.
Plan opportunities for students to create and share open-ended and personally meaningful projectsStudents are more engaged and learn more effectively when they create relevant projects (see EngageCSEdu’s research-based engagement practices). Showcasing this work to authentic audiences (e.g., peers, families, school community) also increases relevance and motivation. One common strategy is Project-Based Learning (PBL)..
Plan activities that use evidence-based, CS-specific teaching strategiesExamples include teacher modeling (“code-alongs”), code tracing, drawing on common analogies and illustrations, unplugged activities, subgoal labeling, and teaching strategies like PRIMM and Use-Modify-Create. to develop students’ conceptual understanding and proactively address student misconceptions in CS
DevelopDeveloping assessments does not always involve designing assessments from scratch; rather, they may compile and adapt existing assessment items and ensure alignment to learning objectives. multiple forms and modalities of assessmentForms of assessment include formative, summative, and ipsative (student self-reflective). Modalities of assessment include portfolios with aligned rubrics, student explanation of their iterative development process, reading and making predictions about code, Parsons problems, and debugging challenges. Learn more about different types of assessment. to provide feedback and support. Use resulting data for instructional decision-making and differentiation.
Effective CS teachers are responsive classroom practitionersResponsive practitioners thoughtfully include and support all students and adjust their instruction based on students’ assets, needs, interests, and culture, as well as formative and summative feedback. who implement evidence-based pedagogy to facilitate meaningful experiences and produce empowered learners of CS.
Indicators
Effective CS teachers:
Use inquiry-based learningTeachers should guide student learning through asking key questions rather than offering solutions to technical challenges. For example, teachers can prompt students to make and discuss predictions about what will happen before testing by running code (e.g., see the PRIMM method). They can also use peer instruction or Process Oriented Guided Inquiry Learning (POGIL) to guide students in learning from one another while the teacher serves as a facilitator. See also the talk science project from TERC.. to enhance student understanding of CS content.
Cultivate a positive classroom climateClassroom climate: the prevailing mood, attitudes, standards, and tone that students and teachers feel when they are in the classroom. A positive classroom climate feels safe, respectful, welcoming, and supportive of student learning. {adapted from Kamb, 2012} that values and amplifiesStudents benefit from learning from diverse perspectives and approaches of both other students in their classes and those who are not represented in their classes. Teachers should highlight and promote multiple solutions and approaches to problems. When teachers create classroom environments that value community and students’ contributions, they also promote student self-identity and inclusivity (See Lewis et al., 2019). varied perspectives, abilities, approaches, and solutions.
Promote student self-efficacySelf-efficacy: an individual’s belief in his/her ability to succeed in specific situations or accomplish a task, which strongly influences how he/she approaches goals, tasks, and challenges {adapted from Bandura, 1994; learn more here} by facilitating student creativity, choice in product and process, and self-directed learningTeachers should support self-directed learning by teaching students how to leverage a variety of resources and problem-solving techniques. Resources include both published materials (e.g., product documentation, webpages) and people (e.g., classmates, teachers, people outside of the classroom). Problem-solving techniques in CS include debugging, tracing code, and decomposition..
Provide structured opportunitiesEvidence-based practices include pair programming (or buddy programming) and structured team roles that provide scaffolding for participation by all. Other evidence-based practices include agile development and scrum, cooperative learning, and Process Oriented Guided Inquiry Learning (POGIL). See also how to use collaborative learning and Gray et al., 2019 on infusing cooperative learning into AP CS Principles courses to promote engagement and diversity. for students to collaborate in CS. Develop students’ ability to provide, receive, and respond to constructive feedback in the design, implementation, and review of computational artifacts.
Create and scaffold meaningful opportunitiesTeachers should structure opportunities to provide peer feedback (e.g., code reviews, gallery walks). See this NSF project video about infusing cooperative learning in CS. for students to discuss, read, and writeSome ways to communicate about computing include commenting code, reading and writing documentation, reading and writing pseudocode, and discussing debugging strategies. about CS concepts and how they integrate CS practices.
Use formative assessments to provide timely, specific, and actionable feedback to students and to adjust instruction. Develop students’ ability to interpret and use feedback from computersTeachers should support students in using automated feedback from computers. For example, teachers teach students how to interpret error messages and use debugging tools to identify the source of errors., teachers, peers, and community.
License & Attribution
These Standards are licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0).
Suggested citation: Computer Science Teachers Association (2020). Standards for Computer Science Teachers. Retrieved from https://csteachers.org/teacherstandards.