Introduction to Scientific Programming for Chemists

6 EC

Semester 1, period 2

5112ITSP6Y

Owner Bachelor Scheikunde (joint degree)
Coordinator prof. dr. L. Visscher
Part of Bachelor Chemistry (Joint Degree), year 3

Course manual 2018/2019

Course content

The course contains a brief introduction into Unix in which the following topics are treated: logging in; directories and files; grep and regular expressions; editing with vi; sed and awk; shells and shell programming.

The rest of the time is reserved for an introduction into scientific programming and scripting with the Python language. We start by covering the basics of programming: variables and operators, loops and conditional expressions, use of functions and libraries. We then pay attention to larger applications and structured programming with the object-oriented features that the Python language has to offer: classes, objects and methods, inheritance.

Examples will be taken from chemical research, taking Python both as a programming language in its own right, as well as using the language to glue together different existing scientific software tools to form sophisticated scientific modelling workflows. 

Study materials

Literature

  • C. Hill, 'Learning Scientific Programming with Python', Cambridge University Press, ISBN 978-1-107-42822-5 (or the e-book version).

  • Hand-outs and online material

Other

  • Students are expected to have a (not too old) laptop available for the self study part (or should be prepared to do this during working hours at one of the VU or UvA computer rooms).

Objectives

At the end of the course the student

  • is able to create small programs in the Python language and use the language to script scientific workflows.
  • understands the basics of structured and object-oriented programming. 
  • is familiar with the Unix operating system and its use in a research environment.

Teaching methods

  • Hoorcollege
  • Zelfstudie
  • (Computer)practicum
  • Lecture
  • Laptop seminar
  • Computer lab session/practical training
  • Self-study

Learning activities

Activiteit

Aantal uur

Zelfstudie

168

Attendance

Programme's requirements concerning attendance (OER-B):

  • Active participation is expected of each student in the course for which he is registered.
  • If a student cannot attend an obligatory part of a programme's component due to circumstances beyond his control, he must report in writing to the teacher in question as soon as possible. The teacher, if necessary after consulting the study adviser, may decide to issue the student a replacing assignment.
  • It is not allowed to miss obligatory parts of the programme's component if there is no case of circumstances beyond one's control.
  • In case of participating qualitatively or quantitatively insufficiently, the examiner can expel a student from further participation in the programme's component or a part of that component. Conditions for sufficient participation are fixed in advance in the study guide and/or on BlackBoard.

Assessment

Item and weight Details

Final grade

1 (100%)

Tentamen

Fraud and plagiarism

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

Course structure

Weeknummer Onderwerpen Studiestof
1
2
3
4
5
6
7
8

Processed course evaluations

Below you will find the adjustments in the course design in response to the course evaluations.

Contact information

Coordinator

  • prof. dr. L. Visscher