Integrating Hands-On Data Collection Experience in an Introductory Programming Class for Non-CS Majors
In response to the growing demand for data analysis and computational thinking skills across various academic disciplines, universities are integrating programming courses into the curricula for non-CS majors. A key challenge for instructors is to create teaching materials customized for these students, ensuring they recognize the practical value of programming in their fields. This paper reports our experience in designing a data analysis lab within an introductory programming course, where hands-on data collection is integrated into the entire analytical process. Instead of providing predefined datasets, students in pairs use a Raspberry Pi and a thermocouple sensor to collect their own data before performing tasks in data extraction, data processing, and data visualization using Python. We set up 20 device kits that benefit over 200 students at a flagship large engineering university. We collected student feedback to evaluate their confidence and understanding of the data analysis workflow. We elaborate on the insights obtained from the lab, showing that hands-on data collection activities significantly help students better understand programming in the context of engineering.