Learning Julia - a programming language for scientific computing

UCL

Nov 8, 2024

10:00 - 17:00

Instructors: David Pérez-Suárez, Mosè Giordano

Helpers: Saransh Chopra, Matt Graham

Some adblockers block the registration window. If you do not see the registration box below, please check your adblocker settings or visit the booking website directly.

General Information

Software Carpentry aims to help researchers get their work done in less time and with less pain by teaching them basic research computing skills. This hands-on workshop focuses on programming with Julia. Participants will be encouraged to help one another and to apply what they have learned to their own research problems.

For more information on what we teach and why, please see our paper "Best Practices for Scientific Computing".

This is a pilot workshop, testing out a lesson that is still under development. The lesson authors would appreciate any feedback you can give them about the lesson content and suggestions for how it could be further improved.

Who: The course is aimed at graduate students and other researchers. You need to understand the concepts of files and directories as well as arrays and indices. It is beneficial to have some programming experience in another language.

Where: G02 (IOE) - 23–29 Emerald St. Get directions with OpenStreetMap or Google Maps. What3Words location: ///damp.echo.prime.

When: Nov 8, 2024; 10:00 - 17:00 Add to your Google Calendar.

Requirements: Participants must bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below).

Accessibility: We are committed to making this workshop accessible to everybody.

We are dedicated to providing a positive and accessible learning environment for all. We do not require participants to provide documentation of disabilities or disclose any unnecessary personal information. However, we do want to help create an inclusive, accessible experience for all participants. We encourage you to share any information that would be helpful to make your Carpentries experience accessible. To request an accommodation for this workshop, please email us.

Glosario is a multilingual glossary for computing and data science terms. The glossary helps learners attend workshops and use our lessons to make sense of computational and programming jargon written in English by offering it in their native language. Translating data science terms also provides a teaching tool for Carpentries Instructors to reduce barriers for their learners. Materials will be provided in advance of the workshop and large-print handouts are available if needed by notifying the organizers in advance. If we can help making learning easier for you (e.g. sign-language interpreters, lactation facilities) please get in touch (using contact details below) and we will attempt to provide them.

Contact: Please email ARC.Education+julia@ucl.ac.uk for more information.

Roles: To learn more about the roles at the workshop (who will be doing what), refer to our Workshop FAQ.

Who can attend?: This workshop is only open to members of UCL.


Code of Conduct

Everyone who participates in Carpentries activities is required to conform to the Code of Conduct. This document also outlines how to report an incident if needed.


Surveys

Please be sure to complete this survey before the workshop.

Pre-workshop Survey


Schedule

Day 1

09:30 Pre-workshop survey and installation problems
10:00 Programming with Julia
13:00 Lunch break
15:00 Programming with Julia (Continued)
16:40 Wrap-up and Post-workshop survey
17:00 END

The lesson taught in this workshop is being piloted and a precise schedule is yet to be established. The workshop will include regular breaks. Please contact the workshop organisers if you would like more information about the planned schedule.


Setup

To participate in a workshop, you will need access to software as described below. In addition, you will need an up-to-date web browser.

We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.

The Bash Shell

Bash is a commonly-used shell that gives you the power to do tasks more quickly.

  1. Download the Git for Windows installer.
  2. Run the installer and follow the steps below:
    1. Click on "Next" four times (two times if you've previously installed Git). You don't need to change anything in the Information, location, components, and start menu screens.
    2. From the dropdown menu, "Choosing the default editor used by Git", select "Use the Nano editor by default" (NOTE: you will need to scroll up to find it) and click on "Next".
    3. On the page that says "Adjusting the name of the initial branch in new repositories", ensure that "Let Git decide" is selected. This will ensure the highest level of compatibility for our lessons.
    4. Ensure that "Git from the command line and also from 3rd-party software" is selected and click on "Next". (If you don't do this Git Bash will not work properly, requiring you to remove the Git Bash installation, re-run the installer and to select the "Git from the command line and also from 3rd-party software" option.)
    5. Select "Use bundled OpenSSH".
    6. Ensure that "Use the native Windows Secure Channel Library" is selected and click on "Next".
    7. Ensure that "Checkout Windows-style, commit Unix-style line endings" is selected and click on "Next".
    8. Ensure that "Use Windows' default console window" is selected and click on "Next".
    9. Ensure that "Default (fast-forward or merge) is selected and click "Next"
    10. Ensure that "Git Credential Manager" is selected and click on "Next".
    11. Ensure that "Enable file system caching" is selected and click on "Next".
    12. Click on "Install".
    13. Click on "Finish" or "Next".
  3. If your "HOME" environment variable is not set (or you don't know what this is):
    1. Open command prompt (Open Start Menu then type cmd and press Enter)
    2. Type the following line into the command prompt window exactly as shown:

      setx HOME "%USERPROFILE%"

    3. Press Enter, you should see SUCCESS: Specified value was saved.
    4. Quit command prompt by typing exit then pressing Enter

This will provide you with both Git and Bash in the Git Bash program.

Video Tutorial

The default shell in Mac OS X Ventura and newer versions is Zsh, but Bash is available in all versions, so no need to install anything. You access Bash from the Terminal (found in /Applications/Utilities). See the Git installation video tutorial for an example on how to open the Terminal. You may want to keep Terminal in your dock for this workshop.

To see if your default shell is Bash type echo $SHELL in Terminal and press the Return key. If the message printed does not end with '/bash' then your default is something else, you can change your current shell to Bash by typing bash and then pressing Return. To check your current shell type echo $0 and press Return.

To change your default shell to Bash type chsh -s /bin/bash and press the Return key, then reboot for the change to take effect. To change your default back to Zsh, type chsh -s /bin/zsh, press the Return key and reboot. To check available shells, type cat /etc/shells.

Video Tutorial

The default shell is usually Bash and there is usually no need to install anything.

To see if your default shell is Bash type echo $SHELL in Terminal and press the Return key. If the message printed does not end with '/bash' then your default is something else, you can change your current shell to Bash by typing bash and then pressing Return. To check your current shell type echo $0 and press Return.

To change your default shell to Bash type chsh -s /bin/bash and press the Return key, then reboot for the change to take effect. To change your default back to Zsh, type chsh -s /bin/zsh, press the Return key and reboot. To check available shells, type cat /etc/shells.

Git

Git is a version control system that lets you track who made changes to what when and has options for easily updating a shared or public version of your code on github.com. You will need a supported web browser.

You will need an account at github.com for parts of the Git lesson. Basic GitHub accounts are free. We encourage you to create a GitHub account if you don't have one already. Please consider what personal information you'd like to reveal. For example, you may want to review these instructions for keeping your email address private provided at GitHub.

Please open the Terminal app, type git --version and press Enter/Return. If it's not installed already, follow the instructions to Install the "command line developer tools". Do not click "Get Xcode", because that will take too long and is not necessary for our Git lesson. After installing these tools, there won't be anything in your /Applications folder, as they and Git are command line programs. For older versions of OS X (10.5-10.8) use the most recent available installer labelled "snow-leopard" available here. (Note: this project is no longer maintained.) Because this installer is not signed by the developer, you may have to right click (control click) on the .pkg file, click Open, and click Open in the pop-up dialog. You can watch a video tutorial about this case.

Video Tutorial

If Git is not already available on your machine you can try to install it via your distro's package manager. For Debian/Ubuntu run sudo apt-get install git and for Fedora run sudo dnf install git.

Text Editor

When you're writing code, it's nice to have a text editor that is optimized for writing code, with features like automatic color-coding of key words. The default text editor on macOS and Linux is usually set to Vim, which is not famous for being intuitive. If you accidentally find yourself stuck in it, hit the Esc key, followed by :+Q+! (colon, lower-case 'q', exclamation mark), then hitting Return to return to the shell.

nano is a basic editor and the default that instructors use in the workshop. It is installed along with Git.
However, we will be also using VS Code on the second half of the workshop. Download it from the website and follow the instructions.

Inside VSCode, go to the Extensions view by clicking View on the top menu bar and then selecting Extensions. In the Extensions view, search for the term “julia” in the Marketplace search box, then select the Julia extension (julialang.language-julia) and select the Install button. This will add Julia to your VSCodium and automatically link the text editor to your copy of Julia you installed earlier.

nano is a basic editor and the default that instructors use in the workshop. See the Git installation video tutorial for an example on how to open nano. It should be pre-installed.
However, we will be also using VS Code on the second half of the workshop. Download it from the website and follow the instructions for your particular system.

Inside VSCode, go to the Extensions view by clicking View on the top menu bar and then selecting Extensions. In the Extensions view, search for the term “julia” in the Marketplace search box, then select the Julia extension (julialang.language-julia) and select the Install button. This will add Julia to your VSCodium and automatically link the text editor to your copy of Julia you installed earlier.

nano is a basic editor and the default that instructors use in the workshop. It should be pre-installed.
However, we will be also using VS Code on the second half of the workshop. Download it from the website and follow the instructions for your particular system.

Inside VSCode, go to the Extensions view by clicking View on the top menu bar and then selecting Extensions. In the Extensions view, search for the term “julia” in the Marketplace search box, then select the Julia extension (julialang.language-julia) and select the Install button. This will add Julia to your VSCodium and automatically link the text editor to your copy of Julia you installed earlier.

Video Tutorial

Julia

Julia is a popular language for efficient research computing, and great for general-purpose programming as well.

  1. Open Julia download page with your web browser.
  2. Follow the installation instructions.
In case you couldn't run the above (e.g., not having a Microsoft account or winget is not available)
  1. Open Julia download page with your web browser.
  2. Download the Current stable release for Windows by clicking the 64-bit (installer) link.
  3. Run the installer once it finishes downloading.
  4. Click on Next to accept the default directory (or after specifying your preferred installation location).
  5. On the Select Additional Tasks screen under Other, check the box to Add Julia to PATH.
  6. Click Next.
  7. Click on Finish.
We will run Julia through the Git-Bash interface. Once you have it installed:
  1. Open the Start menu and click on the Git folder.
  2. Click on Git Bash – not Git Cmd!
  3. A warning message might pop up about a missing icon: click “I see,” and continue.
  4. Once the terminal window loads, type julia and enjoy the lesson!
  5. You can leave julia typing exit()
  1. Open Julia download page with your web browser.
  2. Follow the installation instructions.
Other ways to install Julia
  1. Use your distribution package manager, or
  2. Download the current stable release from the Julia download page and unpack the folder to any location that is in your PATH or link the binary in the bin folder to such a location.