skip to main content
10.1145/3314994.3325072acmconferencesArticle/Chapter ViewAbstractPublication PageswccceConference Proceedingsconference-collections
research-article

Jupyter Notebook in CS1: An Experience Report

Authors Info & Claims
Published:03 May 2019Publication History

ABSTRACT

Jupyter Notebook is currently used as the programming environment for labs and assignments in a CS1 course at the University of Victoria. Some motivation for this choice is given, and the paper then acts as an experience report with a specific focus on the way the environment helps and hinders teaching and learning of Python 3, specifically for new programmers.

References

  1. IPython Interactive Computing. 2019. Retrieved March 16, 2019 from https://ipython.orgGoogle ScholarGoogle Scholar
  2. Anaconda Distribution. 2019. Retrieved March 16, 2019 from https://www.anaconda.com/distributionGoogle ScholarGoogle Scholar
  3. Tony Gaddis. 2017. Starting out with Python (4th ed.). Pearson Higher Education. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Project Jupyter. 2019. Retrieved March 15, 2019 from https://jupyter.org/Google ScholarGoogle Scholar
  5. ACM Recognizes Innovators Who Have Shaped the Digital Revolution. 2017. Retrieved March 15, 2019 from https://awards.acm.org/about/2017-technical-awardsGoogle ScholarGoogle Scholar

Index Terms

  1. Jupyter Notebook in CS1: An Experience Report

      Recommendations

      Reviews

      Franz J Kurfess

      Having observed the ease with which computer science (CS) students with little to no experience in machine learning can start working with existing code presented through Jupyter Notebooks (JNs), together with a few colleagues I explored their use for people outside of CS. Our first experiments went well, and so I started looking for similar approaches in the literature. In this experience report, the author discusses the use of JNs for an introductory programming class in Python, taken by a significant number of students from outside of CS. One appealing aspect of JNs is their ease of access and installation: they rely on a web browser as a primary interface, come pre-installed with the popular Anaconda Python package, and can also be hosted in a cloud-based environment (for example, Google's Colab). The mixture of text cells and code cells lends itself to an interleaved style of learning: participants read an explanation of the concepts (possibly augmented by images or diagrams) and then try out the respective code. Budding programmers can write their own code, while less adventurous readers can simply run the provided code, observe the outcome, and possibly make modifications to the code. While they may not be suitable for the development of complex programs, the author's experience reflects our own: JNs are excellent tools to guide learners with limited or no coding experience through activities presented as a sequence of text and code cells in order to accomplish a computational task. As their wide acceptance in the data science and machine learning community shows, these tasks range from simple beginner exercises to highly convoluted scripts for experiments involving sophisticated machine learning libraries.

      Access critical reviews of Computing literature here

      Become a reviewer for Computing Reviews.

      Comments

      Login options

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

      Sign in
      • Published in

        cover image ACM Conferences
        WCCCE '19: Proceedings of the Western Canadian Conference on Computing Education
        May 2019
        79 pages
        ISBN:9781450367158
        DOI:10.1145/3314994

        Copyright © 2019 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 3 May 2019

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed limited

        Acceptance Rates

        WCCCE '19 Paper Acceptance Rate15of29submissions,52%Overall Acceptance Rate78of117submissions,67%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader