skip to main content
10.1145/3287324.3287491acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article

Punch Cards to Python: A Case Study of a CS0 Core Course

Published: 22 February 2019 Publication History

Abstract

There is an immense interest in teaching computer science concepts- and programming specifically - to everyone. The United States Military Academy at West Point has required every student, regardless of major, to pass a computer science zero (CS0) course for the last 50 years: From punch cards to Python. We present a history of our CS0 course and the lessons learned from the most recent redesign of the course. We review the last decade of student assessments and how they influenced the latest iteration. We contrast the expectations of students in a CS0 course with those in a CS1 course. We discuss the national efforts to make CS accessible to all and explore the challenges unique to a CS0 course. We demonstrate similarities between our course and the Advance Placement CS Principles and show where differences are justified. We review the relevant pedagogical research for CS0 and present lessons learned over multiple iterations of the course. Based on our current course review and implementation, we believe that Computer Science for everyone is attainable and relevant to the needs of every student.

References

[1]
Kenneth L. Alford, Curtis A. Carter, Daniel J. Ragsdale, Eugene K. Ressler, and Charles W. Reynolds. 2004. Specification and Managed Development of Information Technology Curricula. In Proceedings of the 5th Conference on Information Technology Education (CITC5 '04). ACM, New York, NY, USA, 261--266.
[2]
Christine Alvarado, Briana B. Morrison, Barbara Ericson, Mark Guzdial, and Brad Miller. 2012. Performance and use evaluation of an electronic book for introductory Python programming. Technical Report GT-IC-12-02. Georgia Institute of Technology.
[3]
Thomas Berry, Lori Cook, Nancy Hill, and Kevin Stevens. 2010. An Exploratory Analysis of Textbook Usage and Study Habits: Misperceptions and Barriers to Success. College Teaching 59, 1 (2010), 31--39. arXiv:https://doi.org/10.1080/87567555.2010.509376
[4]
College Board. 2018. AP Score Distributions. https://apscore.collegeboard.org/ scores/about-ap-scores/score-distributions//
[5]
Paul Chandler and John Sweller. 1996. Cognitive Load While Learning to Use a Computer Program. Applied Cognitive Psychology 10, 2 (Apr 1996), 151--170.
[6]
CollegeBoard. 2017. AP® Computer Science Principles: Including the Curriculum Framework. https://apcentral.collegeboard.org/pdf/ ap-computer-science-principles-course-and-exam-description.pdf?course= ap-computer-science-principles
[7]
Nell B. Dale. 2006. Most Difficult Topics in CS1: Results of an Online Survey of Educators. SIGCSE Bull. 38, 2 (June 2006), 49--53.
[8]
National Science Foundation. 2018. Computer Science for All (CSforAll:RPP). https://www.nsf.gov/funding/pgm_summ.jsp?pims_id=505359
[9]
John C. Giordano and Martin Carlisle. 2006. Toward a More Effective Visualization Tool to Teach Novice Programmers. In Proceedings of the 7th Conference on Information Technology Education (SIGITE '06). ACM, New York, NY, USA, 115-- 122.
[10]
Dee Gudmundsen, Lisa Olivieri, and Namita Sarawagi. 2011. Using Visual Logic©: Three Different Approaches in Different Courses - General Education, CS0, and CS1. J. Comput. Sci. Coll. 26, 6 (June 2011), 23--29. http://dl.acm.org/citation. cfm?id=1968521.1968529
[11]
Philip J. Guo. 2013. Online Python Tutor: Embeddable Web-based Program Visualization for Cs Education. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE '13). ACM, New York, NY, USA, 579--584.
[12]
Mark Guzdial. 2003. A Media Computation Course for Non-majors. In Proceedings of the 8th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE '03). ACM, New York, NY, USA, 104--108.
[13]
Mark Guzdial. 2008. Education: Paving the Way for Computational Thinking. Commun. ACM 51, 8 (Aug. 2008), 25--27.
[14]
Mark Guzdial and Elliot Soloway. 2002. Teaching the Nintendo Generation to Program. Commun. ACM 45, 4 (April 2002), 17--21.
[15]
Mark J. Guzdial and Barbara Ericson. 2016. Introduction to Computing and Programming in Python, A Multimedia Approach (4th ed.). Pearson, Hoboken, NJ, USA.
[16]
Filiz KALELIO?LU and Yasemin Gülbahar. 2014. The Effects of Teaching Programming via Scratch on Problem Solving Skills: A Discussion from Learners' Perspective. Informatics in Education 13, 1 (2014).
[17]
Judy Kay, Michael Barg, Alan Fekete, Tony Greening, Owen Hollands, Jeffrey H. Kingston, and Kate Crawford. 2000. Problem-Based Learning for Foundation Computer Science Courses. Computer Science Education 10, 2 (2000), 109--128. arXiv:https://doi.org/10.1076/0899--3408(200008)10:2;1-C;FT109
[18]
Caitlin Kelleher and Randy Pausch. 2005. Lowering the Barriers to Programming: A Taxonomy of Programming Environments and Languages for Novice Programmers. ACM Comput. Surv. 37, 2 (June 2005), 83--137.
[19]
Brian W. Kernighan. 2017. Understanding the Digital World. Princeton University Press, 41 Williams Street, Princeton, New Jersey, 08540.
[20]
Richard Kick and Frances P. Trees. 2015. AP CS Principles: Engaging, Challenging, and Rewarding. ACM Inroads 6, 1 (Feb. 2015), 42--45.
[21]
Chee Sern Lai, Kahirol Mohd Salleh, Nor Lisa Sulaiman, Mimi Mohaffyza Mohamad, and Jailani Md Yunos. 2014. The effects of worked example and problem solving on learning performance and cognitive load. In 4th Shanghai International Conference on Social Science 2014. 131--143.
[22]
James Lang. 2009. Choosing and Using Textbooks. https://www.chronicle.com/ article/ChoosingUsing-Textbooks/44820
[23]
Katherine Long. 2014. UW maxed out on computer-science space. The Seattle Times (2014). https://www.seattletimes.com/seattle-news/ uw-maxed-out-on-computer-science-space/
[24]
Katherine Long. 2016. Demand for computer science forces Washington colleges to ramp up. The Seattle Times (2016). https://www.seattletimes.com/seattle-news/education/ with-surge-in-computer-science-majors-state-colleges-struggle-to-keep-pace/
[25]
Tanya Markow, Eugene Ressler, and Jean Blair. 2006. Catch That Speeding Turtle: Latching Onto Fun Graphics in CS1. In Proceedings of the 2006 Annual ACM SIGAda International Conference on Ada (SIGAda '06). ACM, New York, NY, USA, 29--34.
[26]
Brad Miller and David Ranum. 2014. Runestone Interactive: Tools for Creating Interactive Course Materials. In Proceedings of the First ACM Conference on Learning @ Scale Conference (L@S '14). ACM, New York, NY, USA, 213--214.
[27]
Bradley N. Miller and David L. Ranum. 2012. Beyond PDF and ePub: Toward an Interactive Textbook. In Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE '12). ACM, New York, NY, USA, 150--155.
[28]
Ralph Morelli, Chinma Uche, Pauline Lake, and Lawrence Baldwin. 2015. Analyzing Year One of a CS Principles PD Project. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education (SIGCSE '15). ACM, New York, NY, USA, 368--373.
[29]
Roxana Moreno. 2004. Decreasing Cognitive Load for Novice Students: Effects of Explanatory versus Corrective Feedback in Discovery-Based Multimedia. Instructional Science 32, 1 (01 Jan 2004), 99--113.
[30]
Roxana Moreno, Martin Reisslein, and Gamze Ozogul. 2009. Optimizing Worked-Example Instruction in Electrical Engineering: The Role of Fading and Feedback during Problem-Solving Practice. Journal of Engineering Education 98, 1 (Jan 2009), 83--92. arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1002/j.2168- 9830.2009.tb01007.x
[31]
Andrew Petersen, Michelle Craig, and Daniel Zingaro. 2011. Reviewing CS1 Exam Question Content. In Proceedings of the 42Nd ACM Technical Symposium on Computer Science Education (SIGCSE '11). ACM, New York, NY, USA, 631--636.
[32]
Leo Porter and Daniel Zingaro. 2014. Importance of Early Performance in CS1: Two Conflicting Assessment Stories. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (SIGCSE '14). ACM, New York, NY, USA, 295--300.
[33]
Mitchel Resnick, John Maloney, Andrés Monroy-Hernández, Natalie Rusk, Evelyn Eastmond, Karen Brennan, Amon Millner, Eric Rosenbaum, Jay Silver, Brian Silverman, and Yasmin Kafai. 2009. Scratch: Programming for All. Commun. ACM 52, 11 (Nov. 2009), 60--67.
[34]
Anthony Robins. 2010. Learning edge momentum: a new account of outcomes in CS1. Computer Science Education 20, 1 (2010), 37--71.
[35]
Anthony Robins, Janet Rountree, and Nathan Rountree. 2003. Learning and Teaching Programming: A Review and Discussion. Computer Science Education 13, 2 (2003), 137--172. arXiv:https://doi.org/10.1076/csed.13.2.137.14200
[36]
Hamzeh Roumani. 2006. Practice What You Preach: Full Separation of Concerns in CS1/CS2. In Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education (SIGCSE '06). ACM, New York, NY, USA, 491--494.
[37]
John R Savery. 2006. Overview of problem-based learning: Definitions and distinctions. Interdisciplinary Journal of Problem-based Learning 1, 1 (2006), 3.
[38]
Megan Smith. 2016. Computer Science For All. https://goo.gl/F96bYV
[39]
Elliot Soloway. 1993. Should We Teach Students to Program? Commun. ACM 36, 10 (Oct. 1993), 21--24.
[40]
J. Sorva. 2010. Reflections on threshold concepts in computer programming and beyond. Proceedings of the 10th Koli Calling International Conference on Computing Education Research (2010).
[41]
Tamara Van Gog, Fred Paas, and Jeroen JG Van Merriënboer. 2004. Processoriented worked examples: Improving transfer performance through enhanced understanding. Instructional Science 32, 1--2 (2004), 83--98.

Cited By

View all
  • (2023)Data Science for Social Science and Digital Humanities ResearchGuide to Teaching Data Science10.1007/978-3-031-24758-3_19(283-301)Online publication date: 21-Mar-2023
  • (2022)Interdisciplinary CS1 Course for Non-Majors: The Case of Graduate Psychology Students2022 IEEE Global Engineering Education Conference (EDUCON)10.1109/EDUCON52537.2022.9766516(86-93)Online publication date: 28-Mar-2022
  • (2021)A Remote CS0 Workshop Based on Peer Learning: Motivation, Engagement and Self-Regulation of Novice Programmers2021 IEEE Global Engineering Education Conference (EDUCON)10.1109/EDUCON46332.2021.9454065(821-830)Online publication date: 21-Apr-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGCSE '19: Proceedings of the 50th ACM Technical Symposium on Computer Science Education
February 2019
1364 pages
ISBN:9781450358903
DOI:10.1145/3287324
This paper is authored by an employee(s) of the United States Government and is in the public domain. Non-exclusive copying or redistribution is allowed, provided that the article citation is given and the authors and agency are clearly identified as its source.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 February 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. computational thinking
  2. computer science education
  3. programming
  4. programming tools
  5. undergraduate education

Qualifiers

  • Research-article

Conference

SIGCSE '19
Sponsor:

Acceptance Rates

SIGCSE '19 Paper Acceptance Rate 169 of 526 submissions, 32%;
Overall Acceptance Rate 1,595 of 4,542 submissions, 35%

Upcoming Conference

SIGCSE TS 2025
The 56th ACM Technical Symposium on Computer Science Education
February 26 - March 1, 2025
Pittsburgh , PA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)11
  • Downloads (Last 6 weeks)1
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Data Science for Social Science and Digital Humanities ResearchGuide to Teaching Data Science10.1007/978-3-031-24758-3_19(283-301)Online publication date: 21-Mar-2023
  • (2022)Interdisciplinary CS1 Course for Non-Majors: The Case of Graduate Psychology Students2022 IEEE Global Engineering Education Conference (EDUCON)10.1109/EDUCON52537.2022.9766516(86-93)Online publication date: 28-Mar-2022
  • (2021)A Remote CS0 Workshop Based on Peer Learning: Motivation, Engagement and Self-Regulation of Novice Programmers2021 IEEE Global Engineering Education Conference (EDUCON)10.1109/EDUCON46332.2021.9454065(821-830)Online publication date: 21-Apr-2021
  • (2020)Discovery of Research Trends in Computer Science Education on Ethics Using Topic Modeling2020 International Conference on Computational Science and Computational Intelligence (CSCI)10.1109/CSCI51800.2020.00166(885-891)Online publication date: Dec-2020
  • (2019)Hacking the Non-Technical BrainProceedings of the 20th Annual SIG Conference on Information Technology Education10.1145/3349266.3351411(112-117)Online publication date: 26-Sep-2019

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media