Skip to content

FAQ

The frequently asked questions, about:

Credits

Can I get University Credits for this course?

No.

We don't give formal credits for the course. That is up to your supervisor. You can ask for a certificate after the course that helps with the decisions.

Eligibility

I have never programmed before. Am I eligible?

Not yet (for your own good)!

This is not an introductory course on programming. Learners are expected to know basic programming concepts, such as variables and functions.

In this course, you will work together a lot. It will be likely to be noticed that you do not have programming experience yet, and you may feel bad about that. Take an introductory programming course first and then we hope to see you here again!

I am a non-Python programmer. Am I eligible?

Yes.

In the course, we will use Python as the workhorse language, as most of our learners have experience with Python.

You will write code in Python in exercises. To make that possible for non-Python programmers:

  • code will be simple and/or copy-pasted
  • learners are usually paired up, so that usually one of the learners knows Python.

Preparation

How do I prepare?

See prerequisites for how to prepare.

Prerequisites

How do I know I have VS Code installed?

You know if you have VS Code installed, if you can start this program and it looks like this:

[TODO: screenshot of VS Code here]

How do I know I have a GitHub account?

You have set up a GitHub account, if you can login at https://github.com/.

How do I know if I have Python installed?

You have installed Python, if

TODO: Add how to check in VS Code

Maybe:
In a terminal, running `python --version` or `python3 --version` shows the Python version.

Can you run Python from VS Code?

Yes.

We even use VS Code to install Python, as VS Code has an easy to install Python plugin.

How do I know that I know the basics of Python?

You know enough basic Python, if:

  • You can describe what a variable is
  • You can change the value of a variable
  • You can show the value of a variable on screen

If you do not know enough Python, chapters 1 and 2 of 'How to Think Like a Computer Scientist' is all you need.

Why do you use VS Code?

Because it ...

  • is free (as in beer)
  • works on all operating systems
  • has plugins that are easy to install to develop Python code as part of a Python package
  • has git for version control built-in
  • has a built-in terminal

Can I use PyCharm? Or IDLE? Or any other IDE?

Yes.

However, we may not be able to help you with your IDE problems.

Within your IDE, you will need:

  • To develop Python code as part of a Python package
  • To use git for version control

Some other solutions

Configure git

This must be done

Follow these instructions. https://nbis-reproducible-research.readthedocs.io/en/course_2104/setup/#installing-git

GitHub

Sign up for GitHub account: https://coderefinery.github.io/installation/github/

Git–GitHub connection through ssh keys

(This may take a while to get working, but is worth it) https://coderefinery.github.io/installation/ssh/

  • Test: ssh -T git@github.com
    • Output should be something like this: Hi bclaremar! You've successfully authenticated, but GitHub does not provide shell access.
  • If not working, these are the approximate steps to be done in your terminal. It can vary between systems, so link above is more certain.
ssh-keygen -t ed25519 -C "<email address for your GitHub account>"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
# Copy the SSH public key to your clipboard. For WINDOWS:
clip < ~/.ssh/id_ed25519.pub
  • On Mac, use pbcopy instead, like:
# Copy the SSH public key to your clipboard. For MAC:
pbcopy < ~/.ssh/id_ed25519.pub
  • Then go to your GitHub account on the web.

    1. In the upper-right corner of any page, click your profile photo, then click Settings.
    2. In the "Access" section of the sidebar, click SSH and GPG keys.
    3. Click New SSH key or Add SSH key.
    4. In the "Title" field, add a descriptive label for the new key. For example, if you're using a personal laptop, you might call this key "Personal laptop".
    5. Select the type of key authentication.
    6. In the "Key" field, paste your public key.
    7. Click Add SSH key.
    8. If prompted, confirm access to your account on GitHub.
  • Now test again in your terminal: ssh -T git@github.com

    • Output should be something like this: Hi bclaremar! You've successfully authenticated, but GitHub does not provide shell access.
  • If there was a problem, confer the full article Adding a new SSH key to your GitHub account.

Git courses

Python

  • Use what you already have
  • If you don't have Python there are different ways to go. We won't use Conda during the lessons, for instance.

    • Bare python (recommended for the "bare metal" user)
      • You may need to install other packages (pip)
      • install python
      • note macOS: the system install of Python on macOS is not supported, instead:
        • brew install python3
    • Anaconda (recommended for python/R developers liking GUI:s)
      • Count with 15-20 minutes
      • includes
        • many many packages
        • conda packager
        • pip installer
        • GUI launchers, like example
        • jupyter notebook/lab
        • Spyder
        • RStudio
        • etc...
      • install Anaconda
    • miniconda (recommended for terminal user)
      • Faster to install
      • Includes:
        • less packages than Anaconda, and no GUI launcher but:
        • conda packager
        • pip installer
        • etc...
      • install Miniconda
  • In Linux and Bash, Python should work from the command line by typing python/python3 or running a script with python <script>/python3 <script>

Python in VS Code

  • Step 1. Install a supported version of Python on your system, see above.
  • Step 2. Install the Python extension for Visual Studio Code from the left menu bar.
  • Step 3. Open or create a Python file and start coding.
    • Example: make a hello.py script and run it with the "play" button.
    • Choose which Python interpreter to use.
  • Step 4. To run Python from a VS Code terminal (Bash or other) you may have to restart the shell

Python courses

Other solutions

There are some other solutions for installations but they are probably not supported by the teachers of the course.

Terminals

There are several different ways to run the course material on a Windows computer. Neither is perhaps optimal, and the material itself has not been adapted specifically for Windows. Nevertheless, in principle everything should be possible to run. A few ways you could setup:

Git-windows with a command line and Git integrated

Other possibilities

  • Use the Windows 10 PowerShell
  • Use the Linux Bash Shell (WSL) on Windows 10/11 (perhaps best practice if you plan to run Linux as well)
    • This will give you access to a full command-line bash shell based on Linux on your Windows 10/11 PC.
    • instructions below
    • For the difference between the Linux Bash Shell and the PowerShell on Windows 10, see e.g. this article.
  • Run as Linux through a virtual machine (and see the Linux setup above)
    • not shown

Install Bash on Windows 10/11 (WSL), following the instructions at e.g. 1 of these resources:

Python from In Git-bash (Windows)

  • Get it working from Git Bash
    • if the command type python gives you a path, then proceed
      • otherwise you may have to do a new installation
      • or find the path
      • if anaconda installation you may add something like this:
      • echo 'export PATH="<path/to/Anaconda/root>:<path/to/anaconda/root>/Scripts:$PATH:' >> .bashrc
        • example: /c/Users/bjcar425/AppData/Local/anaconda3:/c/Users/bjcar425/AppData/Local/anaconda3/Scripts
    • $ alias python='winpty python.exe'
    • $ python -V
      • does it give you the python version 3-something?
  • Make it permanent -$ echo "alias python='winpty python.exe'" >> ~/.bashrc

Parts taken from https://nbis-reproducible-research.readthedocs.io/en/course_2104/setup/

-->

How do I know I have a good Zoom setup?

You have a Zoom good setup, if:

  • you can talk freely. If not, find a room/place where you can.
  • others in the Zoom room can clearly hear what you say. If not, use a microphone.
  • you can clearly hear what others in the Zoom room say. If not, use a headset.

Do I really need a good Zoom setup?

Yes.

You will be working together with other learners a lot. Not being able to talk and/or share your screen and/or your camera is likely to make you feel excluded.

Course teaching

What is the goal of the shared project?

See Projects for the goal of the shared project.

How is the course prepared?

  • meetings
  • lesson plans in the course material
  • general lesson plans, which can be found at 'Misc } lesson_plans' of this GitHub repository

What happens to the retrospectives?

Retrospectives are:

Why do you publish your retrospectives?

Because we like to be transparent.

What happens to the evaluations?

Evaluations are:

  • published online in unedited form at 'Misc | Evaluations' of this GitHub repository.
  • discussed by the teachers after the course
  • reflected upon, where the reflections can be found in 'Misc | Reflections'

Why do you publish your evaluations?

Because we like to be transparent.

Why do you publish your reflections?

Because we like to be transparent.