Computational Thinking (CT), particularly abstraction, is essential in engineering education, enabling students to break down complex systems into manageable parts. Abstraction helps learners focus on key elements of a problem, ignoring extraneous details. The PGK framework, sugg
...
Computational Thinking (CT), particularly abstraction, is essential in engineering education, enabling students to break down complex systems into manageable parts. Abstraction helps learners focus on key elements of a problem, ignoring extraneous details. The PGK framework, suggested by Per-renet, Groote, and Kaasenbrood, defines abstraction across four cognitive levels: problem, algorithm, program, and execution. At a higher education institution that focuses on engineering education, we assessed students' abstraction skills using sorting algorithms, chosen for their foundational role and suitability for testing such skills. Our study focused on two areas: (1) the performance of computer science (CS) and non-CS students on algorithmic abstraction tasks, and (2) how factors like demographics, training, programming proficiency, and self-assessed abstraction mastery correlate with task performance. Results showed that all students, especially non-CS majors (including Engineering), need stronger skills at the algorithm, program (coding algorithms), and execution (code functionality) levels. Many non-CS students overestimated their abilities, highlighting a gap in mastery. Students with programming experience performed better, underscoring the importance of hands-on training. These findings suggest interventions for non-CS students are needed to gain experience in programming and to bridge the gap between perceived and actual skills. Future research should focus on discipline-specific curricula and long-term studies to ensure that all students develop the essential CT skills for the digital era.