skip to main content
research-article

Python CS1 as preparation for C++ CS2

Published:04 March 2009Publication History
Skip Abstract Section

Abstract

How suitable is a Python-based CS1 course as preparation for a C++-based CS2 course? After fifteen years of using C++ for both CS1 and CS2, the Computer Science Department at Michigan State University changed the CS1 course to Python. This paper examines the impact of that change on the second course in the sequence, CS2, which kept C++ as its primary language. We report results on a CS2 class which had a mixture of students who had used either C++ or Python from our CS1 course. The CS2 class covered the same topics as previously, though with some changes, and even gave the same final exam as a previous offering. Independent samples t-tests were used to compare students from the Python group with students from the non-Python group on three outcomes: final exam grade, programming projects scores, and final grade for the course. The main result was that there were no significant differences between the groups for all three outcomes. In addition, multiple regression analysis showed that students' past performance (overall GPA) in the University predicted final grades, final exam scores, and programming project scores for the course, but there was no effect of the programming language feature: Python or non-Python. We feel this shows that the Python-based CS1 course prepared students for the C++-based CS2 course as well as the C++-based CS1 course did---while exposing them to a different, powerful and useful language.

References

  1. T. J. Cortina. An introduction to computer science for non-majors using principles of computation. In SIGCSE '07: Proceedings of the 38th SIGCSE technical symposium on Computer science education, pages 218--222, New York, NY, USA, 2007. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. J. Forbes and D. D. Garcia.". . . but what do the top-rated schools do?": a survey of introductory computer science curricula. SIGCSE Bull., 39(1): 245--246, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Guzdial. Introduction to Computing and Programming in Python: A Multimedia Approach. Pearson Prentice Hall, New Jersey, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. N. Jukic and P. Gray. Using real data to invigorate student learning. SIGCSE Bull., 40(2): 6--10, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. R. P. Loui. In praise of scripting: Real programming pragmatism. IEEE Computer, 41(7): 22--26, July 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. J. Malan and H. H. Leitner. Scratch for budding computer scientists. In SIGCSE '07: Proceedings of the 38th SIGCSE technical symposium on Computer science education, pages 223--227, New York, NY, USA, 2007. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. A. Pears, S. Seidman, L. Malmi, L. Mannila, E. Adams, J. Bennedsen, M. Devlin, and J. Paterson. A survey of literature on the teaching of introductory programming. In ITiCSE-WGR '07: Working group reports on ITiCSE on Innovation and technology in computer science education, pages 204--223, New York, NY, USA, 2007. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. K. Powers, S. Ecott, and L. M. Hirshfield. Through the looking glass: teaching cs0 with alice. In SIGCSE '07: Proceedings of the 38th SIGCSE technical symposium on Computer science education, pages 213--217, New York, NY, USA, 2007. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Python CS1 as preparation for C++ CS2

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGCSE Bulletin
        ACM SIGCSE Bulletin  Volume 41, Issue 1
        SIGCSE '09
        March 2009
        553 pages
        ISSN:0097-8418
        DOI:10.1145/1539024
        Issue’s Table of Contents
        • cover image ACM Conferences
          SIGCSE '09: Proceedings of the 40th ACM technical symposium on Computer science education
          March 2009
          612 pages
          ISBN:9781605581835
          DOI:10.1145/1508865

        Copyright © 2009 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 4 March 2009

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!