30 January 2023 to 10 February 2023
Africa/Johannesburg timezone

The 13th CHPC Coding Summer School


The 5th NITheCS Summer School on the Foundations of Theoretical and Computational Science

30 January - 10 February 2023

The Coding Summer School took place on a physical form at various university locations around the country. Students were required to attend one of the university locations.

See all the research institutes that took place here:



The Summer School is jointly organised by the Centre for High Performance Computing (CHPC) of the Council of Scientific and Industrial Research and the National Institute for Theoretical  Computational Science (NITheCS). This joint effort was specifically motivated by a concept paper of the South African Department of Science and Innovation (DSI) that explores the possibility to broaden the scope of NITheP into a national institute/centre for theoretical and computational science.

Aim of the School:

The School will start with a Basic Programming Course to introduce students to Linux (Ubuntu) Command line and bash scripting and the Python programming language. This will be followed by introductions to Foundations of Theoretical and Computational Sciences on topics such as:

  • Data Visualization,

  • Data Analysis,

  • Modeling and Simulation,

  • Stochastic Methods,

  • Machine Learning,

  • Software Management,

In-person tutorials and workshops will be held to put the material into practice. The School is structured in such a way to encourage students to actively solve challenging problems that the lectures will pose. Students should be prepared to learn on their own!

School Syllabus:

Basic Programming:

Introduction to Git and Linux. It will cover a basic introduction to Git and Linux command line, bash scripting, and Introduction to PBS Pro and job submission at CHPC (Mr Binjamin Barsch, Dr Kevin Colville, Mr Mthetho Sovara, Centre for High Performance Computing, CSIR).

Introduction to Python Programming for Data Science: It will cover the basics of Python programming, data handling, visualization and data science packages like Numpy and Pandas (Mr Binjamin Barsch, Dr Kevin Colville, Mr Mthetho Sovara, Centre for High Performance Computing, CSIR).

The Theoretical and Computational Minimum:

This part of the Summer School builds upon the introduction of Python and introduces basic theoretical and computational concepts.

In particular we will discuss theoretical and computational methods for:

  • Visualization,

  • Foundations of probability theory and statistics,,

  • Vectors and Matrices,

  • Ordinary Differential equations: linear and nonlinear ODEs, 

  • Partial Differential equations: wave equations, reaction-diffusion equations, fluid dynamics,

  • Gradient descent, Newton-Raphson Method, genetic and evolutionary algorithms

  • Random Numbers, Sampling, Monte Carlo Methods,

  • Machine Learning,

  • Git and GitHub

The lectures will be shared by a team of  NITheCS Associates and international experts.

Application and Registration:

The CHPC and NITheCS call for all talented students registered for Honours, Masters, PhD including postdoc in South Africa to submit their applications. The registration fee is free for all successful applicants, however the students must attend the designated university locations. As public-funded institutions, the CHPC and NITheCS support the transformation of South Africa and thus the School organizers highly encourage students from previously disadvantaged backgrounds to submit their applications. There will be no scholarship for successful applicants as the school will be hosted at university locations. However, a background of programming skills and basic Linux will be an advantage. 


  • Daily lectures and interactive tutorials
  • Moodle used as the learning management environment
  • PDF notes, exercises, and YouTube videos provided
  • Zoom used for live streaming
  • Slack used as official communication medium
  • Prizes awarded to select students

Important dates:

School start and Orientation: Monday 30 January 2023

Closing date for registration: 23h59 Saturday, 31 December 2022

Notification of Successful Candidates: will be notified by 16 January 2023

School end: Friday 10 February 2022

School Organizing Committee:

Prof Francesco Petruccione (UKZN & NITheCS)

Dr Werner Janse van Rensburg (CSIR, NICIS-CHPC)

Mr Binjamin Barsch (CSIR, NICIS-CHPC)


General Inquiries:

For general inquiries please contact: Mr. Binjamin Barsch at bbarsch@csir.co.za and Prof. Francesco Petruccione at petruccione@ukzn.ac.za

Important: Privacy

In compliance with the Protection of Personal Information Act (PoPIA) No. 4 of 2013, please read the CSIR's Privacy Notice: https://www.csir.co.za/csir-privacy-notice

Purpose for the collection of personal data:

  • To make contact with you with any matters regarding this course;
  • Information on your academic background is used by the organisers to determine if you are eligible to participate in this event;
  • To report to the Departments of Higher Education and Training, Science and Innovation, and the Services Sector Education and Training Authority (SETA);