Discipline: Computer Sciences & Information Management
Subcategory: STEM Science and Mathematics Education
- Morgan State University
Co-Author(s): Prabir Bhattacharya, Morgan State University, Baltimore, MD
A core challenge in introductory programming courses during the freshmen year is getting students to understand how a static textual representation (source code) maps to a highly dynamic process (program execution). The program execution is typically illustrated using graphical PowerPoint lecture slides or by drawing diagrams on a whiteboard, which is tedious and error prone and requires a great deal of effort. Research findings demonstrate that teaching computational thinking (CT) and problem-solving skills before or alongside traditional programming yielded significant improvements in student performance. There are also a large body of evidence supporting the idea that most students nowadays are visual learners who learn programming concept better through web-based visual and interactive environment instead of learning from traditional black board lecturing styles. Being motivated, this work focuses of our instructional approach of teaching an introductory programming course “COSC 111: Introduction to Computer Science I” in Python by integrating CT skill alongside programming by identifying key concepts and incorporating visual and interactive learning in classroom through using a flowchart-based programming environment and using a web-based interactive eBook. We also created an assessment built around CT concepts to gauge the ability of incoming students and measure the progress at the end of a semester. In this study, eleven sections of COSC 111 were included over three semesters as control and experimental groups. The potential of visualization and code simulation with instant feedbacks (students can read, edit, and run programs in dynamic flow-charts and within the pages of the eBook inside the browser) seems to be effective (analysis showed a statistically significant difference) in aiding the understanding of CT processes and problem-solving skills of novice programmers. To add to our understanding of what students were experiencing, we also administered a survey to students at the end of the course. Regarding learning styles and tools, survey result showed that the eBook was helpful in understanding programming concepts (71.5%) and instant feedback that the online book provided was helpful (82.9%). Overall, it seems that the proposed pedagogical approaches have made a positive difference by increasing student motivation and engagement, and reducing failure rates.
Funder Acknowledgement(s): This work is supported by an NSF HBCU UP: Targeted Infusion Grant (#1623335)
Faculty Advisor: None Listed,