6 EC
Semester 2, period 4
52548SCP6Y
| Owner | Master Chemistry (joint degree) |
| Coordinator | prof. dr. L. Visscher |
| Part of | Master Chemistry (joint degree), track Molecular Sciences, |
This course provides an introduction into modern programming methods used by scientists. Emphasis lies on applications in chemistry, but the programming methods are of course more generally applicable and useful for other scientific fields as well. The 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.
In the first period students learn either the C++ or the Fortran90 programming language and practice their skills with increasingly complex programming assignments. This period is ended with a partial exam in week 5 of the course. The final 3 weeks are dedicated to a programming assignment in which students develop a scientific software application to solve a computational chemistry problem. Contact sessions during these weeks will be organized such that students get individual feedback on their program design and implementation.
1) Scientific Software Development in Fortran (Choice)
Includes flavors of Fortran; compiling; variables and data types; procedures; reading/writing data; arrays; control statements; modules; user-defined types; structured programming with abstract data types (ADTs); introduction to software design. The later exercises focus on numerical methods that are often used in the chemistry domain (linear algebra, numerical integration).
2) Scientific Software Development in C (Choice)
Includes compiling with gcc; variables; control structures (eg loops); data types and functions; input/output; pointers; basic algorithms. Includes introduction to High-Performance Computing (HPC) systems; introduction to computer architecture; introduction to parallelization with MPI.
Lectures serve to discuss the concepts used in scientific programming to design efficient and modular computer code.
Self study and practical classes are used to train students in designing, writing and debugging their own computer programs.
|
Activity |
Number of hours |
|
Lectures |
8 |
|
Computer lab |
28 |
|
Feedback meetings |
6 |
|
Self study |
124 |
This programme does not have requirements concerning attendance (TER part B).
Additional requirements for this course:
We assume a basic familiarity with programming at the level of the bachelor course ‘Introduction to Scientific Programming for Chemists’. We also assume that students know how to work in a Unix (Linux or MacOsx) environment.
| Item and weight | Details |
|
Final grade | |
|
1 (100%) Tentamen 1 |
Students will be assessed based on the written exam and the programming assignment in the second period. The final mark is the average of these two marks.
The 'Regulations governing fraud and plagiarism for UvA students' applies to this course. This will be monitored carefully. Upon suspicion of fraud or plagiarism the Examinations Board of the programme will be informed. For the 'Regulations governing fraud and plagiarism for UvA students' see: www.student.uva.nl
| Weeks | Subject |
| 1-5 | Fortran90/C++ |
| 6-8 | Programming assignment |
A. Förster (a.t.l.foerster@vu.nl)
Dr. D. Dubbeldam (D.Dubbeldam@uva.nl)
Prof. dr. L Visscher (L.Visscher@vu.nl)