CERN School of Computing 2025

Europe/Zurich
Lund

Lund

Alberto Pace (CERN), Kristina Gunne (CERN), Andrzej Nowicki (CERN), Oxana Smirnova (Lund University)
Description

Welcome to the 46th CERN School of Computing (CSC 2025)

The school will take place from July 6th to 19th, 2025, in Lund, Sweden. This year's school is organized in collaboration with the Lund University Physics Department and will be hosted at the Lund University premises.

Academic Programme

The two-week programme will consist around 50 hours of lectures and hands-on exercises, covering three main themes:

  • Physics computing
  • Software engineering
  • Data technologies. 

Students who pass the final optional exam will receive a diploma from the CSC, as well as ECTS credits.

Other activities

However, it's not all study; the social and sport programme is also a vital part of the School. We will have ample opportunities to explore and experience some of the great cultural, historical and natural attractions of Lund and its surroundings, including visits to Malmö and the island of Ven.

The application for this school is now open!

Important dates

  • Wednesday 12 of February - applications open
  • Wednesday 9 April (midnight UTC+2 / CEST) - deadline for applications
  • Wednesday 23 April - invitations sent to the selected participants
  • Wednesday 21 May - registration fee payment deadline
  • Sunday 6 July (afternoon/evening) - student arrivals in Lund, Sweden
  • Saturday 19 July (morning) - departure

Who can apply?

The School is aimed at postgraduate (ie. minimum of Bachelor's degree or equivalent) students, engineers, and scientists with a few years of experience in particle physics, computing, or in related fields. We welcome applications from all countries and nationalities. Applicants are responsible for ensuring that their home institute or employer covers their registration fee and travel cost, or, failing this, themselves. 

 

We would like to thank our sponsor:

 

 

SMARTHEP is funded by the European Union’s Horizon 2020 research and innovation programme, call H2020-MSCA-ITN-2020, under Grant Agreement n. 956086.

CERN School of Computing
Registration
Application for CSC 2025
    • 15:00
      Arrival and registration at Elite Hotel Ideon Elite Hotel Ideon

      Elite Hotel Ideon

    • 19:30
      Dinner Elite Hotel Ideon Elite Hotel Ideon

      Elite Hotel Ideon

    • 1
      Self presentations Elite Hotel Ideon

      Elite Hotel Ideon

      Getting to know fellow participants, and exchanging with them, is a major added value of our schools. To facilitate this, we will have a self-presentation session on the first day of the school. Each participant, lecturer and organiser will have a possibility to present him-/herself during one minute, using one single slide. You may want to use this opportunity to mention where you come from, your current work, your professional interests - but also your hobbies, things you've done and you're proud of (or not 🙂) etc. The slides will be visible only to other participants of the school, but not public.

    • 2
      Welcome and opening session
    • 3
      Announcements
    • 10:45
      Break
    • 4
      Spare
    • 5
      Introduction to Physics Computing L1: Hadron Collider Physics

      Here we will focus on the physics of particle collisions, theoretical aspects of the standard model of particle physics, its predictive power as well as its shortcomings. Experimental aspects such as collider facilities and modern particle physics experiments as well as example physics questions and corresponding data analyses will be discussed. Furthermore, the compute models with the resulting amount of recorded data and simulated Monte Carlo events will be described.

      Speaker: Arnulf Quadt (Georg August Universitaet Goettingen (DE))
    • 6
      Tools and Techniques L1: Introduction

      First, we discuss some of the characteristics of software projects for high energy physics, and some of the issues that arise when people want to contribute to them. We then continue with a brief introduction to software engineering from the perspective of the individual contributor, both as a formal process and how it actually affects what you do. We discuss the examples of unit testing and memory access problems.

      Speaker: Prof. Bob Jacobsen (Lawrence Berkeley National Lab. (US))
    • 13:30
      Lunch
    • 7
      Tools and Techniques L2: Tools for Collaboration, Software Engineering Across the Project

      We continue the track with a discussion of system performance, and what you can (and can't) to affect it. We examine tools to help with that, discussing how they work and how they can mislead. We then discuss source control as a tool for collaboration. Using examples from basic to large and advanced, we show how individual choices can affect the building of large systems.

      Speaker: Prof. Bob Jacobsen (Lawrence Berkeley National Lab. (US))
    • 8
      Exercise 1: Tools and Techniques

      The exercises provide some direct experience with the tools and techniques described in the Lectures. Teams of two students will work together on examples designed to show the strengths and weaknesses of various tools and approaches. Basic and advanced exercises are available so that students can work at their own level.

      The very first step is find somebody to work with and sit down together. The two of you will be working together on these exercises. These have been designed to work best two people (or occasionally three), not with one!
      To start the exercises, open the instructions URL (below) in your favorite web browser and follow those instructions.
      Please read that index page’s instructions all the way through. We’ve put some general info at the top that you should know, and put some reference links at the bottom that you might later discover you need.

      Speaker: Prof. Bob Jacobsen (Lawrence Berkeley National Lab. (US))
    • 16:30
      Coffee break
    • 9
      Exercise 2: Tools and Techniques

      This is a continuation of the Tools and Techniques exercises

      Speaker: Prof. Bob Jacobsen (Lawrence Berkeley National Lab. (US))
    • 19:30
      Welcome dinner at Grand Hotel Grand Hotel

      Grand Hotel

      https://www.grandilund.se/
    • 10
      Introduction to Physics Computing L2: Digital Data, Simulation and Reconstruction in Modern Particle Physics Experiments

      Here, a focus will be placed on specific detector sub-components and their data readout concepts as well as data reconstruction techniques, simulation techniques and analysis techniques.

      Speaker: Arnulf Quadt (Georg August Universitaet Goettingen (DE))
    • 11
      Software Design L1: Parallelism in a Modern HEP Data Processing Framework

      Even though the miniaturization of transistors on chips continues like predicted by Moore's law, computer hardware starts to face scaling issues, so-called performance 'walls'. Probably, the best known is the 'power wall', which limits clock frequencies. Amongst others, a way of increasing processor performance remains now to integrate many cores in the same chip. At the same time, the upcoming LHC upgrade will increase the required CPU power drastically. Both problems challenge the current way of software design in high energy physics (HEP). Developers in high energy physics are forced to re-think their ways of software design and need to move to massively parallel applications. This lecture will explain the current HEP software design, the hardware and physics issues that need to be tackled, and possible approaches to achieve the required level of parallelization.

      Speakers: Andrei Gheata (CERN), Stephan Hageboeck (CERN)
    • 12
      Announcements
    • 11:00
      Coffee break
    • 13
      Data Science L1: Tools for interactive data exploration

      High energy physics has a rich history of interactive exploration of physics data, starting with tools like PAW and ROOT. The explosion of Data Science has created new tools for interactive exploration of large and ad-hoc datasets. This lecture introduces some of these, and shows how they can be used to find new and useful features starting with available data.

      Speaker: Prof. Bob Jacobsen (Lawrence Berkeley National Lab. (US))
    • 14
      Software Design L2: Base Concepts of Parallel Programming: A Pragmatic Approach

      This and the following lecture will explain the concepts behind various parallelization methodologies. First, a theoretical introduction to threads, thread-safety and concurrent data access will be given. As the recent C++ standards (starting from C++11) provide build-in support for parallel programming, their most commonly used concurrency features will be shown. Finally, concrete solutions for problems specific to concurrent programming will be discussed.

      Speakers: Andrei Gheata, Stephan Hageboeck
    • 13:30
      Lunch
    • 15
      Exercise 3: Tools and Techniques

      The exercises provide some direct experience with the tools and techniques described in the Lectures. Teams of two students will work together on examples designed to show the strengths and weaknesses of various tools and approaches. Basic and advanced exercises are available so that students can work at their own level.

      Speaker: Prof. Bob Jacobsen (Lawrence Berkeley National Lab. (US))
    • 16
      Exercise 4:
      Speaker: Prof. Bob Jacobsen (Lawrence Berkeley National Lab. (US))
    • 16:30
      Coffee break
    • 17:00
      Study time or sports
    • 17
      Pub quiz dinner at Elite Hotel Ideon
    • 18
      Data Science L2: Interactive exploration of non-numeric data

      This lecture continues the exploration of interactive tools, using a learn-by-doing approach. It covers approaches for statistical simulation, geographical analysis, and textual data.

      Speaker: Prof. Bob Jacobsen (Lawrence Berkeley National Lab. (US))
    • 19
      Software Design L3: Understanding, Debugging and Profiling a Complex Multithreaded Application

      Dealing with a parallel application is complex. We need to use procedures to rise fences to protect against mistakes, like static analysis tools allowing to find bugs in an automatic way. We also need to use tools to inspect and manipulate the behavior of programs at runtime, like the GDB debugger. Finally, profilers such as igprof can help us understand the performance bottlenecks of an application and get more insight on its efficiency. The objective of this lecture is to become familiar with these tools and be able to apply them in multithreaded programs.

      Speakers: Andrei Gheata (CERN), Stephan Hageboeck (CERN)
    • 20
      Announcement
    • 11:00
      Coffee break
    • 21
      Data Analysis L1: Introduction

      In this lecture we will explain what are the main goals of data analysis. We will introduce statistics as the powerful mathematical tool for data analysis. We will define probability and random variables as key concepts in statistics for data analysis.

      Speaker: Toni Sculac
    • 22
      Data Analysis L2: Probability density functions and Monte Carlo methods

      In this lecture we will discuss what probability density functions (PDFs) are, and what are their main properties. We will mention the most important PDFs and their properties both for discrete and continuous random variables. The importance of the Gaussian distribution lies in the Central Limit Theorem that will be discussed. Finally, we will discuss the concept of Monte Carlo methods and their usage in High Energy Physics and Data Analysis.

      Speaker: Toni Sculac
    • 13:30
      Lunch
    • 23
      Exercises 1: Software Design

      The exercises will cover the topics of lectures 1 to 4 at a hands-on basis, based on C++11, TBB and Spark. It covers examples for the new C++11 functionality related to threads and thread safety. In addition, there will be examples for concurrent access to data, lock and lock-free data structures, and task based programming. Finally, there will be an exercise to practise the Map-Reduce pattern by using the Spark parallel data processing framework.

      Speakers: Andrei Gheata, Stephan Hageboeck
    • 24
      Exercises 2: Software Design

      The exercises will cover the topics of lectures 1 to 4 at a hands-on basis, based on C++11, TBB and Spark. It covers examples for the new C++11 functionality related to threads and thread safety. In addition, there will be examples for concurrent access to data, lock and lock-free data structures, and task based programming. Finally, there will be an exercise to practise the Map-Reduce pattern by using the Spark parallel data processing framework.

      Speakers: Andrei Gheata, Stephan Hageboeck
    • 16:30
      Coffee break
    • 17:00
      Study time or sports
    • 19:30
      Dinner Elite Hotel Ideon

      Elite Hotel Ideon

    • 25
      Software Design L4: Patterns for Parallel Software Development

      This lecture will present a set of common patterns in parallel programming. The sequential origin of these patterns will be discussed, as well as the restrictions that they impose. A particularly successful combination of patterns, Map-Reduce, will be described in detail and examples of its everyday use at large scale will be given. On the other hand, it will be shown how high-level features like C++ lambdas, the TBB library or the Spark framework can help get started with the aforementioned parallel patterns.

      Speakers: Andrei Gheata (CERN), Stephan Hageboeck (CERN)
    • 26
      Software Security L1: Introduction

      The first lecture starts with a definition of computer security and an explanation of why it is so difficult to achieve. The lecture highlights the importance of proper threat modelling and risk assessment. It then presents three complementary methods of mitigating threats: protection, detection, reaction; and tries to prove that security through obscurity is not a good choice.

      Speaker: Sebastian Lopienski (CERN)
    • 27
      Announcements
    • 11:00
      Coffee break
    • 28
      Data Analysis L3: Parameter estimation

      In this lecture we will introduce the concept of test statistics and estimators. We will explain what are the key properties of a good estimator and how to obtain it using the Maximum Likelihood and Least Squares methods.

      Speaker: Toni Sculac
    • 29
      Data Analysis L4: Confidence intervals

      In this lecture we will define confidence intervals and make a strong statement on their statistical interpretation when discussing scientific results. We will discuss Neiman confidence belt and Bayesian confidence intervals. Finally, we will learn how to derive confidence intervals for the Maximum likelihood and Least Squares methods.

      Speaker: Toni Sculac
    • 13:30
      Lunch
    • 30
      Photo
    • 31
      Afternoon excursion
    • 32
      Software Security L2: Security in different phases of software development

      The second lecture addresses the following question: how to create secure software? It introduces the main security principles (like least privilege, or defense in depth) and discusses security in different phases of the software development cycle. The emphasis is put on the implementation part: most common pitfalls and security bugs are listed, followed by advice on best practice for security development.

      Speaker: Sebastian Lopienski
    • 33
      Data Analysis L5 - Hypothesis testing and p-value

      We will learn about the hypothesis testing procedure and all of its key concepts. We will discuss how to choose a critical region and learn about errors of first and second kind. We will learn the importance of a blinded analysis and understand all the needed steps before looking at the data. Finally, we will discuss when can we announce a discovery in science and the concept of a p-value.

      Speaker: Toni Sculac
    • 34
      Announcements
    • 11:00
      Coffee break
    • 35
      Exercises 1: Data Analysis

      There will be 4 sets of exercises covering basic properties of PDFs and Monte Carlo generators, Maximum Likelihood fit, and (Advanced) Hypothesis testing. Students will be given realistic but simplified problems where key concepts from statistics need to be applied in order to provide scientific interpretation of data. Each set of exercises consists of 5 problems that will help guide the student. There are clear instructions to help you choose problems based on your pre-knowledge level. Data is provided in a simple text file and can be analysed with any programming language that offers libraries for statistical analysis (Python or C++ are recommended).

      Speaker: Toni Sculac
    • 36
      Exercises 2: Data Analysis

      There will be 4 sets of exercises covering basic properties of PDFs and Monte Carlo generators, Maximum Likelihood fit, and (Advanced) Hypothesis testing. Students will be given realistic but simplified problems where key concepts from statistics need to be applied in order to provide scientific interpretation of data. Each set of exercises consists of 5 problems that will help guide the student. There are clear instructions to help you choose problems based on your pre-knowledge level. Data is provided in a simple text file and can be analysed with any programming language that offers libraries for statistical analysis (Python or C++ are recommended).

      Speaker: Toni Sculac
    • 13:30
      Lunch
    • 37
      Exercise 3: Software Design

      This is a continuation of the Software Design exercises.

      Speakers: Andrei Gheata (CERN), Stephan Hageboeck (CERN)
    • 38
      Exercise 4: Software Design

      This is a continuation of the Software Design exercises.

      Speakers: Andrei Gheata (CERN), Stephan Hageboeck (CERN)
    • 16:30
      Coffee break
    • 17:00
      Study time or sports
    • 19:30
      Dinner Elite Hotel Ideon

      Elite Hotel Ideon

    • 39
      Data Management L1: Setting the scene: Storage technologies, Storage reliability

      The lecture presents the various Storage Models, and the supporting management techniques.

      The lecture will then go in details on techniques to deliver arbitrary reliability and performance and discuss the solutions for long data preservation and trading between reliability, performances and costs.

      Speaker: Alberto Pace
    • 40
      Exercise 3: Data Analysis

      There will be 4 sets of exercises covering basic properties of PDFs and Monte Carlo generators, Maximum Likelihood fit, and (Advanced) Hypothesis testing. Students will be given realistic but simplified problems where key concepts from statistics need to be applied in order to provide scientific interpretation of data. Each set of exercises consists of 5 problems that will help guide the student. There are clear instructions to help you choose problems based on your pre-knowledge level. Data is provided in a simple text file and can be analysed with any programming language that offers libraries for statistical analysis (Python or C++ are recommended).

      Speaker: Toni Sculac (University of Split Faculty of Science (HR))
    • 41
      Announcements Building 5, Auditorium

      Building 5, Auditorium

    • 11:00
      Break
    • 42
      Exercise 4: Data Analysis

      There will be 4 sets of exercises covering basic properties of PDFs and Monte Carlo generators, Maximum Likelihood fit, and (Advanced) Hypothesis testing. Students will be given realistic but simplified problems where key concepts from statistics need to be applied in order to provide scientific interpretation of data. Each set of exercises consists of 5 problems that will help guide the student. There are clear instructions to help you choose problems based on your pre-knowledge level. Data is provided in a simple text file and can be analysed with any programming language that offers libraries for statistical analysis (Python or C++ are recommended).

      Speaker: Toni Sculac (University of Split Faculty of Science (HR))
    • 12:40
      Picknick lunch
    • 43
      Free time
    • 19:30
      Dinner Elite Hotel Ideon
    • 44
      Sunday Excursion
    • 19:30
      Dinner at Elite Hotel Ideon
    • 45
      Data Management L2: Cryptography, authentication, authorization and accounting 1

      This lectures give elements of computer security that are relevant to data management. The lectures address the various cryptographic technologies used in data storage systems to ensure data encryption, integrity, confidentiality and access control. The Public Key infrastructure standard will be described as an example.

      Speaker: Alberto Pace (CERN)
    • 46
      Introduction to Machine Learning L1
      Speaker: Judith Katzy (Deutsches Elektronen-Synchrotron (DE))
    • 47
      Announcements
    • 11:00
      Coffee break
    • 48
      Q1
    • 49
      Q2
    • 13:30
      Lunch
    • 50
      Exercises 1: Software Security

      In the practice session, a range of typical security vulnerabilities will be presented. The goal is to learn how they can be exploited (for privilege escalation, data confidentiality compromise etc.), how to correct them, and how to avoid them in the first place! Students will be given small pieces of source code in different programming languages, and will be asked to find vulnerabilities and fix them. The online course documentation will gradually reveal more and more information to help students in this task. Additionally, students will have a chance to try several source code analysis tools, and see how such tools can help them find functionality bugs and security vulnerabilities.

      Speaker: Sebastian Lopienski (CERN)
    • 51
      Exercises 2: Software Security

      In the practice session, a range of typical security vulnerabilities will be presented. The goal is to learn how they can be exploited (for privilege escalation, data confidentiality compromise etc.), how to correct them, and how to avoid them in the first place! Students will be given small pieces of source code in different programming languages, and will be asked to find vulnerabilities and fix them. The online course documentation will gradually reveal more and more information to help students in this task. Additionally, students will have a chance to try several source code analysis tools, and see how such tools can help them find functionality bugs and security vulnerabilities.

      Speaker: Sebastian Lopienski (CERN)
    • 16:30
      Coffee break
    • 52
      Study or sports time
    • 19:30
      Dinner Elite Hotel Ideon

      Elite Hotel Ideon

    • 53
      Quantum Intro Evening Lecture TBC
    • 54
      Data Management L3: Cryptography, authentication, authorization and accounting 2

      This lecture will continue the discussion on various authentication technologies and then move to authorization. Accounting will also be addressed.

      Speaker: Alberto Pace (CERN)
    • 55
      Introduction to Machine Learning L2
      Speaker: Judith Katzy (Deutsches Elektronen-Synchrotron (DE))
    • 56
      Announcements
    • 11:00
      Coffee break
    • 57
      Software Security L3: Web application security, exercise debriefing
      • This third hour consists of a debriefing of the exercises, and in particular those web-related. Various vulnerabilities typical to web applications (such as Cross-site scripting, SQL injection, cross-site request forgery etc.) are introduced and discussed.
      Speaker: Sebastian Lopienski (CERN)
    • 58
      Exercise 3: Software Security - Sebastian Lopienski
      • In the practice session, a range of typical security vulnerabilities will be presented. The goal is to learn how they can be exploited (for privilege escalation, data confidentiality compromise etc.), how to correct them, and how to avoid them in the first place! Students will be given small pieces of source code in different programming languages, and will be asked to find vulnerabilities and fix them. The online course documentation will gradually reveal more and more information to help students in this task. Additionally, students will have a chance to try several source code analysis tools, and see how such tools can help them find functionality bugs and security vulnerabilities.
      Speaker: Sebastian Lopienski (CERN)
    • 13:30
      Lunch
    • 59
      Exercice 1: Data Technologies

      The first part of hands-on exercises aims to improve understanding of basic parameters in IO systems:
      • network and media latency
      • access patterns
      • OS caching
      • bottlenecks and optimization strategies for local and remote data access.
      Few essential Linux tools will be introduced to monitor and measure IO performance avoiding bias introduced by OS caching. Students will experience and measure the impact of latency and access patterns on IO performance.
      The second part covers the concept of parallelism and redundancy in storage system. We will apply the technology of Cloud storage systems to store and retrieve files in our local desktop cluster using a distributed hash table to locate files or file fragments and a REST interface to do GET, PUT or DELETE operations on these.
      The exercises conclude with the implementation and performance tuning of a RAID verification algorithm.

      Speaker: Andreas Joachim Peters (CERN)
    • 60
      Exercises 2: Data Technologies

      The first part of hands-on exercises aims to improve understanding of basic parameters in IO systems:
      • network and media latency
      • access patterns
      • OS caching
      • bottlenecks and optimization strategies for local and remote data access.
      Few essential Linux tools will be introduced to monitor and measure IO performance avoiding bias introduced by OS caching. Students will experience and measure the impact of latency and access patterns on IO performance.
      The second part covers the concept of parallelism and redundancy in storage system. We will apply the technology of Cloud storage systems to store and retrieve files in our local desktop cluster using a distributed hash table to locate files or file fragments and a REST interface to do GET, PUT or DELETE operations on these.
      The exercises conclude with the implementation and performance tuning of a RAID verification algorithm.

      Speaker: Andreas Joachim Peters (CERN)
    • 16:30
      Coffee break
    • 61
      Study or sports time
    • 19:30
      Dinner Elite Hotel Ideon

      Elite Hotel Ideon

    • 62
      Introduction to Machine Learning L3
      Speaker: Judith Katzy (Deutsches Elektronen-Synchrotron (DE))
    • 63
      Data Management L4: Distributed Hash Tables, Data Replication, Caching, Monitoring, Alarms and Quota 1

      This lecture describes the various possible technologies used to implement distributed hash tables, data workflows and complex data transfer processes. It also discusses problems with data caching and Garbage Collection to conclude on monitoring and quota enforcement.

      Speaker: Alberto Pace (CERN)
    • 64
      Announcements Building 5, Auditorium

      Building 5, Auditorium

    • 11:00
      Coffee break
    • 65
      Exercises 3: Data Technologies

      This is a continuation of the Data Technologies exercises.

      Speaker: Andreas Joachim Peters (CERN)
    • 66
      Exercises 4: Data Technologies

      This is a continuation of the Data Technologies exercises.

      Speaker: Andreas Joachim Peters (CERN)
    • 13:30
      Lunch
    • 67
      Exercise 1: Machine Learning
      Speaker: Judith Katzy (Deutsches Elektronen-Synchrotron (DE))
    • 68
      Exercise 2: Machine Learning
      Speaker: Judith Katzy (Deutsches Elektronen-Synchrotron (DE))
    • 16:30
      Coffee break
    • 69
      Study or sports time
    • 19:30
      Dinner Elite Hotel Ideon

      Elite Hotel Ideon

    • 70
      Introduction to Machine Learning L4
      Speaker: Judith Katzy (Deutsches Elektronen-Synchrotron (DE))
    • 71
      Introduction Machine Learning L5
      Speaker: Judith Katzy (Deutsches Elektronen-Synchrotron (DE))
    • 72
      Announcements Building 5, Auditorium

      Building 5, Auditorium

    • 11:00
      Coffee break
    • 73
      Exercise 3: Machine Learning
      Speaker: Judith Katzy (Deutsches Elektronen-Synchrotron (DE))
    • 74
      Exercise 4: Machine Learning
      Speaker: Judith Katzy (Deutsches Elektronen-Synchrotron (DE))
    • 13:30
      Lunch
    • 75
      Spare
    • 16:00
      Coffee break
    • 76
      Study or sports time
    • 19:30
      Dinner Elite Hotel Ideon

      Elite Hotel Ideon

    • 77
      Exam
    • 11:00
      Coffee break
    • 78
      Traditional football match
    • 13:30
      Lunch
    • 79
      Graduation ceremony
    • 16:00
      Free time
    • 19:00
      Closing Gala Dinner at AF Borgen

      Cloasig dinner at the traditional student palace AF Borgen
      https://www.afborgen.se/?lang=en

    • 80
      Breakfast and check out