Presentation
Evaluating Active Learning Approaches for Teaching Intermediate Programing at an Early Undergraduate Level
Author/Presenters
Event Type
Workshop
W
Education
Scientific Computing
Training
Scalable and Sustainable Approaches for HPC Training and Education
TimeMonday, November 12th11:10am - 11:30am
LocationD222
DescriptionThere is a growing need to provide intermediate programing classes to STEM students early in their undergraduate careers. These efforts face significant challenges owing to the varied computing skill-sets of learners, requirements of degree programs and the absence of a common programing standard. Instructional scaffolding and active learning methods using Python offer avenues to support these students with varied needs. Here, we report on quantitative and qualitative outcomes from three distinct models of programing education that (i) connect coding to hands-on “maker” activities; (ii) incremental learning of computational thinking elements through guided exercises using Jupyter Notebooks; and (iii) problem-based learning with step-wise code fragments leading to algorithmic implementation. Performance in in-class activities, capstone projects, in-person interviews and extensive surveys informed us about the effectiveness of these approaches on various aspects of student learning. Students with previous coding experience were able to rely on broader skills and grasp concepts faster than students who recently attended an introductory programing session. We find that while maker-space activities were engaging and explained basic programing concepts, they lost their appeal in complex programing scenarios. Students grasped coding concepts fastest using the Jupyter notebooks, while the problem-based learning approach was best at having students understand the core problem and create inventive means to address them.
Archive

