A Blended Approach to Design an Introductory Programming Course for Non-CS Majors: Students’ Feedback

Field: Computer Science (Physical Sciences)

Abstract Computer programming skills are no longer discipline bounded. Many national policy documents across disciplines make computer programming a fundamental skill needed for most occupation in modern economy. Resulting to the rise of the need, there is a growing demand over different disciplines, for developing an introductory programming course that targets non-Computer Science (non-CS) major students. This demand is more paramount as many students may not have been introduced to fundamentals of programming in high schools. According to a national survey, only 53% of high schools offer computer science courses. The scarcity of the availability of courses at high school level results in more difficulties, and no prior computer programming experience. For such students the deficit in base continues to grow in college with two important facets: 1) such students are reluctant to pursue engineering and computing majors and 2) these students find typical college programming courses more challenging and harder than many others who took programming in their high school, leaving them behind in courses. Considering offering programming courses for non-CS major students as an ongoing challenge, in this paper, we present our blended approach to design an introductory Python programming course for students with non-CS majors. Also, as the course was designed for non-CS majors with diverse students from different academic backgrounds, it is imperative to hear from non-CS major students' perspective on the course and use their feedback for effective course changes and continuous improvement. Keeping the blended approach, the instructor used various approaches in the courses for enhancing student engagement including 1) lecture in various forms including pre and post reading materials, live coding, and discussions, 2) informal student interaction with instructor and peer mentor, and in-person and online office hours, and 3) individual and collaborative assessments. For capturing students' feedback in this study we answer two research questions: RQ1) Which aspects of the Python programming course design do students like among activities related to lecture, informal interaction, and assessment, and why? RQ2) Is there any difference between students learning in individual and collaborative assessment? Which assessment works better? In the full paper, the results are presented from the collected data of 26 students' perspectives, collected using an end-of-semester open-ended questionnaire. For research question 1, the data are analyzed using qualitative and quantitative content analysis approaches and described students' perspectives on blended approaches. For research question 2 , comparisons were performed using Mann Whitney statistical analysis. We believe that sharing our blended approach, and students' perspective will help in providing us the information for improving the course. Also, for the community and society the meaningful insights will help the instructors and course designers for non-CS major courses for students engagement and learning.