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 2022/2023

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 relations, 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 a 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 successful completion of the course, the students can: explain the added value of computational modelling to science;
  • describe the properties of several classes of models and explain their meaning;
  • formulate suitable models for a range of realistic phenomena and explain the choices;
  • explain the power and limitations of modelling;
  • explain the role of real data (note: this course does not explicitly handle model fitting);
  • implement simple models in computer code, verify and validate the correctness of implementation;
  • formulate some models in ordinary differential equations and solve them analytically (by integration) and numerically (by Euler algorithm);
  • explain and analyse how discretisation and numerical approximations affect the outcome of simulations;
  • describe some models of complex networks and explain their properties;
  • implement a few algorithms to generate different types of networks;
  • derive some basic mathematical properties of networks, such as diameter and giant component size.
  • can implement a model on real-life data and use it to run experiments.

Teaching methods

  • Lecture
  • Self-study
  • Working independently on e.g. a project or thesis
  • Computer lab session/practical training

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

Learning activities

Activiteit Aantal uur
Hoorcollege 28
Laptopcollege 14
Werkcollege 14
Vragenuur 2
Digitale Toets 3
Zelfstudie 107

Academic skills

This course is substantively in line with Academic Skills Informatics 2. It is assumed that students of the Bachelor's degree in Computer Science follow both courses simultaneously and part of the study load of this course has been placed with Academic Skills Informatics 2. 

Attendance

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

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

Additional requirements for this course:

Attending lectures is highly recommended, because they give essential information about the practical assignments. The lecturer also offers small quizzes during the lectures to help understanding new material.

For computer lab sessions ("Laptopcollege") 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 ("Werkcollege") are optional -for students who need extra help or have small questions. Only one Teaching Assistant will be present in these extra sessions.

 

Assessment

Item and weight Details

Final grade

0.4 (40%)

Tentamen digitaal

Must be ≥ 5.5

0.6 (60%)

practical assignments

Must be ≥ 5.5

Students are assessed based on their submitted codes and reports for the practical assignments (60%) and a digital exam (40%). A student passes if the exam grade is at least 5.5 and a weighted average of all assignments is also 5.5 (the weights per assignment are given on Canvas). 

There is a retake opportunity for the exam, but no retake for the assignments. Low grades in some of the assignments are compensated by the higher grades in other assignments, so students have the opportunity to improve their average grade during the course. 

Inspection of assessed work

Feedback on assignment reports and exam will be provided in Canvas via the rubric sub-scores and comments from the assessors. Students can discuss assignment results with the Teaching Assistants during the scheduled sessions. Questions about the exam results can be addressed to the Teachers via Canvas.

Fraud and plagiarism

Over het algemeen geldt dat elke uitwerking die je inlevert ter verkrijging van een beoordeling voor een vak je eigen werk moet zijn, tenzij samenwerken expliciet door de docent is toegestaan. Het inzien of kopiëren van andermans werk (zelfs als je dat hebt gevonden bij de printer, in een openstaande directory of op een onbeheerde computer) of materiaal overnemen uit een boek, tijdschrift, website, code repository of een andere bron - ook al is het gedeeltelijk - en inleveren alsof het je eigen werk is, is plagiaat.

We juichen toe dat je het cursusmateriaal en de opdrachten met medestudenten bespreekt om het beter te begrijpen. Je mag bronnen op het web raadplegen om meer te weten te komen over het onderwerp en om technische problemen op te lossen, maar niet voor regelrechte antwoorden op opgaven. Als in een uitwerking gebruik is gemaakt van externe bronnen zonder dat een bronvermelding is vermeld (bijvoorbeeld in de rapportage of in commentaar in de code), dan kan dat worden beschouwd als plagiaat.

Deze regels zijn er om alle studenten een eerlijke en optimale leeromgeving aan te kunnen bieden. De verleiding kan groot zijn om te plagiëren als de deadline voor een opdracht nadert, maar doe het niet. Elke vorm van plagiaat wordt bestraft. Als een student ernstige fraude heeft gepleegd, kan dat leiden tot het uitschrijven uit de Universiteit. Zie voor meer informatie over het fraude- en plagiaatreglement van de Universiteit van Amsterdam: www.student.uva.nl

Timetable

The schedule for this course is published on DataNose.

Additional information

  • Programming in Python is highly recommended and preferred. 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 on Canvas. 

Processed student feedback

In response to student feedback, the mid-term exam is removed. That will help achieving a better workload distribution during the course. 

A gradual increase in the assignment complexity is an intended feature, where some of the assignments build upon the previous ones, integrating the acquired skills and knowledge. 

Contact information

Coordinator

  • dr. Valeria Krzhizhanovskaya