Software engineering best practices in scientific programming – Workshop #1
30 Nov 2016 - 30 Nov 2016

Date: 30 November 2016, Wednesday
Time: 2.00 pm - 05.00 pm
Venue: Level 17, Charles Babbage Room, 1 Fusionopolis Way, Connexis South, Singapore 138632


Łukasz Orłowski is a computational scientist at A*CRC Software Team, where he develops, ports and optimises scientific codes. He holds Master’s degree in Computing in Business and Economy and currently is pursuing a PhD in Computational Applied Mathematics. Previously he worked at Intel Corporation in Data Centre Software Group, designing and developing software for cloud orchestration, data storage acceleration, redundant data storage and storage disaster recovery. His domain of expertise covers parallel and distributed programming, cloud, data centre and data storage software, development operations (DevOps) and software release engineering.


This series of workshops aims at familiarising scientists without formal background in computer engineering with best practices in software development, including:

  • Understanding of compilation and linking
  • Code modularisation and portability
  • Application of external libraries
  • Automation of build process using script languages
  • Unit testing
  • Code versioning


Basics of C programming language

The series of workshops will cover


Basics of C programming language

The series of workshops will cover

  • Workshop #1 – pre-processor, compilation, linking and building libraries – 30/11/2016
  • Workshop #2 – build automation and unit testing - TBD
  • Workshop #3 – introduction to BLAS, PETSc, Trilinos - TBD
  • Workshop #4 – version control and repository management - TBD

Workshop #1 
The first workshop is going to cover the following topics: 

  • Understanding compilation and object files
  • Understanding linker
  • Separating code into compilation units
  • Building static and dynamic libraries
  • Understanding pre-processor
  •  Using pre-processor to write portable code

No of Participants: 65