Goals of the course
The course provides an introduction to programming concepts and tools used for scientific applications in chemistry. In addition you will learn to work with the Unix operating system that is used in virtually all scientific computing environments.
The main goal of the course is to introduce students to the basic concepts of programming and enable them to write modular programs that can be used to solve a scientific problem or be integrated in a larger simulation and/or data processing computational application. Students will get familiar with the Python language, which is nowadays one of the most popular languages used for scientific programming and for which many powerful libraries and open source scientific applications are available.
While focus is mostly on designing correct, modular and maintainable code, we will also discuss high-performance applications and use of cluster and supercomputers. Emphasis lies on applications in chemistry, but the programming methods are of course useful for other scientific fields as well.
Structure of the course
The first two weeks serve to introduce the basic concepts of programming in the Python language, after which more advanced topics are treated thematically during a 3-week period. The final two weeks of the course consist of a 2-week introduction in to the Unix operating system in which also the structure of computer hardware is discussed.
The total study load is 4 weeks net study time (equal to 6 EC) and is spread out equally over a period of 8 weeks thereby assuming 50% availability of the students during this period.