Learning How To Code Through Open-Ended Problem Solving

Grant program: Teaching and Learning Development Grant (TLDG)

Grant recipient: Angelica Lim, School of Computing Science

Project team: Kathleen Moriarty, research assistant

Timeframe: January 2018 to May 2021

Funding: $5890

Course addressed: CMPT 120 – Introduction to Computing Science and Programming

Final report: View Angelica Lim's final report >>

Description: The CMPT 120 course is meant to give students an informal introduction to Computing Science and Programming. It is important that students be able to code proficiently and confidently in the Python programming language at the end of the semester. In order to ensure that students develop strong programming skills, in Spring 2018, I implemented several changes to the CMPT 120 curriculum, including:

  1. Real world problem solving using code
  2. Weekly exercises that do not have a "right" answer and promote creativity (and possibly writing more code)
  3. Shareable online code/programs that can be linked to friends and family
  4. Interactive coding practice in lectures
  5. All evaluations as typed code submissions in-class

This TLDG project will specifically evaluate change #2, Weekly Open-Ended Exercises, and the impact on students’ ability to develop programming skills.

Questions addressed:

  • What is the impact of weekly open-ended coding exercises on student performance?
  • What is the impact of sharing code between fellow students and copying code from examples on student performance?
  • What are the student perceptions of the coding exercises?
  • What are the differences in performance and enjoyment by gender and major?
  • Do the aggregate results and commentary from the course evaluation explain the class trends in student performance and perception data?
  • What is the impact on student performance when coding style is evaluated?
  • Does students’ confidence in their coding improve after sharing errors with other students?

Knowledge sharing: I plan to share the results of this study within the School of Computing Science. I will share the final report and curriculum (slides, exercises and notes) with other professors teaching CMPT 120, and report to the SFU Computing Science Gender Issues Committee.

Keywords:  Computer science, introduction to programming, gender, non-majors, curriculum rework