Teaching C programming in a San Francisco Bay area community college setting through self-determined assignments
Jane Siu Ching Wong · 1992
This study was a documentation and analysis of a pedagogical approach to teaching C programming to college students. The approach involved self-determined assignments in which students selected projects which reflected their interests and experiences. The approach was based on Freire's theory of interactive pedagogy that emphasizes the use of students' life experiences as generative themes for the learning process. Twenty-one students from the San Francisco Downtown Community College center who completed a course in beginning C programming during the Fall 1990 were subjects in the study. Data were collected through journals, audiotapes, videotapes, and questionnaires. Five of these students were extensively interviewed to gain insights as to the students' perspectives about the pedagogical approach. The findings were that the approach based on self-determined assignments was successful in creating a low-pressure atmosphere in which students' interest and motivation were maintained. Most students found the self-determined assignments positive because they could be creative and do things of interest to them. Some students criticized the approach because it put students without resources at a disadvantage to those with resources. Some students preferred to have the instructor decide what to study because they felt at a loss to know what to do. Some students criticized the approach because it did not present the basic programming techniques in a structured way. The approach appeared to succeed in that the 21 students who completed the course appeared to have learned basic C programming exceptionally well, and some learned very advanced techniques in graphics. Moreover, students appeared to be empowered by the approach which allowed them to complete a self-determined assignment and then present it to the class as a final project. Students greatly enjoyed their presentations. In addition, students were required to make all decisions regarding their learning of C programming relative to their self-determined assignments. Their need to deliberate the purpose and effect of their programs helped them develop a critical consciousness regarding computer programming that extended far beyond C programming skills.