Mathematica Solutions to the Chemical Engineering Problem Set1

Total Page:16

File Type:pdf, Size:1020Kb

Mathematica Solutions to the Chemical Engineering Problem Set1 MATHEMATICA SOLUTIONS TO THE CHEMICAL ENGINEERING PROBLEM SET1 H. Eric Nuttall Department of Chemical/Nuclear Engineering Farris Engineering Center, Rm 209 University of New Mexico Albuquerque, New Mexico 87131-1341 INTRODUCTION These solutions are for a set of numerical problems in chemical engineering. Professor Michael B. Cutlip of the University of Connecticut developed the problems and Professor Mordechai Shacham of Ben-Gurion University of the Negev for the ASEE Chemical Engineering Summer School held in Snowbird, Utah in August, 1997. The problem statements are provided in another document.1 Professors Cutlip and Shacham provided a document that showed how to solve the problems using POLYMATH. Professor H. Eric Nuttall of the University of New Mexico provided solutions using Mathematica and Professor J. J. Hwalek provided solutions using Mathcad. After the conference, Professor Ross Taylor provided solutions in Maple, and Edward Rosen provided solution in EXCEL. This paper gives the solutions in MATHEMATICA version 3.0. All documents and solutions are available from http://www.che.utexas.edu/cache/ and via FTP from ftp.engr.uconn.edu/pub/ASEE. The written materials are only readable in Adobe Acrobat 3.0 format and higher; however, this software is free via the Internet from www.adobe.com. The MATHEMATICA solutions were derived using version 3.0. This version of MATHEMATICA is the same on all platforms; hence, the notebooks should work the same for all users independent of computer model. MATHEMATICA is a very extensive and comprehensive computational tool; hence, there are several possible approaches and various routines in MATHEMATICA available for solving each of the ten problems. The approach chosen here is that of the author which means other solutions may prove to be better. Also please note that in addition to using the routines provided by MATHEMATICA one can easily write there own programs/functions. This programming capability greatly extends the usefulness of MATHEMATICA. Numerous primers and publications are available to instruct the user on the operation of MATHEMATICA. Also the online help system is very comprehensive and includes numerous examples for each command. I have found MATHEMATICA to be an indispensable computational tool for teaching and solving engineering problems. All of our Ch.E. students at the University of New Mexico know and use MATHEMATICA. This prefer this package overall the others which are also equally available to the students. 1 “The Use of Mathematica Software packages in Chemical Engineering”. Michael B. Cutlip, John J. Hwalek, H. Eric Nuttall, Mordechai Shacham, Workshop from Session 12, Chemical Engineering Summer School, Snowbird, Utah, Aug., 1997. M i Mathematica ASEE Session 12--Problem 1 M 1 1. Molar Volume and Compressibility Factor from Van Der Waals Equation Mathematica Mathematica has its own notebook interface which works somewhat as a wordprocessor but allows mathematical operations directly within the notebook. In addition, it uses the concept of built in or user written functions to perform the mathematical tasks. Note that in these notebooks the gray sections are input and the next line will be output. Mathematica has a good on-line help utility but to learn how to effectively use this application it is best to read one of the many help books such as: Nancy Blachman, Mathematica: A Practical Approach, Prentice Hall. A new edition for Mathematica version 3.0 will be available soon. Ÿ Mathematica--Define equation, paramters and functions * define all the constants used in the equation and H the compressibility factor as a function. Note it is possible to include units with the constants but this was not done in these problems. * L R = 0.08206; Tc = 405.5; Pc = 111.3; Pr P_ := P Pc; a = 27 R^2 Tc^2 Pc 64; b = RTc 8 Pc@ ; D • Z P_,H V_, T_ := •PVL•RT ;T=.; P =•H.; L @ D •H L * van der Waals equation * eqnH = P + a V^2 V - b == RTL H • L H L 4.19695 P + €€€€€€€€€€€€€€€€€€€€€€€ -0.0373712 + V == 0.08206 T V2 J NH L Mathematica ASEE Session 12--Problem 1 M 2 Ÿ Part (a)--Calculate the molar volume and compressibility factor for gaseous ammonia at a pressure of P=56 atm and a temperature of T= 450 K using the van der Waals equation of state. * temperature and pressure * H L T = 450; P = 56; * Solve vad der Waals equation * H L FindRoot eqn, V, 0.57 @ 8 <D V ® 0.574892 * evaluate compressibility factor * 8H < L Z P, 0.574892, T @ D 0.871827 Ÿ Part (b)--Repeat the problem for a series of reduced pressures: Pr= 1,2,4,10, and 20 * Define partial pressures in the array Pr * H L Pr 0 = 0.503; Pr 1 = 1; Pr 2 = 2; Pr 3 = 4; Pr@4D = 10; Pr 5 @= D20; @ D @ D @ D @ D Mathematica ASEE Session 12--Problem 1 M 3 * Create table of P, Pr V and Z * H L TableForm Table P = Pr i Pc, Pr i ,V1@ = V @8. FindRoot@ D eqn, V, 0.56 , Z @P,D V1, T ,• i, 0, 5 ,@ 8 <D TableHeadings@ D< ->8 None,<D"P atm ", "Pr", "V", "Z" , TableAlignments ->8 Center8 H L << D P atm Pr V Z 55.9839 0.503 0.575084 0.871868 111.3 1 0.233509 0.703808 222.6H L 2 0.0772676 0.465777 445.2 4 0.0606543 0.731261 1113. 10 0.0508753 1.53341 2226. 20 0.046175 2.78348 Ÿ Part (c)--Generate a table and plot Pr versus Z plist = Table Pr i , Z P = Pr i@8Pc,@ VD . FindRoot eqn, V, 0.56 ,T , i,@ 0, 5 @ D • @ 8 <D D< 8 <D 0.503, 0.871868 , 1, 0.703808 , 2, 0.465777 , 4, 0.731261 , 10, 1.53341 , 20, 2.78348 TableForm88 plist, TableHeadings< 8 ->< 8None, "Pr",< "Z" , @ 8 8 << TableAlignments8 < 8 -> Center < 8 << D Pr Z 0.503 0.871868 1 0.703808 2 0.465777 4 0.731261 10 1.53341 20 2.78348 Mathematica ASEE Session 12--Problem 1 M 4 ListPlot plist, PlotRange -> 0, 20 , 0, 3 , PlotStyle@ -> PointSize 0.03 88, < 8 << Frame -> True, GridLines@ -> AutomaticD D 3 2.5 2 1.5 1 0.5 2.5 5 7.5 10 12.5 15 17.5 20 … Graphics … Mathematica ASEE Session 12--Problem 2 M 5 2. Steady Steate Material Balances on a Separation Train Mathematica à This set of simultaneous linear algebraic equations can be solved directly using the "Solve" function in Mathematica. There are other linear equation solving routines in Mathematica that could be used for larger sets of simultaneous equations and of course, matrix algebra approach could be used as well. But the method shown is the most common routine and approach in Mathematica for solving equations. Since Mathematica is a symbolic program one can assign the equations equal to variables to simplicity and clarification. à Part (a) Solve the set of linear simultaneous equations for the unknowns: D1, D2, B1, B2. *Xylene* eqnH X=0.07L D1+0.18 B1+0.15 D2+0.24 B2==0.15*70; *Styrene* eqnH S=0.04 DL1+0.24 B1+0.1 D2+0.65 B2==0.25*70; *Touene* eqnH T=0.54 DL1+0.42 B1+0.54 D2+0.1 B2==0.4*70; *Benzene* eqnH B=0.35 DL1+0.16 B1+0.21 D2+0.01 B2==0.2*70; Mathematica ASEE Session 12--Problem 2 M 6 answers= Solve eqnX,eqnS,eqnT,eqnB , D1,B1,D2,B2 *Answer@8 sappearintherule<construc8 t.This <D H ruleconstructmakessymbolicprogramsvery powerful.Theruleconstructwillappearin manyoftheproblemsolutions.* L D1®26.25,B1®17.5,D2®8.75,B2®17.5 ŸThis 88step shown below reduces the answer list from a <<list of lists to a simple list for use in Part (b). Notice that there are one less set of braces around the list! answers=Part answers,1 @ D D1®26.25,B1®17.5,D2®8.75,B2®17.5 à Part8 (b)-Solve for compositions and molar< flow rates in streams B & D Ÿ Part (b)--Equations (again for convenience and clarity the equations are assigned to variables) eqn1=D==D1+B1; eqn2=XDxD==0.07 D1+0.18 B1; eqn3=XDsD==0.04 D1+0.24 B1; eqn4=XDtD==0.54 D1+0.42 B1; eqn5=XDbD==0.35 D1+0.16 B1; eqn6=B==D2+B2; eqn7=XBxB==0.15 D2+0.24 B2; eqn8=XBsB==0.1 D2+0.65 B2; eqn9=XBtB==0.54 D2+0.1 B2; eqn10=XBbB==0.21 D2+0.01 B2; Mathematica ASEE Session 12--Problem 2 M 7 *Againthe"Solve "functionisused. H Itisnecessarytosubstituteintothe equationsthesolutionsfromPart a .* H L L answers2=Solve ReplaceAll eqn@ 1,eqn2,eqn3,eqn4,eqn5,eqn6,eqn7, eqn8,eqn9,@8eqn10 ,answers , D,B,XDx,XDs,XD<t,XDb,XBDx,XBs,XBt,XBb 8 <D XDx®0.114,XDs®0.12,XDt®0.492,XDb®0.274,XBx®0.21, XBs®0.466667,XBt®0.246667,XBb®0.0766667, B®26.25,D®43.75 88 *TheanswersfromPart b are H listedintherule<<construcH Ltasatable* L Part answers2,1 TableForm @ D•• XDx®0.114 XDs®0.12 XDt®0.492 XDb®0.274 XBx®0.21 XBs®0.466667 XBt®0.246667 XBb®0.0766667 B®26.25 D®43.75 Mathematica ASEE Session 12--Problem 3 M 8 3. Vapor Pressure Data Representaton by Polynomials and Equations Mathematica In this problem the same temperature versus pressure data is fit using three different models, i.e., 1) a polynomial with increasing order--linear regression 2) the Clausiu-Clapeyron equation--linear regression of transformed data 3) the Antoine equation--nonlinear regression or curve fitting In each case, the final model and data are graphed on the same plot for comparison.
Recommended publications
  • Using Mathematica As a Teaching Tool in the Undergraduate Economics Curriculum
    USING MATHEMATICA AS A TEACHING TOOL IN THE UNDERGRADUATE ECONOMICS CURRICULUM Gary Hodgin* Abstract In recent years, the quantitative skills required of economics students have increased significantly. Students often experience difficulty in making the transition from their mathematics courses to the use of mathematics in their economics courses. Symbolic computation programs are mathematical tools that can potentially smooth this transition. This paper illustrates a few ways in which one symbolic computation program, Mathematica, has been used in the undergraduate economics curriculum. I. Introduction The undergraduate curriculum in economics has become increasingly quantitative. An economics major typically includes college algebra, statistics, and some form of calculus in its degree requirements.1 In addition, mathematical economics and econometrics are now standard courses in many undergraduate programs. Moreover, this quantitative emphasis generally extends to other courses across the economics curriculum, particularly the intermediate theory and managerial economics courses. For example, approximately 90 percent of the intermediate microeconomics instructors included in von Allmen and Brower's survey (1998, 279) use calculus in their courses. Although one might question whether too much emphasis is placed on quantitative skills, there appears to be consensus among economics professors that mathematics is an important ingredient in undergraduate economic education. Over the past three years, I have used a symbolic computation program entitled Mathematica in two of my intermediate microeconomics and three of my managerial economics courses. My observations in these courses suggests that some students experience difficulty in making the transition from their courses in mathematics to their use of mathematics in economics. By smoothing this transition, symbolic computation programs can assist students in learning economics.
    [Show full text]
  • Sage Tutorial (Pdf)
    Sage Tutorial Release 9.4 The Sage Development Team Aug 24, 2021 CONTENTS 1 Introduction 3 1.1 Installation................................................4 1.2 Ways to Use Sage.............................................4 1.3 Longterm Goals for Sage.........................................5 2 A Guided Tour 7 2.1 Assignment, Equality, and Arithmetic..................................7 2.2 Getting Help...............................................9 2.3 Functions, Indentation, and Counting.................................. 10 2.4 Basic Algebra and Calculus....................................... 14 2.5 Plotting.................................................. 20 2.6 Some Common Issues with Functions.................................. 23 2.7 Basic Rings................................................ 26 2.8 Linear Algebra.............................................. 28 2.9 Polynomials............................................... 32 2.10 Parents, Conversion and Coercion.................................... 36 2.11 Finite Groups, Abelian Groups...................................... 42 2.12 Number Theory............................................. 43 2.13 Some More Advanced Mathematics................................... 46 3 The Interactive Shell 55 3.1 Your Sage Session............................................ 55 3.2 Logging Input and Output........................................ 57 3.3 Paste Ignores Prompts.......................................... 58 3.4 Timing Commands............................................ 58 3.5 Other IPython
    [Show full text]
  • Exploratory Data Science Using a Literate Programming Tool Mary Beth Kery1 Marissa Radensky2 Mahima Arya1 Bonnie E
    The Story in the Notebook: Exploratory Data Science using a Literate Programming Tool Mary Beth Kery1 Marissa Radensky2 Mahima Arya1 Bonnie E. John3 Brad A. Myers1 1Human-Computer Interaction Institute 2Amherst College 3Bloomberg L. P. Carnegie Mellon University Amherst, MA New York City, NY Pittsburgh, PA [email protected] [email protected] mkery, mahimaa, bam @cs.cmu.edu ABSTRACT engineers, many of whom never receive formal training in Literate programming tools are used by millions of software engineering [30]. programmers today, and are intended to facilitate presenting data analyses in the form of a narrative. We interviewed 21 As even more technical novices engage with code and data data scientists to study coding behaviors in a literate manipulations, it is key to have end-user programming programming environment and how data scientists kept track tools that address barriers to doing effective data science. For of variants they explored. For participants who tried to keep instance, programming with data often requires heavy a detailed history of their experimentation, both informal and exploration with different ways to manipulate the data formal versioning attempts led to problems, such as reduced [14,23]. Currently even experts struggle to keep track of the notebook readability. During iteration, participants actively experimentation they do, leading to lost work, confusion curated their notebooks into narratives, although primarily over how a result was achieved, and difficulties effectively through cell structure rather than markdown explanations. ideating [11]. Literate programming has recently arisen as a Next, we surveyed 45 data scientists and asked them to promising direction to address some of these problems [17].
    [Show full text]
  • Your Notebook Is Not Crumby Enough, Replace It
    Your notebook is not crumby enough, REPLace it Michael BrachmannB , William SpothB , Oliver KennedyB , Boris GlavicI , Heiko MuellerN, Sonia CasteloN, Carlos BautistaN, Juliana FreireN B: University at Buffalo I: Illinois Institute of Technology N: New York University {mrb24,wmspoth,okennedy}@buffalo.edu [email protected] {heiko.mueller, s.castelo, carlos.bautista, juliana.freire}@nyu.edu Figure 1: Overview of our system Vizier. The New York City Leading Causes of Death dataset was used. Vizier has four main views: (A) The Vizier Notebook View, (B) The Vizier Caveat View, (C) The Vizier Spreadsheet View and (D) The Vizier History View. ABSTRACT refine data pipelines. Vizier combines the flexibility of note- Notebook and spreadsheet systems are currently the de- books with the easy-to-use data manipulation interface of facto standard for data collection, preparation, and analysis. spreadsheets. Combined with advanced provenance track- However, these systems have been criticized for their lack of ing for both data and computational steps this enables re- reproducibility, versioning, and support for sharing. These producibility, versioning, and streamlined data exploration. shortcomings are particularly detrimental for data curation Unique to Vizier is that it exposes potential issues with data, where data scientists iteratively build workflows to clean up no matter whether they already exist in the input or are in- and integrate data as a prerequisite for analysis. We present troduced by the operations of a notebook. We refer to such Vizier, an open-source tool that helps analysts to build and potential errors as data caveats. Caveats are propagated alongside data using principled techniques from uncertain data management.
    [Show full text]
  • SDSU Sage Tutorial Documentation Release 1.2
    SDSU Sage Tutorial Documentation Release 1.2 Michael O’Sullivan, David Monarres, Matteo Polimeno Jan 25, 2019 CONTENTS 1 About this tutorial 3 1.1 Introduction...............................................3 1.2 Getting Started..............................................3 1.3 Contributing to the tutorial........................................ 11 2 SageMath as a Calculator 13 2.1 Arithmetic and Functions........................................ 13 2.2 Solving Equations and Inequalities................................... 19 2.3 Calculus................................................. 21 2.4 Statistics................................................. 26 2.5 Plotting.................................................. 27 3 Programming in SageMath 39 3.1 SageMath Objects............................................ 39 3.2 Programming Tools........................................... 54 3.3 Packages within SageMath........................................ 61 3.4 Interactive Demonstrations in the Notebook............................... 66 4 Mathematical Structures 73 4.1 Integers and Modular Arithmetic.................................... 73 4.2 Groups.................................................. 78 4.3 Linear Algebra.............................................. 88 4.4 Rings................................................... 98 4.5 Fields................................................... 109 4.6 Coding Theory.............................................. 114 Bibliography 123 Index 125 i ii SDSU Sage Tutorial Documentation, Release 1.2 Contents:
    [Show full text]
  • Toward Collaborative Open Data Science in Metabolomics Using Jupyter Notebooks and Cloud Computing
    Edith Cowan University Research Online ECU Publications Post 2013 2019 Toward collaborative open data science in metabolomics using Jupyter Notebooks and cloud computing Kevin M. Mendez Edith Cowan University Leighton Pritchard Stacey N. Reinke Edith Cowan University David I. Broadhurst Edith Cowan University Follow this and additional works at: https://ro.ecu.edu.au/ecuworkspost2013 Part of the Life Sciences Commons, and the Physical Sciences and Mathematics Commons 10.1007/s11306-019-1588-0 Mendez, K. M., Pritchard, L., Reinke, S. N., & Broadhurst, D. I. (2019). Toward collaborative open data science in metabolomics using Jupyter Notebooks and cloud computing. Metabolomics, 15(10), 125. Available here. This Journal Article is posted at Research Online. https://ro.ecu.edu.au/ecuworkspost2013/6801 Metabolomics (2019) 15:125 https://doi.org/10.1007/s11306-019-1588-0 REVIEW ARTICLE Toward collaborative open data science in metabolomics using Jupyter Notebooks and cloud computing Kevin M. Mendez1 · Leighton Pritchard2 · Stacey N. Reinke1 · David I. Broadhurst1 Received: 30 May 2019 / Accepted: 7 September 2019 / Published online: 14 September 2019 © The Author(s) 2019 Abstract Background A lack of transparency and reporting standards in the scientifc community has led to increasing and widespread concerns relating to reproduction and integrity of results. As an omics science, which generates vast amounts of data and relies heavily on data science for deriving biological meaning, metabolomics is highly vulnerable to irreproducibility. The metabolomics community has made substantial eforts to align with FAIR data standards by promoting open data formats, data repositories, online spectral libraries, and metabolite databases. Open data analysis platforms also exist; however, they tend to be infexible and rely on the user to adequately report their methods and results.
    [Show full text]
  • A Notebook-Like Graphical Terminal Interface for Collaboration and Inline Data Visualization
    86 PROC. OF THE 12th PYTHON IN SCIENCE CONF. (SCIPY 2013) GraphTerm: A notebook-like graphical terminal interface for collaboration and inline data visualization Ramalingam Saravanan‡∗ http://www.youtube.com/watch?v=nO0ceHmTlDQ F Abstract—The notebook interface, which blends text and graphics, has been much more difficult to perform advanced tasks using the GUI as in use for a number of years in commercial mathematical software and is now compared to using the CLI. Using a GUI is analogous to using finding more widespread usage in scientific Python with the availability browser- a phrase book to express yourself in a foreign language, whereas based front-ends like the Sage and IPython notebooks. This paper describes using a CLI is like learning words to form new phrases in the a new open-source Python project, GraphTerm, that takes a slightly different foreign language. The former is more convenient for first-time and approach to blending text and graphics to create a notebook-like interface. casual users, whereas the latter provides the versatility required by Rather than operating at the application level, it works at the unix shell level by extending the command line interface to incorporate elements of the graphical more advanced users. user interface. The XTerm terminal escape sequences are augmented to allow The dichotomy between the textual and graphical modes of any program to interactively display inline graphics (or other HTML content) interaction also extends to scientific data analysis tools. Tradi- simply by writing to standard output. tionally, commands for data analysis were typed into a terminal GraphTerm is designed to be a drop-in replacement for the standard unix window with an interactive shell and the graphical output was terminal, with additional features for multiplexing sessions and easy deployment displayed in a separate window.
    [Show full text]
  • The Sage Tutorial) the Sage Tutorial
    /Author (The Sage Group) /Title (The Sage Tutorial) The Sage Tutorial The Sage Group September 17, 2008 Copyright c 2007 William A. Stein. All rights reserved. Distribution and modification of this document is licensed under the Creative Commons 3.0 license, http://creativecommons.org/licenses/by-sa/3.0/. Abstract Sage is free, open-source math software that supports research and teaching in algebra, geometry, number theory, cryptography, numerical computation, and related areas. Both the Sage development model and the technology in Sage itself are distinguished by an extremely strong emphasis on openness, community, cooperation, and collaboration: we are building the car, not reinventing the wheel. The overall goal of Sage is to create a viable, free, open-source alternative to Maple, Mathematica, Magma, and MATLAB. This tutorial is the best way to become familiar with Sage in only a few hours. You can read it in HTML or PDF versions, or from the Sage notebook (click Help, then click Tutorial to interactively work through the tutorial from within Sage). CONTENTS 1 Introduction 1 1.1 Installation . 2 1.2 Ways to Use Sage ................................ 2 1.3 Longterm Goals for Sage ............................. 3 2 A Guided Tour 5 2.1 Assignment, Equality, and Arithmetic . 5 2.2 Getting Help . 7 2.3 Functions, Indentation, and Counting . 9 2.4 Basic Algebra and Calculus . 13 2.5 Plotting . 19 2.6 Basic Rings . 22 2.7 Polynomials . 24 2.8 Linear Algebra . 29 2.9 Finite Groups, Abelian Groups . 32 2.10 Number Theory . 34 2.11 Some more advanced mathematics . 37 3 The Interactive Shell 49 3.1 Your Sage session .
    [Show full text]
  • Programming in Matlab/Octave Or Python Getting Started with Matlab
    Programming in Matlab/Octave or Python I will give code snippets in Matlab and Python during the course. All Matlab examples will also work in the largely-compatible free package Octave. You are expected to become familiar with one of Matlab/Octave or Python, and use it to check your understanding through the course, and for the assessed assignment. Sometimes I will only give demonstrations with Matlab/Octave. If you wish to use Python, you will need to work out more by yourself (although I’m happy to answer questions if you’re genuinely stuck). Why Matlab/Octave: If you don’t have much programming experience, you are likely to have fewer problems getting started with Matlab or Octave. The language is simpler than the combination of Python and its scientific libraries, and the base install of Matlab or Octave will do everything you need for this course. I usually prefer giving Matlab/Octave examples, as they tend to be quicker to set up, and make fewer assumptions about your installation. Although Python+NumPy is neater for some types of calculation. Why Python: Python is good for writing larger programs, and accessing large machine learning frameworks like TensorFlow, Theano, or Keras. If you know Python well, or have lots of programming experience, you will probably want to work with Python. Personally I’m using it more and more in my research. However, you’ll probably have to do more work to get set up, and you’ll have to learn to routinely import some modules as outlined below. Other languages? Languages like R or Lua (with Torch), are also sensible choices for machine learning.
    [Show full text]
  • Jupyter Notebooks As a Development and Documentation Tool for Supporting Computer Programming Learning Among Adolescents: a Case Study in a K-18 School
    Treball de Fi de Grau GRAU D'ENGINYERIA INFORMÀTICA Facultat de Matemàtiques i Informàtica Universitat de Barcelona JUPYTER NOTEBOOKS AS A DEVELOPMENT AND DOCUMENTATION TOOL FOR SUPPORTING COMPUTER PROGRAMMING LEARNING AMONG ADOLESCENTS: A CASE STUDY IN A K-18 SCHOOL Ferran Mañà Marín Director: Sergio Sayago Realitzat a: Departament de Matemàtiques i Informàtica Barcelona, 1 de febrer de 2018 Keywords: Jupyter notebooks, Computational narratives, Literate programming, Code learning Abstract This Treball Fi de Grau (TFG) reports on an exploratory case study aimed at facilitating computer programming learning in a K-18 school through Jupyter Notebooks, to test their usability for this user group, and find possible improvements to the interface. Over a period of 4 months, we were in charge of running an extracurricular activity intended to train a team of students to participate in a competition of code challenges, HP Code Wars, thereby adopting a learning-service approach (aprenentatge servei). Within this context, we looked into different aspects of the use of computational notebooks, which were not used in the educational institution, and came up with some possible features to add to the user interface of Jupyter Notebooks to serve better our students’ needs and encouraging good programming practices. From these results we designed a variable inspector for Jupyter, and co-designed an extension that allows the user to add a second dimension to the narrative, where students seemed to agree on a cell folding/grouping approach for a multi-layered structure. The evaluation activities yielded positive results, with students preferring the use of notebooks over interpreters, and documenting their work in an explanatory narrative.
    [Show full text]
  • Disjotter: an Interactive Containerization Tool for Enabling
    Bachelor Informatica DisJotter: an interactive con- tainerization tool for enabling FAIRness in scientific code Wilco Kruijer June 15, 2020 Informatica | Universiteit van Amsterdam Supervisor(s): Spiros Koulouzis & Zhiming Zhao 2 Abstract Researchers nowadays often rapidly prototype algorithms and workflows of their exper- iments using notebook environments, such as Jupyter. After experimenting locally, cloud infrastructure is commonly used to scale experiments to larger data sets. We identify a gap in combining these workflows and address them by relating the existing problems to the FAIR principles. We propose and develop DisJotter, a tool that can be integrated into the development life-cycle of scientific applications and help scientists to improve the FAIR- ness of their code. The tool has been demonstrated in the Jupyter Notebook environment. By using DisJotter, a scientist can interactively create a containerized service from their notebook. In this way, the container can be scaled out to larger workflows across bigger infrastructures. 3 4 Contents 1 Introduction 7 1.1 Research question . .8 1.2 Outline . .8 2 Background 9 2.1 FAIR principles . .9 2.2 Environments and tools for scientific research . 10 2.2.1 Jupyter computational notebooks . 10 2.2.2 JupyterHub . 11 2.2.3 Scientific workflow management . 11 2.3 Software encapsulation . 11 2.3.1 Docker . 12 2.3.2 Repo2docker . 12 2.4 Gap analyses . 12 3 DisJotter 15 3.1 Requirements . 15 3.2 Architecture . 16 3.3 Implementation . 17 3.3.1 Front-end and server extensions . 17 3.3.2 Service helper . 18 3.3.3 Introspection . 18 4 Results 21 4.1 Software prototype: current status & installation .
    [Show full text]
  • Jupyter Documentation Release 4.1.1 Alpha
    Jupyter Documentation Release 4.1.1 alpha https://jupyter.org Sep 08, 2021 CONTENTS 1 Start Here 3 2 Sub-project documentation 5 3 Table of Contents 7 3.1 Get Started................................................7 3.2 Using Jupyter Tools........................................... 16 3.3 Jupyter Projects.............................................. 29 3.4 Community................................................ 42 3.5 Contributing............................................... 79 3.6 Reference................................................. 148 4 Resources 151 5 Indices and tables 153 Index 155 i ii Jupyter Documentation, Release 4.1.1 alpha Welcome to the Jupyter Project documentation. This website acts as “meta” documentation for the Jupyter ecosys- tem. It has a collection of resources to navigate the tools and communities in this ecosystem, and to help you get started. CONTENTS 1 Jupyter Documentation, Release 4.1.1 alpha 2 CONTENTS CHAPTER ONE START HERE Get started with Jupyter Notebook Community Try the notebook Sustainability and growth Architecture Contributor Guides What is Jupyter? How to contribute to the projects Narratives and Use Cases Release Notes Narratives of common deployment scenarios New features, upgrades, deprecation notes, and bug fixes IPython Reference An interactive Python kernel and REPL APIs Installation, Configuration, and Usage Advanced Documentation for users Documentation for advanced use-cases 3 Jupyter Documentation, Release 4.1.1 alpha 4 Chapter 1. Start Here CHAPTER TWO SUB-PROJECT DOCUMENTATION
    [Show full text]