How much C can students learn in one week? Experiences teaching C in advanced CS courses.

FIE(2022)

引用 0|浏览3
暂无评分
摘要
In this paper Innovative Practice Full Paper we analyze the results of the application of a Concept Inventory for introductory C programming when teaching C for students in advanced CS courses and propose improvements based on misconceptions found and student perceptions. Even though Python is now the most used language for introductory courses, many advanced CS courses, such as Operating Systems and Em-bedded Computing, still benefit from using the C language. Thus, instructors now face a new challenge: teaching C to students who are already proficient in a higher-level language. Since this must be done in addition to their existing course, it is necessary to (i) be fast; and (ii) assure that students learned enough to be successful in the courses. An approach described in previous work was to concentrate all courses that benefit from using C (Computer Systems, Embedded Computing and Programming Challenges) in a single semester and joining their classes for the first week of the semester. This resulted in promising preliminary results, but lacked a more rigorous assessment in order to draw more meaningful conclusions. Concept Inventories (CI) can be used to both assess how many students have accurate knowledge of the subject but also to identify common pitfalls and misconceptions. In this work we combine three years of experiences in teaching C in advanced CS courses with data from the application of an Introductory C programming CI. We have received 109 responses from three consecutive offerings, detailing student performance in seven key areas. Satisfactory performance was obtained in Parameter use and scope, Iteration, Recursion, Structures and Pointers. Variable Scope and Boolean Expressions were the most challenging areas. We analyze the most common misconceptions and relate them to the material and students’ previous experiences. A questionnaire answered by students (N=56) at the end of the activity is analyzed in order to understand the level of affinity of students with the C language before the course and their perceptions about it, we noticed that most students have not had contact with the language before and feel motivated to learn C. To verify the knowledge in the language on a practical project, we analyzed the first big delivery of code that they have to do after two weeks the end of the course , through the analysis of the students codes (N=58) we can measure that many students use more advanced resources of the language that were not seen in the course or taught officially by other courses, indicating that they were able to learn enough of the language to go it alone in more complex matters.
更多
查看译文
关键词
Concept Inventory,Misconceptions
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要