[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

Extending Jupyter with Multi-Paradigm Editors

Published: 17 June 2024 Publication History

Abstract

Computational notebooks like the Jupyter programming environment have been popular, particularly for developing data-driven applications. One of its main benefits is that it easily supports different programming languages with exchangeable kernels. Thus, it makes the user interface of computational notebooks broadly accessible. While their literate programming paradigm has advantages, we can use this infrastructure to make other paradigms similarly easily and broadly accessible to developers. In our work, we demonstrate how the Jupyter infrastructure can be utilized with different interfaces for different programming paradigms, enabling even greater flexibility for programmers and making it easier for them to adopt different paradigms when they are most suitable. We present a prototype that adds graphical programming and a multi-paradigm editor on top of the Jupyter system. The multi-paradigm editor seamlessly combines the added graphical programming with the familiar notebook interface side-by-side, which can further help developers switch between programming paradigms when desired. A subsequent user evaluation demonstrates the benefits not only of alternate interfaces and paradigms but also of the flexibility of seamlessly switching between them. Finally, we discuss some of the challenges in implementing these systems and how these can enhance the software development process in the future.

References

[1]
Martín Abadi, Ashish Agarwal, Paul Barham, Eugene Brevdo, Zhifeng Chen, Craig Citro, Greg S. Corrado, Andy Davis, Jeffrey Dean, Matthieu Devin, Sanjay Ghemawat, Ian Goodfellow, Andrew Harp, Geoffrey Irving, Michael Isard, Yangqing Jia, Rafal Jozefowicz, Lukasz Kaiser, Manjunath Kudlur, Josh Levenberg, Dandelion Mané, Rajat Monga, Sherry Moore, Derek Murray, Chris Olah, Mike Schuster, Jonathon Shlens, Benoit Steiner, Ilya Sutskever, Kunal Talwar, Paul Tucker, Vincent Vanhoucke, Vijay Vasudevan, Fernanda Viégas, Oriol Vinyals, Pete Warden, Martin Wattenberg, Martin Wicke, Yuan Yu, and Xiaoqiang Zheng. 2015. TensorFlow: Large-Scale Machine Learning on Heterogeneous Systems. https://www.tensorflow.org/
[2]
William B. Ackerman. 1982. Data Flow Languages. Computer 15, 2 (1982), 15--25. https://doi.org/10.1109/MC.1982.1653938
[3]
Muhammad Waseem Anwar, Muhammad Rashid, Farooque Azam, Muhammad Kashif, and Wasi Haider Butt. 2019. A model-driven framework for design and verification of embedded systems through SystemVerilog. Des. Autom. Embed. Syst. 23, 3-4(2019), 179--223. https://doi.org/10.1007/s10617-019-09229-y
[4]
Michael R. Berthold, Nicolas Cebron, Fabian Dill, Thomas R. Gabriel, Tobias Kötter, Thorsten Meinl, Peter Ohl, Kilian Thiel, and Bernd Wiswedel. 2009. KNIME - the Konstanz information miner. ACM SIGKDD Explorations Newsletter 11, 1 (2009), 26--31. https://doi.org/10.1145/1656274.1656280
[5]
Mohamed Bjaoui, Houneida Sakly, Mourad Said, Naoufel Kraiem, and Mohamed Salim Bouhlel. 2020. Depth Insight for Data Scientist with RapidMiner "an Innovative Tool for AI and Big Data towards Medical Applications". In Proceedings of the 2nd International Conference on Digital Tools & Uses Congress (Virtual Event, Tunisia) (DTUC '20). Association for Computing Machinery, New York, NY, USA, Article 21, 6 pages. https://doi.org/10.1145/3423603.3424059
[6]
John Brooke. 1996. SUS - A quick and dirty usability scale. Usability evaluation in industry 189, 194 (1996), 4--7.
[7]
Margaret M. Burnett and David W. McIntyre. 1995. Visual Programming - Guest Editors' Introduction. Computer 28, 3 (1995), 14--16. https://doi.org/10.1109/MC.1995.10027
[8]
Souti Chattopadhyay, Ishita Prasad, Austin Z. Henley, Anita Sarma, and Titus Barik. 2020. What's Wrong with Computational Notebooks? Pain Points, Needs, and Design Opportunities. In Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems (CHI '20). Association for Computing Machinery, New York, NY, USA, 1--12. https://doi.org/10.1145/3313831.3376729
[9]
Mark Chen, Jerry Tworek, Heewoo Jun, Qiming Yuan, Henrique Pondé de Oliveira Pinto, Jared Kaplan, Harrison Edwards, Yuri Burda, Nicholas Joseph, Greg Brockman, Alex Ray, Raul Puri, Gretchen Krueger, Michael Petrov, Heidy Khlaaf, Girish Sastry, Pamela Mishkin, Brooke Chan, Scott Gray, Nick Ryder, Mikhail Pavlov, Alethea Power, Lukasz Kaiser, Mohammad Bavarian, Clemens Winter, Philippe Tillet, Felipe Petroski Such, Dave Cummings, Matthias Plappert, Fotios Chantzis, Elizabeth Barnes, Ariel Herbert-Voss, William Hebgen Guss, Alex Nichol, Alex Paino, Nikolas Tezak, Jie Tang, Igor Babuschkin, Suchir Balaji, Shantanu Jain, William Saunders, Christopher Hesse, Andrew N. Carr, Jan Leike, Joshua Achiam, Vedant Misra, Evan Morikawa, Alec Radford, Matthew Knight, Miles Brundage, Mira Murati, Katie Mayer, Peter Welinder, Bob McGrew, Dario Amodei, Sam McCandlish, Ilya Sutskever, and Wojciech Zaremba. 2021. Evaluating Large Language Models Trained on Code. CoRR abs/2107.03374 (2021), 35. arXiv:2107.03374 https://arxiv.org/abs/2107.03374
[10]
Daniel J.B. Clarke, Minji Jeon, Daniel J. Stein, Nicole Moiseyev, Eryk Kropiwnicki, Charles Dai, Zhuorui Xie, Megan L. Wojciechowicz, Skylar Litz, Jason Hom, John Erol Evangelista, Lucas Goldman, Serena Zhang, Christine Yoon, Tahmid Ahamed, Samantha Bhuiyan, Minxuan Cheng, Julie Karam, Kathleen M. Jagodnik, Ingrid Shu, Alexander Lachmann, Sam Ayling, Sherry L.Jenkins, and Avi Ma'ayan. 2021. Appyters: Turning Jupyter Notebooks into data-driven web apps. Patterns 2, 3 (2021), 100213. https://doi.org/10.1016/j.patter.2021.100213
[11]
Alain Colmerauer and Philippe Roussel. 1996. The Birth of Prolog. Association for Computing Machinery, New York, NY, USA, 331--367. https://doi.org/10.1145/234286.1057820
[12]
Allen Cypher (Ed.). 1993. Watch what I do. MIT Press, London, England.
[13]
Fred D. Davis. 1989. Perceived Usefulness, Perceived Ease of Use, and User Acceptance of Information Technology. MIS Quarterly 13, 3 (1989), 319--340. http://www.jstor.org/stable/249008
[14]
Robert DeLine and Kael Rowan. 2010. Code canvas: zooming towards better development environments. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2, ICSE 2010, Cape Town, South Africa, 1-8 May 2010, Jeff Kramer, Judith Bishop, Premkumar T. Devanbu, and Sebastián Uchitel (Eds.). ACM, 207--210. https://doi.org/10.1145/1810295.1810331
[15]
Janez Demsar, Blaz Zupan, Gregor Leban, and Tomaz Curk. 2004. Orange: From Experimental Machine Learning to Interactive Data Mining. In Knowledge Discovery in Databases: PKDD 2004, 8th European Conference on Principles and Practice of Knowledge Discovery in Databases, Pisa, Italy, September 20-24, 2004, Proceedings (Lecture Notes in Computer Science, Vol. 3202), Jean-François Boulicaut, Floriana Esposito, Fosca Giannotti, and Dino Pedreschi (Eds.). Springer, Berlin, Heidelberg, 537--539. https://doi.org/10.1007/978-3-540-30116-5_58
[16]
Stefano Federici. 2011. A Minimal, Extensible, Drag-and-Drop Implementation of the C Programming Language. In Proceedings of the 2011 Conference on Information Technology Education (West Point, New York, USA) (SIGITE '11). Association for Computing Machinery, New York, NY, USA, 191--196. https://doi.org/10.1145/2047594.2047646
[17]
Herve Gallaire, Jack Minker, and Jean-Marie Nicolas. 1984. Logic and Databases: A Deductive Approach. ACM Comput. Surv. 16, 2 (jun 1984), 153--185. https://doi.org/10.1145/356924.356929
[18]
Abdoulaye Gamatié, Sébastien Le Beux, Éric Piel, Rabie Ben Atitallah, Anne Etien, Philippe Marquet, and Jean-Luc Dekeyser. 2011. A Model-Driven Design Framework for Massively Parallel Embedded Systems. ACM Trans. Embed. Comput. Syst. 10, 4 (2011), 39:1--39:36. https://doi.org/10.1145/2043662.2043663
[19]
Brian E. Granger and Fernando Pérez. 2021. Jupyter: Thinking and Storytelling With Code and Data. Computing in Science & Engineering 23, 2 (2021), 7--14. https://doi.org/10.1109/MCSE.2021.3059263
[20]
Sandra G Hart. 2006. NASA-task load index (NASA-TLX); 20 years later. In Proceedings of the human factors and ergonomics society annual meeting, Vol. 50. Sage publications Sage CA, Los Angeles, CA, USA, 904--908. https://doi.org/10.1177/154193120605000909
[21]
Andrew Head, Fred Hohman, Titus Barik, Steven M. Drucker, and Robert DeLine. 2019. Managing Messes in Computational Notebooks. In Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems (Glasgow, Scotland Uk) (CHI '19). Association for Computing Machinery, New York, NY, USA, 1--12. https://doi.org/10.1145/3290605.3300500
[22]
Mary Beth Kery, Donghao Ren, Fred Hohman, Dominik Moritz, Kanit Wongsuphasawat, and Kayur Patel. 2020. Mage: Fluid Moves Between Code and Graphical Work in Computational Notebooks. In Proceedings of the 33rd Annual ACM Symposium on User Interface Software and Technology (Virtual Event, USA) (UIST '20). Association for Computing Machinery, New York, NY, USA, 140--151. https://doi.org/10.1145/3379337.3415842
[23]
Mary Beth Kery, Donghao Ren, Kanit Wongsuphasawat, Fred Hohman, and Kayur Patel. 2020. The Future of Notebook Programming Is Fluid. In Extended Abstracts of the 2020 CHI Conference on Human Factors in Computing Systems (Honolulu, HI, USA) (CHI EA '20). Association for Computing Machinery, New York, NY, USA, 1--8. https://doi.org/10.1145/3334480.3383085
[24]
Donald E. Knuth. 1984. Literate Programming. Comput. J. 27, 2 (01 1984), 97--111. https://doi.org/10.1093/comjnl/27.2.97
[25]
Sam Lau, Ian Drosos, Julia M. Markel, and Philip J. Guo. 2020. The Design Space of Computational Notebooks: An Analysis of 60 Systems in Academia and Industry. In 2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). IEEE, New York, NY, USA, 1--11. https://doi.org/10.1109/VL/HCC50065.2020.9127201
[26]
Henry Lieberman (Ed.). 2001. Your Wish is My Command. Morgan Kaufmann / Elsevier, Amsterdam, Netherlands. https://doi.org/10.1016/b978-1-55860-688-3.x5000-3
[27]
Eric S. Liu, Dylan A. Lukes, and William G. Griswold. 2023. Refactoring in Computational Notebooks. ACM Trans. Softw. Eng. Methodol. 32, 3, Article 77 (apr 2023), 24 pages. https://doi.org/10.1145/3576036
[28]
Michael Xieyang Liu, Advait Sarkar, Carina Negreanu, Benjamin Zorn, Jack Williams, Neil Toronto, and Andrew D. Gordon. 2023. "What It Wants Me To Say": Bridging the Abstraction Gap Between End-User Programmers and Code-Generating Large Language Models. In Proceedings of the 2023 CHI Conference on Human Factors in Computing Systems (Hamburg, Germany) (CHI '23). Association for Computing Machinery, New York, NY, USA, Article 598, 31 pages. https://doi.org/10.1145/3544548.3580817
[29]
Ingo Mierswa, Michael Wurst, Ralf Klinkenberg, Martin Scholz, and Timm Euler. 2006. YALE: Rapid Prototyping for Complex Data Mining Tasks. In Proceedings of the 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (Philadelphia, PA, USA) (KDD '06). Association for Computing Machinery, New York, NY, USA, 935--940. https://doi.org/10.1145/1150402.1150531
[30]
Michael Milligan. 2017. Interactive HPC Gateways with Jupyter and Jupyterhub. In Proceedings of the Practice and Experience in Advanced Research Computing 2017 on Sustainability, Success and Impact (New Orleans, LA, USA) (PEARC '17). Association for Computing Machinery, New York, NY, USA, Article 63, 4 pages. https://doi.org/10.1145/3093338.3104159
[31]
Brad A. Myers. 1986. Visual Programming, Programming by Example, and Program Visualization: A Taxonomy. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (Boston, Massachusetts, USA) (CHI '86). Association for Computing Machinery, New York, NY, USA, 59--66. https://doi.org/10.1145/22627.22349
[32]
Mark Noone and Aidan Mooney. 2018. Visual and textual programming languages: a systematic review of the literature. Journal of Computers in Education 5 (2018), 149--174.
[33]
Keith J. O'Hara, Douglas S. Blank, and James B. Marshall. 2015. Computational Notebooks for AI Education. In Proceedings of the Twenty-Eighth International Florida Artificial Intelligence Research Society Conference (FLAIRS), Ingrid Russell and William Eberle (Eds.). AAAI Press, Hollywood, Florida, USA, 263--268. https://doi.org/10.13140/2.1.2434.5928
[34]
Vreda Pieterse, Derrick G. Kourie, and Andrew Boake. 2004. A Case for Contemporary Literate Programming. In Proceedings of the 2004 Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists on IT Research in Developing Countries (Stellenbosch, Western Cape, South Africa) (SAICSIT '04). South African Institute for Computer Scientists and Information Technologists, ZAF, 2--9.
[35]
João Felipe Pimentel, Leonardo Murta, Vanessa Braganholo, and Juliana Freire. 2019. A Large-Scale Study about Quality and Reproducibility of Jupyter Notebooks. In Proceedings of the 16th International Conference on Mining Software Repositories (Montreal, Quebec, Canada) (MSR '19). IEEE Press, New York, NY, USA, 507--517. https://doi.org/10.1109/MSR.2019.00077
[36]
Bernadette M. Randles, Irene V. Pasquetto, Milena S. Golshan, and Christine L. Borgman. 2017. Using the Jupyter Notebook as a Tool for Open Science: An Empirical Study. In Proceedings of the 17th ACM/IEEE Joint Conference on Digital Libraries (Toronto, Ontario, Canada) (JCDL '17). IEEE Press, New York, NY, USA, 338--339. https://doi.org/10.1109/JCDL.2017.7991618
[37]
E. Riccobene, P. Scandurra, A. Rosti, and S. Bocchio. 2006. A Model-Driven Design Environment for Embedded Systems. In Proceedings of the 43rd Annual Design Automation Conference (San Francisco, CA, USA) (DAC '06). Association for Computing Machinery, New York, NY, USA, 915--918. https://doi.org/10.1145/1146909.1147141
[38]
William Robinson. 2016. From Scratch to Patch: Easing the Blocks-Text Transition. In Proceedings of the 11th Workshop in Primary and Secondary Computing Education (WiPSCE '16). Association for Computing Machinery, New York, NY, USA, 96--99. https://doi.org/10.1145/2978249.2978265
[39]
Adam Rule, Aurélien Tabard, and James D. Hollan. 2018. Exploration and Explanation in Computational Notebooks. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems (Montreal QC, Canada) (CHI '18). Association for Computing Machinery, New York, NY, USA, 1--12. https://doi.org/10.1145/3173574.3173606
[40]
James Rumbaugh, Ivar Jacobson, and Grady Booch. 2004. Unified Modeling Language Reference Manual, The (2nd Edition). Pearson Higher Education, London, UK.
[41]
Christian Scheidler, Lorenz Schäfers, and Ottmar Krämer-Fuhrmann. 1993. TRAPPER: A Graphical Programming Environment for Industrial High-Performance Applications. In Parallel Architectures and Languages Europe, 5th International PARLE Conference (Munich, Germany) (PARLE '93, Vol. 694), Arndt Bode, Mike Reeve, and Gottfried Wolf (Eds.). Springer, Berlin Heidelberg, Germany, 403--413. https://doi.org/10.1007/3-540-56891-3_32
[42]
Akhila Sri Manasa Venigalla and Sridhar Chimalakonda. 2021. What's in a GitHub Repository? - A Software Documentation Perspective. arXiv e-prints (Feb. 2021). https://doi.org/10.48550/arXiv.2102.12727 arXiv:2102.12727 [cs.SE]
[43]
Thomas Strasser, Martijn Rooker, Gerhard Ebenhofer, Alois Zoitl, Christoph Sunder, Antonio Valentini, and Allan Martel. 2008. Framework for Distributed Industrial Automation and Control (4DIAC). In 2008 6th IEEE International Conference on Industrial Informatics. IEEE, New York, NY, USA, 283--288. https://doi.org/10.1109/INDIN.2008.4618110
[44]
Gregory Vial and Bogdan Negoita. 2018. Teaching Programming to Non-Programmers: The Case of Python and Jupyter Notebooks. In Proceedings of the International Conference on Information Systems - Bridging the Internet of People, Data, and Things (ICIS), Jan Pries-Heje, Sudha Ram, and Michael Rosemann (Eds.). Association for Information Systems, San Francisco, CA, USA, 17. https://aisel.aisnet.org/icis2018/education/Presentations/1
[45]
Jiawei Wang, Li Li, and Andreas Zeller. 2020. Better Code, Better Sharing: On the Need of Analyzing Jupyter Notebooks. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: New Ideas and Emerging Results (Seoul, South Korea) (ICSE-NIER '20). Association for Computing Machinery, New York, NY, USA, 53--56. https://doi.org/10.1145/3377816.3381724
[46]
Alex Watson, Scott Bateman, and Suprio Ray. 2019. PySnippet: Accelerating Exploratory Data Analysis in Jupyter Notebook through Facilitated Access to Example Code. In Proceedings of the Workshops of the EDBT/ICDT 2019 Joint Conference (EDBT/ICDT 2019). CEUR-WS, Lisbon, Portugal, 4. https://ceur-ws.org/Vol-2322/BigVis_8.pdf
[47]
Thomas Weber and Heinrich Hußmann. 2022. Tooling for Developing Data-Driven Applications: Overview and Outlook. In Proceedings of Mensch Und Computer 2022 (Darmstadt, Germany) (MuC '22). Association for Computing Machinery, New York, NY, USA, 66--77. https://doi.org/10.1145/3543758.3543779
[48]
Thomas Weber and Sven Mayer. 2024. From Computational to Conversational Notebooks. In Proceedings of the 1st CHI Workshop on Human-Notebook Interactions (Honolulu, Hawaii, USA, 2024-05-11). Online.
[49]
David Weintrop. 2019. Block-Based Programming in Computer Science Education. Commun. ACM 62, 8 (jul 2019), 22--25. https://doi.org/10.1145/3341221
[50]
David Weintrop and Uri Wilensky. 2017. Between a Block and a Typeface: Designing and Evaluating Hybrid Programming Environments. In Proceedings of the 2017 Conference on Interaction Design and Children (IDC '17). Association for Computing Machinery, New York, NY, USA, 183--192. https://doi.org/10.1145/3078072.3079715
[51]
Frank F. Xu, Uri Alon, Graham Neubig, and Vincent Josua Hellendoorn. 2022. A Systematic Evaluation of Large Language Models of Code. In Proceedings of the 6th ACM SIGPLAN International Symposium on Machine Programming (San Diego, CA, USA) (MAPS 2022). Association for Computing Machinery, New York, NY, USA, 1--10. https://doi.org/10.1145/3520312.3534862
[52]
Chunqi Zhao, I-Chao Shen, Tsukasa Fukusato, Jun Kato, and Takeo Igarashi. 2022. ODEN: Live Programming for Neural Network Architecture Editing. In 27th International Conference on Intelligent User Interfaces. ACM, New York, NY, USA, 392--404. https://doi.org/10.1145/3490099.3511120
[53]
Igor Zubrycki, Marcin Kolesiński, and Grzegorz Granosik. 2017. Graphical Programming Interface for Enabling Nontechnical Professionals to Program Robots and Internet-of-Things Devices. In Advances in Computational Intelligence, Ignacio Rojas, Gonzalo Joya, and Andreu Catala (Eds.). Springer International Publishing, Cham, 620--631. https://doi.org/10.1007/978-3-319-59147-6_53

Cited By

View all
  • (2024)Usability and Adoption of Graphical Tools for Data-Driven DevelopmentProceedings of Mensch und Computer 202410.1145/3670653.3670658(231-241)Online publication date: 1-Sep-2024

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Proceedings of the ACM on Human-Computer Interaction
Proceedings of the ACM on Human-Computer Interaction  Volume 8, Issue EICS
EICS
June 2024
589 pages
EISSN:2573-0142
DOI:10.1145/3673909
Issue’s Table of Contents
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 the author(s) 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: 17 June 2024
Accepted: 01 March 2024
Revised: 01 February 2024
Received: 01 October 2023
Published in PACMHCI Volume 8, Issue EICS

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. development tools
  2. jupyter
  3. software development

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)97
  • Downloads (Last 6 weeks)13
Reflects downloads up to 11 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Usability and Adoption of Graphical Tools for Data-Driven DevelopmentProceedings of Mensch und Computer 202410.1145/3670653.3670658(231-241)Online publication date: 1-Sep-2024

View Options

Login options

Full Access

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