The field of computer science (CS) faces a crisis in the U.S. because of the shortage of CS teachers and the low level of interest in majoring in CS. Students mention programming as a challenging topic in CS. Scientists suggested teaching computational thinking (CT) to improve programming outcomes. This study focused on four CT practices (pattern recognition, abstraction, decomposition, and algorithms). Five AP CSP courses (Code.org, Mobile CSP, BJC, Microsoft MakeCode, and NJCTL) that included CT in their lesson plans were selected to explore CT practices and instructional strategies to teach CT. Quantitative and qualitative content analysis was conducted by analyzing 522 documents.
The preliminary findings indicated that abstraction was an essential CT practice in teaching all AP CSP courses, followed by algorithms. In contrast, decomposition and pattern recognition were barely addressed. Different instructional strategies were found for teaching CT practices, such as introducing the vocabulary of CT practices, such as abstraction and algorithms, by providing their definitions, mentioning the purpose of CT practices, and mentioning CT practices in learning objectives. Another strategy was connecting CT practices to tangibles and prior knowledge using unplugged activities and analogies. Also, connecting CT practices to CS concepts by providing examples was another strategy, such as mentioning that variables, functions, lists, and libraries are examples of abstraction. In addition, applying CT practices to programming was another strategy by giving different programming activities to simulate, trace, modify, or write codes that implemented CT practices.
Khadijah Alghamdi, Indiana University Bloomington, United States
Anne Ottenbreit-Leftwich, Indiana University Bloomington, United States
Powered by WP LinkPress