Programming C++ for Biologists

Faculteit Science and Engineering
Jaar 2019/20
Vakcode WMLS17003
Vaknaam Programming C++ for Biologists
Niveau(s) master
Voertaal Engels
Periode semester I b (11-11-2019 till 30-11-2019(5 ECTS version) and 11-11-2019 till 14-12-2019 (10 ECTS version))
ECTS 5
Rooster rooster.rug.nl

Uitgebreide vaknaam Programming C++ for Biologists
Leerdoelen At the end of the course, the student is able to:
1) demonstrate sufficient working knowledge of the syntax rules of C++ to be able to assemble simple simulation algorithms
2) write code using a consistent programming style that complies with the quality standards for the documentation of scientific work
3) use professional resources for debugging, optimization and code development, including (scientific) programming libraries
4) explain the working principles and limitations of computational methods frequently used in modelling in the life sciences, and critically evaluate simulation results in the light of this knowledge
5) design a simulation algorithm to address a given biological research question, choose the most appropriate computational method for its implementation, and reflect on the biological implications of simulation results
Omschrijving This course, which is specifically designed for biology students, teaches the participants how to develop software in the programming language C++. Emphasis is given to the implementation of biological models, using individual-based simulations and various numerical methods for dynamical systems analysis.
Students are able to tailor the contents of the course to their own level of proficiency. For students with no prior programming experience, the course offers an introduction to the essentials of the C++ programming language, including:
• Procedural programming: data types, operators, program flow and functions
• The Standard Template Library
• Data input, generation of output including statistics like mean and standard deviation
• Numerical simulation techniques for biological models
More experienced programmers (including those who followed the BSc level course WBLS16002) can instead focus on advanced topics, such as:
• Program design, algorithms and debugging
• Pointers and memory allocation
• Object-oriented programming
• Pseudo-random numbers and stochastic simulations

The course consists of two parts: during the first three weeks (5 ECTS), students extend their programming skills by learning a new element of the programming language each day, and practise its application in programming exercises. The final three weeks of the course (5 ECTS) are devoted to a programming project. Here, students work on a biological research question of their choice and
design and implement a simulation algorithm from scratch. They also learn how to systematically collect simulation data, and to present their results in an oral presentation, with associated annotated program code and documentation.

Students may choose to omit the final project and receive a grade for a 5 ECTS course (MLAA05) after completing the first half of the program, or may work independently on their programming project at a suitable later time. The course is also available as a selfstudy course.
Uren per week
Onderwijsvorm Hoorcollege (LC), Opdracht (ASM), Practisch werk (PRC)
Toetsvorm Opdracht (AST), Practisch werk (PR), Presentatie (P)
(The final grade of the course is the average of the mark for the final project (based on presentation and annoted code) and the mean grade for the weekly assignments in week 1,2 and 3. Daily test-your-skill exercises are evaluated on a three-point scale (good, satisfactory, insufficient). Obtaining a sufficient score on at least two thirds of these is a precondition for obtaining a final grade.)
Vaksoort master
Coördinator dr. G.S. van Doorn
Docent(en) dr. J. Bakker ,dr. G.S. van Doorn
Verplichte literatuur
Titel Auteur ISBN Prijs
Course manual with study material, exercises and solutions. G.S. van Doorn
Entreevoorwaarden No specific entry requirements have been formulated for the course, except for elementary computer literacy.
Opmerkingen Maximum 25 master students/ 5 PhD students

This course is accessible for students without prior programming experience. Such students will acquire a solid background in procedural programming techniques, and will have the opportunity to develop advanced programming skills based on facultative self-study material. Students who demonstrate to possess elementary programming skills will be offered advanced classes on object-oriented programming.

This is a full-time course. It is not advisable to plan other activities in parallel
Opgenomen in
Opleiding Jaar Periode Type
MSc Biology: Modelling in the Life Sciences  ( Track Modelling in the Life Sciences) - semester I b verplicht
MSc Biology: Research  (Compulsory master courses) - semester I b keuze
MSc Biology: Science, Business and Policy  (Compulsory master courses) - semester I b keuze
MSc Biomedical Sciences: Biology of Ageing  (Electives (10 ECTS)) - semester I b keuze
MSc Biomedical Sciences: Biology of Cancer and Immune System  (Electives ) - semester I b keuze
MSc Biomedical Sciences: Biology of Food and Nutrition  (Electives (10 ECTS)) - semester I b keuze
MSc Biomedical Sciences: Neuroscience  (Electives (10 ECTS)) - semester I b keuze
MSc Biomedical Sciences: Research  (Electives) - semester I b keuze
MSc Biomedical Sciences: Science, Business and Policy  (Electives (10 ECTS)) - semester I b keuze
MSc Biomolecular Sciences (Molecular Biology and Biotechnology)  (Electives/Optional modules) - semester I b keuze
MSc Courses for Exchange Students: Biology & Life Sciences - semester I b verplicht
MSc Ecology and Evolution: Ecology and Conservation  (Electives/optional modules) - semester I b keuze
MSc Ecology and Evolution: Evolutionary Biology  (Electives/optional modules) - semester I b keuze
MSc Marine Biology: Research  (Compulsory master courses) - semester I b keuze
MSc Medical Pharmaceutical Sciences: Pharmaceutical Design and Engineering  (Other possible Electives) - semester I b keuze
MSc Medical Pharmaceutical Sciences: Pharmaco-epidemiology  (Other possible Electives) - semester I b keuze
MSc Medical Pharmaceutical Sciences: Research  (Electives) - semester I b keuze
MSc Medical Pharmaceutical Sciences: Science, Business and Policy  (Electives (10 ECTS)) - semester I b keuze
MSc Medical Pharmaceutical Sciences: Toxicology and Drug Disposition  (Electives ) - semester I b keuze