Course manual 2020/2021

Course content

The ability to create, understand and scrutinize computer code is an extremely important skill set throughout academia, but especially so in interdisciplinary work. Computer code and, more generally, computational thinking, forces us to follow standards, be precise in definitions and be explicit about what is assumed and what is exactly meant by our concepts or models. All of these aspects make it easier to exchange and link ideas, knowledge and data across disciplines.

This course aims to achieve a dual purpose: 1) teaching basic coding skills (and some general computational skills) to get concrete scientific data and modeling tasks done, and 2) enhancing creative and critical thinking skills.

The coding skills concern data processing, visualization and the implementation of (mathematical and conceptual) models in computer code. Creative and critical thinking focuses on the translation from algorithm to code, comparison of different implementations, debugging and code documentation.

In this course we will work with the R programming language and use the RStudio development environment.

Study materials

Practical training material

  • manual at https://uva.sowiso.nl

Software

  • R and RStudio

Objectives

  • Student is familiar with R syntax and programming constructs
  • Student understands how the R language can be applied to scientific problems
  • Student can apply their programming knowledge to implement basic mathematical calculations in code
  • Student can apply their programming knowledge to implement basic data manipulation tasks in code
  • Student is able to import and parse different data formats into R
  • Student can create appropriate figures to visualise data
  • Student can conduct simple numerical integration based on a mathematical description
  • Student can enhance repetitive code by turning it into modular code consisting of separate functions
  • Student can create a script to implement a given algorithm (in text, pseudo-code and/or mathematical notation)
  • Student can document and evaluate their own programming scripts and troubleshoot programming problems ("bugs")

Teaching methods

  • Laptopcollege
  • Self-study
  • Laptop seminar

Laptop seminars are the main method of teaching used, where students will work through course material individually to learn the skills of R in a practical applied way, whilst having the support of teaching assistants to answer questions. Attendance is compulsory. 
Self study is generally expected to complete computer practicals alongside laptop seminars

Learning activities

Activity

Hours

Digitale Test

4

Computer tutorials

28

Self study

52

Total

84

(3 EC x 28 uur)

Attendance

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

  • Participation in fieldwork is compulsory and cannot be replaced by assignments or other courses.
  • In case of practical sessions, the student is obliged to attend at least of 90% of the sessions and to prepare himself adequately, unless indicated otherwise in the course manual. In case the student attends less than 90%, the practical sessions should be redone entirely.
  • In case of tutorials/seminars with assignments, the student is obliged to attend at least 7 out of 8 seminars and to prepare thoroughly for these meetings, unless indicated otherwise in the course manual. If the course has more than 8 seminars, the student can miss up to 1 extra meeting for every (part of) 8 tutorials/seminars. If the students attends less than the mandatory tutorials/seminars, the course cannot be completed.

Additional requirements for this course:

In 2020/2021 the computer tutorials are online. Attendance is highly recommended but not compulsory.

Assessment

Item and weight Details

Final grade

1 (100%)

Tentamen

This course assessed by a single graded exam at the end of the course, which makes up 100% of the assessment. The exam will contain the same kind of programming problems as those studied during the course.

Assessment diagram

Learning goal: importance of exam:
#1. implicitly covered everywhere
#2. -
#3. 0.1
#4. 0.1
#5. 0.1
#6. 0.1
#7. 0.15
#8. 0.15
#9. 0.15
#10. 0.15

Students that were enrolled in the course in previous years

Students who were enrolled in the course in previous years may use Matlab instead of R as their programming environment. However, it is highly recommended for everyone to use R since this software will be used in follow-up courses as well.

Assignments

Students complete project assignments for every class of the course, which are worked upon in the class and during self study time. Each project uses examples from ecology, earth, and environmental sciences to carry out a programming task.

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

Week nr Topics SOWISO Chapters
1 data types, operators; data I/O 1 and 2
2 data manipulation; visualization 3 and 4
3 control structures, functions; implementing algorithms 5 and 6
4 numerics and simulation models; revision 7 and 8

Timetable

The schedule for this course is published on DataNose.

Honours information

-

Additional information

https://datanose.nl/#course[48612]

Last year's course evaluation

The overall design philosophy of the preceding course (Programming in Matlab) was retained - since it had a satisfactory structure. The contents were however replaced with newer examples. Also, the course material has been implemented in the SOWISO learning environment.

Contact information

Coordinator

  • dr. ir. E.E. van Loon