An Effective Approach to Teach an Introductory Computer Science Course with Computational Thinking and Flow-Chart Based Visual Programming - Rahman, Md Mahmudur; Sharker, Monir H.; Paudel, Roshan (Proceedings - Frontiers in Education Conference, 2020)
This Research to Practice Full Paper presents our experience of positive outcomes with increased motivation and retention in teaching an introductory Computer Science course with Python programming. Without reinventing the wheel, we infused few well established pedagogies by integrating and evaluating Computational Thinking (CT) skills in a meaningful way. We integrated CT with existing curriculum alongside programming and teaching general problem-solving techniques with a flowchart-based programming environment and without using specific programming concepts or languages at the beginning. Our aim here is not only to teach a programming language per se, but also to teach, at the beginning, the different ways of problem solving, logical reasoning, algorithm design, and programming constructs with minimal or no emphasis on syntax. A positive learning experience is successfully developed for our students by using appropriate pedagogies and strategies. To evaluate the impact of this infusion, a pre- and post-survey as well as a pre- and post-CT test were conducted on student cohort in different sections. The statistical analysis of the survey and test results show evidence of improvement in student's problem solving and coding skills as well as increase in motivation towards programming.