... stands for 'Collaboritive Calculation in the Cloud'. Their platform allows you to:
Do algebra and calculus calculations using SageMath (like Maple or Mathematica).
Plot graphics with MathPlotlib, (built in to SageMath).
Document your work with Markdown and automatic math typesetting using LaTeX.
Model systems and do linear algebra with Octave (much like MatLab).
Carry out statistical analyses and visualise data using R.
Program using Python, and other computer languages,
Use any other open source library that has a Jupyter-compatible kernel.
Collaborate with other users on documents, (similar to Google Docs).
You can set up an account and do all this for free without installing any software on your own computer, other than a web browser. (Acknowledgment: This web page is a revision of one originally authored by Paul Meyer-Reimer.)
1. View this video overview (optional but recommended)
This video overview (10 minutes) to CoCalc (below) was prepared for a programming (Python) class. We'll be doing slightly different things in our mathematics course.
2. Sign up for an account
Start up a web browser. CoCalc recommends using the Chrome browser. But Safari and recent versions of Firefox are also compatible with CoCalc.
Make sure you are logged in with your '@goshen.edu' e-mail address to some Google service, such as your GC e-mail account. (It's important to use your GC e-mail address as your username so that your professor can easily add you from a GC-generated class list of e-mail addresses.)
Fill in a project name. (Don't worry, you can change this later.)
Click the "Create Project" button.
Click on the name of your newly-created-project to open the project. You'll see an empty project. We'll start adding files. Alternatively, there may already be a course related project available. You could enter that project instead of the project you created...
4. Create your first Jupyter notebook
Fill in the name of the notebook. Here I'm calling it nb1
Click on the Jupyter notebook button.
Your new notebook will open. Let's get oriented...
The name of your Jupyter notebook file, here nb1.ipynb, shows up in the active file tab. ".ipynb" is the file extension for Jupyter notebooks.
At the top right, the name of the running kernel, "SageMath (stable)" is shown. This is fine for most purposes. The kernel is the library that interprets your input code cells. You can switch to different kernels by selecting the "Kernel" menu item.
The first input cell is highlighted in green.
A drop-down menu shows that this input cell is a code cell, which we'll use for calculation. (You can drop down the menu and change the cell to be a "markdown" cell, which you'll use to write in.)
Finally, there is a prominent green button that does the same as the File | Save menu item.
5. Calculate using SageMath
Let's use SageMath to convert 30 degrees to radians by multiplying by the conversion factor $\pi$ radians for every 180 degrees.
You'll type the calculation you wish to do into an input cell, and then hit Shift+Return to carry it out.
This results in an "output" cell with the result of your calculation:
Unlike a calculator which gives you a decimal answer, SageMath will try to give you a symbolic answer. So, it has returned a simplified fraction of integers times the constant $\pi$.
You have to use the * (asterisk) character to indicate multiplication. (Unlike Mathematica)
Common constants are available in SageMath, such as pi, that is $\pi$, and e, the base of natural logarithms.
To get a numerical answer you could have used the "function" n(...) by enclosing the calculation inside the parentheses of the function. But we'll do something slightly different: The underscore character, '_' refers to the most recent output, so you can do this:
Many other useful functions:
Trigonometry: sin(...), cos(...), arctan(...), etc.
Exponentials: exp(...) or e^(...)
Logarithms: log(...)
Square roots: sqrt(...)
Absolute value: abs(...)
6. Document your work with Markdown cells
What the notebook interface really shines at is mixing calculations with writing about those calculations (explanations).
The first step in writing about your work inside of a Jupyter notebook is to select a cell and change it from "code" to markdown
Now, you can type out what you'd like to write. Some of what you're typing will affect the appearance of what you write...
Pressing Shift+Return will cause the markdown to be "rendered":
In this example:
Bold face text is produced by surrounding text with **...**. This is an example of markdown formatting.
Other things you can do with markdown formatting include: Different sized headings; paragraph breaks; italics; bulleted or numbered lists; hypertext links.
Enclosing text between dollar signs, \$ ... \$, causes it to be treated as LaTeX commands for producing typeset mathematics.
A LaTeX command typically begins with a slash, such as \pi which renders as $\pi$. Some LaTeX commands look like functions, where the arguments are enclosed in curly brackets, {...}, such as \sqrt{x^2} which renders as $\sqrt{x^2}$.
Find out more: MathJax basic tutorial - MathJax is a common package to let you use LaTeX commands in web documents.
The last thing to do in your Jupyter notebook is to re-arrange the cells a bit. To put our documentation cell before the calculation, use the arrow keys which allow you to move the selected cell (the one whose border is blue) up and down in the sequence.
The final result...
There are many other keys to perform various operations on selected cells as can be found by clicking on the keyboard shortcut button
7. Learn more and get help
Finally, you can learn more about CoCalc and get help by clicking on these buttons: