Skip to content

Welcome to our weekly research support coffee hour on Zoom! Click here for more information.

How to organize a course using CSC resources

CSC services can be used for educational purposes in accordance with our free-of-charge use policy.

There is a dedicated project category for educational usage – the CSC Course project. The maximum lifetime of a CSC Course project, including all its enabled services, is six months. It is not possible to extend or transfer an existing CSC Course project.

This guide outlines service-specific details on how to organize courses using the services in scope of the CSC Course project type:

The Noppe service, using which does not require a CSC project, is also covered.

If you're unsure which services would be suitable for your course, see the table below.

Which services are suitable for my course?

My course needs ... Allas cPouta Noppe Puhti & Mahti Pukki Rahti SD Services
Computing resources
Lots of computing resources
GPU computing resources
File storage resources
Object storage resources
A database
Access to pre-installed (scientific) software
Process or store sensitive data
A multipurpose service allowing flexible course setups
Haka login for students (CSC account not required)

Service-specific instructions

Info

Please note that the data will only be available for the duration of the CSC Course project.

Allas is a Ceph-based object storage system. It is designed for storing and sharing large volumes of data. Data can be accessed from other CSC services, such as cPouta, Puhti and Mahti, or directly via the Allas web interface.

Data can be accessed using tools and programming languages based on S3 or Swift interfaces.

Allas can be used also for sharing course materials. If the materials are public, students do not need CSC user accounts.

Instructions

Teacher

  1. Create a CSC user account.
  2. Create a CSC Course project.
  3. Add Allas service access to the project.
  4. If you need to restrict access to data to students only, invite them to the project:
    1. using an invitation link (recommended)
    2. or directly.
  5. Prepare the course content.
    1. Consult the documentation.
    2. Contact CSC Service Desk if you need support.

Student

If the course-related data is not publicly available, but is shared only with course project members:

  1. Create a CSC user account.
  2. Join the course project:
    1. If you've been sent a project invitation link, accept the invitation in MyCSC.
    2. If you've been added directly to the course project, no further actions are required to join the course project.
  3. Accept the relevant terms of service in MyCSC.

Info

Please note that the resources will only be available for the duration of the CSC Course project. Also if each student needs to manage own virtual infrastructure, they should create a CSC Student project and activate the cPouta service within that project.

cPouta is an Infrastructure-as-a-Service (IaaS) platform based on OpenStack technology. It is ideal for use cases requiring an internet-accessible Linux server.

A variety of virtual machine options are available, ranging from small machines to I/O-intensive or GPU-enabled ones. These virtual machines can be accessed from the internet via a public IPv4 address. If your course requires substantial computing resources, the HPC platforms Puhti and Mahti are recommended instead.

The OpenStack platform can be administered either through the web interface or using command-line tools.

Instructions

Teacher

  1. Create a CSC user account.
  2. Create a CSC Course project.
  3. Add cPouta service access to the project.
  4. Based on the nature of your course:
    1. In case of a shared infrastructure with few machines, use Linux's own tools to create accounts for students. See a tutorial here.
    2. If each student needs their own virtual infrastructure, ask them to create a student project.
    3. If students need to modify a shared infrastructure, invite them to the project:
      1. using an invitation link (recommended)
      2. or directly.
  5. Prepare the course content.
    1. Consult the documentation.
    2. Contact CSC Service Desk if you need support.

Sufficient quota

If you end up using a shared cPouta virtual infrastructure with a large number of students, please ensure that the project quota is sufficient. If not, either request an increase to the quota or ask the students to create their own CSC Student projects instead.

Student

  1. In case of a shared virtual infrastructure:
    1. Connect to it following the instructions.
  2. If access to the OpenStack control plane of the teacher's CSC Course project is required:
    1. Create a CSC user account.
    2. Join the course project:
      1. If you've been sent a project invitation link, accept the invitation in MyCSC.
      2. If you've been added directly to the course project, no further actions are required to join the course project.
    3. Accept the relevant terms of service in MyCSC.
  3. In case each student sets up their own cPouta virtual infrastructure:
    1. Create a CSC user account and student project following these instructions.
    2. Add cPouta service to the student project.

The Noppe service is a cloud platform that gives users easy access to web applications such as JupyterLab, RStudio and VS Code Server. The applications provide consistent, installation-free environments tailored for educational usage in particular.

Info

Note that students do not need a CSC account or project to use the Noppe service. The teacher needs a CSC account, though. Students can log in using several options, including Haka and Virtu.

Instructions

Educators can create workspaces and use their own teaching materials. Students can then either join these workspaces or access the self-learning web applications.

Teacher

Please see the guide for teachers for more detailed instructions.

Student

Please see the guide for student for more detailed instructions.

Info

Puhti and Mahti will be decommissioned in 2026 and replaced by Roihu, CSC's next-generation supercomputer offering enhanced performance and capabilities. Please take this into account when planning courses for 2026.

Learn more about Roihu

CSC supercomputers Mahti and Puhti are ideal platforms for organizing courses that benefit from HPC resources or aim to teach how to use and run computations on supercomputing platforms. This includes cases where the course participants need access to GPUs or larger CPU resources, and cases where the existing software stack is used for the course assignments.

The systems support both traditional command-line batch processing compute tasks, as well as web-based tools such as Jupyter Notebooks and RStudio via the web interfaces. Course organizers are even able to create customized Jupyter Notebook environments for their course using the Jupyter for Courses app.

Please note that courses using CSC supercomputers can have at maximum 50 students. Ideally, teachers should target a smaller number of around 25 participants. For larger courses the free resources and allowed resource reservations may not support the requested amount of users.

It is also recommended to request an advance resource reservation for courses to guarantee the availability of resources. Read more below.

Warning

Please note that the first Tuesday and Wednesday of each month are reserved for regular maintenance breaks. You should never rely on the services being available on those days.

Instructions

Teacher

  1. Create a CSC user account.
  2. Create a CSC Course project.
  3. Add Puhti and/or Mahti service access to the project.
  4. Invite students to the project either by
    1. using an invitation link (recommended)
    2. or directly.
  5. Request an advance resource reservation.
  6. Prepare the course content.
    1. Consult the documentation.
    2. Contact CSC Service Desk if you need support.

Student

  1. Create a CSC user account.
  2. Join the course project:
    1. If you've been sent a project invitation link, accept the invitation in MyCSC.
    2. If you've been added directly to the course project, no further actions are required to join the course project.
  3. Accept the relevant terms of service in MyCSC.

Advance resource reservation

Course projects are subject to the same Slurm job priority policies as regular computing projects, meaning that course participants may need to queue for resources if the system is under heavy use. To ensure the availability of resources at the time of the course session(s), we recommend requesting for an advance resource reservation.

Please note:

  • The resource reservation must be requested at least 14 days before the start of the course via CSC Service Desk.
  • The request should be motivated and include
    1. The course project number,
    2. the number of participants,
    3. the resources planned for the course,
    4. timetable showing the schedule of the course.
  • The maximum amount and type of reservable resources are outlined in the table below.

    System Approval CPU limit GPU limit Max. daily time window Max. course days in total
    Puhti Automatic 2 nodes (80 cores) 0 08:00–17:00 5
    CSC Resource Allocation Group 5 nodes (200 cores) 4 nodes (16 GPUs) Up to 12 hrs (e.g., 08:00–20:00 or 12:00–24:00) 10
    Mahti Automatic 2 nodes (256 cores) 14 GPU slices 08:00–17:00 5
    CSC Resource Allocation Group 8 nodes (1024 cores) 56 GPU slices Up to 12 hrs (e.g., 08:00–20:00 or 12:00–24:00) 10

A granted advance resource reservation will be visible in the form for launching an interactive session in the Puhti and Mahti web interfaces. Note that the option will be greyed out until the start of the reservation.

In batch job scripts, the advance resource reservation is activated using the Slurm directive:

#SBATCH --reservation=<reservation name>

Please note that the project number and partition must match what has been specified for the advance resource reservation.

Pukki is a Database-as-a-service (DBaaS), where you can launch a database "with a simple click". Pukki automates away the database maintenance and administrative tasks of other services so that the teacher can focus on using/teaching the actual topic of databases.

Instead of manually setting up your own database that you have to maintain yourself, you can use DBaaS to manage the tedious tasks of provisioning, configuring, maintaining, updating, documenting and backing up your database.

Instructions

Info

If each student needs their own Pukki DBaaS instance, they should create a CSC Student project and activate the Pukki service within that project.

Teacher

  1. Create a CSC user account.
  2. Create a CSC Course project.
  3. Add Pukki service access to the project.
  4. Based on the nature of your course:
    1. In case only one database is needed, use its tools to create accounts for students.
      1. Instructions for PostgreSQL.
      2. Instructions for MariaDB.
    2. If each student needs their own database, ask them to create a student project.
  5. Prepare the course content.
    1. Consult the documentation.
    2. Contact CSC Service Desk if you need support.

Student

  1. If a shared database is used, access it following the appropriate instructions:
    1. Instructions for PostgreSQL.
    2. Instructions for MariaDB.
  2. In case each student needs their own database:
    1. Create a CSC user account and student project following these instructions.
    2. Add Pukki service to the student project.

Rahti is an orchestration service for containers that runs on OKD. Educators can launch services to be used on a course, or Rahti can form a part of the course itself. The service is, for example, useful for teaching CI/CD pipelines.

Like cPouta, Rahti offers similar multipurpose technology, but without the burden of having to maintain the operating system yourself. A variety of ready-made templates can be used with just one click, saving you the trouble of installing services as you would in cPouta.

Instructions

Info

If students should not have access to others' Rahti environments, they should use a CSC Student project instead.

Teacher

  1. Create a CSC user account.
  2. Create a CSC Course project.
  3. Add Rahti service access to the project.
  4. Based on the nature of your course:
    1. If each student needs an isolated Rahti namespace environment, ask them to create a student project.
    2. If students sharing and seeing each other's environments is not a problem, invite students to the course project either by:
      1. using an invitation link (recommended)
      2. or directly.
  5. Prepare the course content.
    1. Consult the documentation.
    2. Contact CSC Service Desk if you need support.

Student

  1. If each student requires an isolated Rahti namespace environment:
    1. Create a CSC user account and student project following these instructions.
    2. Add Rahti service to the student project.
  2. If access to a shared container environment setup by the teacher is required:
    1. Create a CSC user account.
    2. Join the course project:
      1. If you've been sent a project invitation link, accept the invitation in MyCSC.
      2. If you've been added directly to the course project, no further actions are required to join the course project.
    3. Accept the relevant terms of service in MyCSC.

Sensitive Data (SD) Desktop allows you to analyze sensitive research data from your web browser securely. With this user interface, you can easily manage a virtual computer (here called desktop, technically defined as virtual machine). SD Desktop is designed for managing sensitive data from any research field and for diverse purposes.

SD Connect is a simple user interface for storing and sharing sensitive data. Data in SD Connect can be analyzed in SD Desktop.

Instructions

Teacher

  1. Create a CSC user account.
  2. Create a CSC Course project.
  3. Add SD Desktop and/or SD Connect service access to the project.
  4. Invite students to the project either by
    1. using an invitation link (recommended)
    2. or directly.
  5. Prepare the course content.
    1. Consult the documentation.
    2. Contact CSC Service Desk if you need support.

Student

  1. Create a CSC user account.
  2. Join the course project:
    1. If you've been sent a project invitation link, accept the invitation in MyCSC.
    2. If you've been added directly to the course project, no further actions are required to join the course project.
  3. Accept the relevant terms of service in MyCSC.