Introduction Computational Science

6 EC

Semester 2, period 4

5062INCS6Y

Owner Bachelor Informatica
Coordinator dr. Valeria Krzhizhanovskaya
Part of Bachelor Informatica, year 2Dubbele bachelor Wiskunde en Informatica, year 2

Course manual 2018/2019

Course content

This course will focus on modelling real world phenomena, ranging from physical to sociological processes. After an introduction to modelling and simulation as the third paradigm of science, we cover three methods for modelling real world systems: cellular automata, ordinary differential equations, and complex networks. The course provides basic understanding of each method and their relation and introduces well-known examples for each approach. Every now and then we will derive some mathematical results such as integrating a simple ODE or deriving the diameter of a network structure; a degree mathematical skills are important to a computational modeler. Practical experience is obtained with back-to-back lab assignments which correspond to the concepts introduced in the weekly lecture material. The preferred programming language is Python. Example modelling assignments include traffic congestion, the flow of gas molecules, and the spreading of infectious diseases through our highly connected society.

Study materials

Literature

  • Laszlo Barabasi. Network Science. E-Book: 

    http://barabasi.com/networksciencebook/

Syllabus

  • 'Modelling and Simulation' by A.G. Hoekstra and P.M.A. Sloot

Other

  • Maarten van Steen. Graph Theory and Complex Networks. Available online via http://www.distributed-systems.net/index.php?id=gtcn-copy

  • David Easley and John Kleinberg. Networks, Crowds, and Markets, reasoning about a highly connected world. Available online via http://www.cs.cornell.edu/home/kleinber/networks-book/

  • Other papers and reading material will be provided during the course.

Objectives

After completing the course, the student is able to:

1. explain the added value of computational modelling to science and society;
2. explain both the power and the limitations of modelling;
3. describe the properties of several classes of models and give examples of real-life applications;
4. formulate suitable models for a range of realistic phenomena;
5. implement Cellular Automata and Complex Networks models in computer code;
6. perform verification of the correctness of your implementation;
7. calibrate model parameters and validate the model against experimental data;
8. analyse and solve ordinary differential equations analytically and numerically by Euler algorithm;
9. explain and analyse how discretisation and numerical algorithms affect the accuracy of your simulation results.

Teaching methods

  • Hoorcollege
  • Laptopcollege
  • Zelfstandig werken aan bijv. project/scriptie
  • Zelfstudie
  • Lecture
  • Seminar
  • Computer lab session/practical training
  • Self-study
  • Working independently on e.g. a project or thesis
  • Supervision/feedback meeting

There will be two lectures and one computer lab session per week. Additional workshops/tutorials will be arranged in some weeks, to help with the advanced topics in mathematics or programming. 

Learning activities

Activiteit

Aantal uur

Deeltoets

4

Hoorcollege

24

Laptopcollege

14

Vragenuur

2

Werkcollege

6

Zelfstudie

118

Attendance

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

  • For practical trainings and tutorials/seminars with assignments attendance is obligatory. When students do not meet the requirements for attendance, this may lead to not finishing a course with a sufficient mark.

Additional requirements for this course:

For computer lab sessions attendance is obligatory. In these sessions, Teaching Assistants explain the assignments and help the students. Questions over email cannot be answered because of the large number of students. Additional workshops/tutorials are optional, but highly recommended, since they help students achieving good results in the practical assignments and in the final exam.

Assessment

Item and weight Details

Final grade

0.2 (20%)

Deeltoets 1

0.2 (20%)

Deeltoets 2

0.6 (60%)

Practical assignments

Students are assessed based on their submitted codes and answer sheets from the lab assignments (60%) and two written partial exams (40%). A student passes if the overall average grade is at least 5.5 with the additional constraint that both partial exams must be at least 5.5.

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

Timetable

The schedule for this course is published on DataNose.

Additional information

  • Programming in Python is highly recommended and preferred; if necessary then C or Java is also accepted. Some mathematical skills will be used, such as basic calculus, basic statistics (binomial distribution), and the exponential and logarithmic functions. Students should review the necessary mathematical skills mentioned. 
  • Any necessary reading material will be provided through Blackboard. 

Contact information

Coordinator

  • dr. Valeria Krzhizhanovskaya