Logo of Science Foundation Ireland  Logo of the Higher Education Authority, Ireland7 Capacities
Ireland's High-Performance Computing Centre | ICHEC
Home | News | Infrastructure | Outreach | Services | Research | Support | Education & Training | Consultancy | About Us | Login

Software Engineering and Carpentry for Scientists

Course Overview

This course will introduce the fundamentals of scientific software engineering through tools and techniques that enhance the design, development, execution and testing phases of the software life cycle. Particular emphasis will be placed on correct program design and its efficient, organised and robust implementation in both Fortran and C.

By Carpentry we mean the course concentrates on the 20% of software engineering techniques that represent 80% of the real-world use of software engineering; the tools of the trade of programming. This is the software equivalent of good laboratory technique.

Learning Outcomes

After the course, attendees should understand:

  • How to design a robust, structured, legible program.
  • how to use information hiding, polymorphism and object-oriented progrmmming to make software robust, resable and easier to understand
  • Issue-tracking, profiling, code documentation and design tools
  • Automated builds and software testing
  • How to use software repositories to enable shared programming and easier debugging.
  • Exceptions, numeric optimisations and how to make your results reproducible.


To benefit from this course attendees should have:

  • Basic Linux/UNIX skills
  • Experience with programming languages: Previous experience with both a compiled languages (C, Fortran, etc.) and a scripting language (perl, python, etc.) recommended.

Course Duration

The course is two days long.

Further Information

For further information please contact us at training@ichec.ie.