This repository contains lecture slides (both as source code and as rendered pdfs) and exercises.
The course was first taught in September/October 2020 at the iCSC 2020.
Recordings of the lectures:
Slides: The final versions of the rendered slides at the time of the presentation are in the root directory of this repository. There are two versions, one with animations and one without (*_handout.pdf
).
Exercises: See below.
During the event, there are two channels on CERN mattermost (you might need to create a CERN lightweight account, which is free for everyone):
After the event, you can open an issue in this repository.
The exercises come with solutions for you to compare to. If you have any questions, please join the exercise discussion slot.
If you're completely new to this, use option 1 or 2. If you already have python and Jupyter set up on your computer, we recommend option 3. Note that your changes are not saved automatically in the first two options!
This means you don't have to install anything, but you can simply use the binder service to provide you with a Jupyter environment in your browser. It might be a bit slow to start up, but once it's running you're ready to go!
Simply click on the following link:
You should see something like this:
After some time (don't worry if it takes 5 minutes) you are brought to the Jupyter server:
Navigate on exercises
and then click on one of the two notebooks (patterns.ipynb
or paradigms.ipynb
) to start your training!
If you've never use Jupyter notebook, you can also do this training or take a look at the documentation. But basically you can execute a cell by hitting Shift+Enter
and add cells with the menu.
Simply click the link (you need to log in to your google account though)
If you've never used Google colab, you can also go to this page and try it out (but it's very similar to Jupyter notebooks if you're familiar with that).
You need to have python3 and its package manager pip3.
Clone the repository
git clone git@github.com:klieret/icsc-paradigms-and-patterns.git
cd icsc-paradigms-and-patterns
Make sure you have the required python packages:
pip3 install -r requirements.txt
Then run the Jupyter notebook
jupyter-notebook
It should open in your browser.
You need to use XeLaTeX:
cd latex
mkdir -p build && xelatex --output-directory build -shell-escape software_patterns.tex
mkdir -p build && xelatex --output-directory build -shell-escape programming_paradigms.tex
The -shell-escape
flag is needed for code highlighting. You might need to install
the pygments package.
The slides work with overlays (partial reveals of bullet points and other elements).
As this is less practical for studying yourself, take a look at the main .tex
file
and change \handoutfalse
to \handouttrue
if needed.
We are planning to convert this into a training similar to that of the Software Carpentry in order to be included in the HSF curriculum. Help is much appreciated.
If you have any particular comments, feel free to open an issue on github for this repository.
Licensed as CC BY 4.0, see file license.md
. Please use the following zenodo ID to cite this
work: