A Controlled Experiment on Python']Python vs C for an Introductory Programming Course: Student's Outcomes

被引:16
|
作者
Wainer, Jacques [1 ]
Xavier, Eduardo C. [1 ]
机构
[1] Univ Estadual Campinas, Comp Inst, Av Albert Einstein 1251, BR-13083852 Campinas, SP, Brazil
来源
基金
巴西圣保罗研究基金会;
关键词
Introductory programming; !text type='Python']Python[!/text; C; CS1; controlled experiment;
D O I
10.1145/3152894
中图分类号
G40 [教育学];
学科分类号
040101 ; 120403 ;
摘要
We performed a controlled experiment comparing a C and a Python Introductory Programming course. Three faculty members at University of Campinas, Brazil, taught the same CS1 course for the same majors in two different semesters, one version in Python and one in C, with a total of 391 students involved in the experiment. We measured the dropout rate, the failure rate, the grades on the two exams, the proportion of completed lab assignments, and the number of submissions per completed assignment. There was no difference in the dropout rate. The failure rate for Python was 16.9% against 23.1% for C. The effect size (Cohen's D) on the comparison of Python against C on the midterm exam was 0.27, and 0.38 for the final exam. The effect size for the proportion of completed assignments was 0.39 and the effect size for the number of submissions per assignment was -0.61 (Python had less submissions per completed assignments). Thus, for all measures, with the exception of dropout rate, the version of the course in Python yielded better student outcomes than the version in C and all differences are significant (with 95% confidence) with the exception of the failure rate (p-value = 0.12).
引用
收藏
页数:16
相关论文
共 50 条
  • [1] Analysis of Student Misconceptions using Python']Python as an Introductory Programming Language
    Johnson, Fionnuala
    McQuistin, Stephen
    O'Donnell, John
    [J]. PROCEEDINGS OF THE 4TH CONFERENCE ON COMPUTING EDUCATION PRACTICE, CEP 2020, 2020,
  • [2] Why should Python']Python be a compulsory introductory programming course in Lima (Peru) universities?
    Sotomayor-Beltran, Carlos
    Zarate Segura, Guillermo Wenceslao
    Roman-Gonzalez, Avid
    [J]. 2018 IEEE INTERNATIONAL CONFERENCE ON AUTOMATION/XXIII CONGRESS OF THE CHILEAN ASSOCIATION OF AUTOMATIC CONTROL (ICA-ACCA), 2018,
  • [3] Pythy: Improving the Introductory Python']Python Programming Experience
    Edwards, Stephen H.
    Tilden, Daniel S.
    Allevato, Anthony
    [J]. PROCEEDINGS OF THE 45TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION (SIGCSE'14), 2014, : 641 - 646
  • [4] Python']Python Versus C plus plus : An Analysis of Student Struggle on Small Coding Exercises in Introductory Programming Courses
    Alzahrani, Nabeel
    Vahid, Frank
    Edgcomb, Alex
    Nguyen, Kevin
    Lysecky, Roman
    [J]. SIGCSE'18: PROCEEDINGS OF THE 49TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2018, : 86 - 91
  • [5] Investigating the impact of adopting Python']Python and C languages for introductory engineering programming courses
    Balreira, Dennis G.
    da Silveira, Thiago L. T.
    Wickboldt, Juliano A.
    [J]. COMPUTER APPLICATIONS IN ENGINEERING EDUCATION, 2023, 31 (01) : 47 - 62
  • [6] Usage of the Python']Python programming language in the CMS experiment
    Wilkinson, R.
    Hegner, B.
    Jones, C. D.
    [J]. 17TH INTERNATIONAL CONFERENCE ON COMPUTING IN HIGH ENERGY AND NUCLEAR PHYSICS (CHEP09), 2010, 219
  • [7] Design of a Blocks-Based Environment for Introductory Programming in Python']Python
    Poole, Matthew
    [J]. 2015 IEEE BLOCKS AND BEYOND WORKSHOP (BLOCKS AND BEYOND), 2015, : 31 - 34
  • [8] Integrating Python']Python data analysis in an existing introductory laboratory course
    Tufino, Eugenio
    Oss, Stefano
    Alemani, Micol
    [J]. EUROPEAN JOURNAL OF PHYSICS, 2024, 45 (04)
  • [9] Teachers' Beliefs and Practices on the Naming of Variables in Introductory Python']Python Programming Courses
    van der Werf, Vivian
    Swidan, Alaaeddin
    Hermans, Felienne
    Specht, Marcus
    Aivaloglou, Efthimia
    [J]. 2024 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING EDUCATION AND TRAINING, ICSE-SEET 2024, 2024, : 368 - 379
  • [10] Active and Collaborative Learning Based Dynamic Instructional Approach in Teaching Introductory Computer Science Course with Python']Python Programming
    Rahman, Md Mahmudur
    Sharker, Monir H.
    Paudel, Roshan
    [J]. 2020 9TH IEEE INTEGRATED STEM EDUCATION CONFERENCE (ISEC 2020), 2020,