Your Digital World

6 EC

Semester 1, periode 1, 2

5141YODW6Y

Eigenaar Bachelor Science, Technology & Innovation
Coördinator dr. A. Pérez de Alba Ortíz
Onderdeel van Bachelor Science, Technology & Innovation, jaar 1

Studiewijzer 2024/2025

Globale inhoud

In this course, you will first learn the basic concepts of computational thinking. In a formal manner, you will be familiarized with the concept of problem decomposition and learn how to solve problems using algorithms. During the course and practical sessions, you will also learn how to logically organize data and to abstract physical phenomena through modelling and simulation. Computational thinking allows you to explore problems that are difficult or even impossible to explore in the real world. During the first half of the course, you will learn how to produce well-structured and efficient code. In the second half, you will apply this coding skills to tackle relevant problems from different disciplines, e.g., physics, chemistry, biology, engineering, etc. This course is a steppingstone for developing advanced programming skills for modelling, simulation, and data-analysis, which are key to scientific and technological advancement.

Studiemateriaal

Literatuur

Syllabus

Practicummateriaal

Overig

Leerdoelen

  • Explain the principles behind Computational thinking
  • Describe computational problems
  • Apply basic programming steps and programming constructs to solve a given problem
  • Explain the relevance of good coding in terms of “efficiency”, “transparency”, “maintainability”, and “effectiveness”
  • Read code and explain its function
  • Document your own code by explaining (read me) how your code operates and/or is used
  • Describe and recognize particular data types
  • Identify the function of a given control-flow statement
  • Explain the differences between programming and modelling paradigms
  • Identify which programming paradigm is used or most suitable for the implementation of a given problem
  • Describe the cycle of data management and how it impacts a data processing project
  • Implement simple models in computer code, verify and validate the correctness of implementation
  • Explain the power and limitations of modelling
  • Describe the properties of several classes of models and explain their meaning
  • Explain and analyse how discretisation and numerical approximations affect the outcome of simulations

Onderwijsvormen

  • Hoorcollege
  • Laptopcollege
  • Presentatie/symposium
  • Zelfstudie
  • Zelfstandig werken aan bijv. project/scriptie

The lectures are meant to first introduce the week’s topic and then to give an in-depth follow-up after the students have had some hands-on experience with the subject matter during the computer lab sessions. The computer lab sessions help the students to better grasp the concepts explained during the lectures and to understand their applicability. Blended learning will be provided through the availability of online materials (knowledge clips, quizzes) to be studied before entering a lecture/computer lab session. Flipped classroom will be used in the last sessions (14,13) when revisiting previous exercises. The self-study and working independently hours will be devoted to assignments, studying for the exam, and preparing presentations. Presentations will serve to contextualize knowledge and practice SRE.

Verdeling leeractiviteiten

Activiteit

Uren

Hoorcollege

28

Laptopcollege

56

Presentatie

4

Tentamen digitaal

3

Zelfstudie

77

Totaal

168

(6 EC x 28 uur)

Aanwezigheid

Aanvullende eisen voor dit vak:

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. Lectures will be recorded.

For computer lab sessions ("Laptopcollege") attendance is also highly recommended. In these sessions, Teaching Assistants explain the assignments and reports, which are compulsory, and help the students. Students who attend will get priority when submitting questions about the assignments via TicketVise.

Toetsing

Onderdeel en weging Details

Eindcijfer

40%

Assignments and Reports

NAP bij geen cijfer

4%

A1: Algorithms in natural language

NAP bij geen cijfer

13%

A10: Particle dynamics

NAP bij geen cijfer

13%

A11: Population dynamics

NAP bij geen cijfer

7%

A2: Introduction to Python

NAP bij geen cijfer

7%

A3: Python functions and random numbers

NAP bij geen cijfer

7%

A4: Introduction to numerical programming with Python

NAP bij geen cijfer

7%

A5: Animations & simulations in Python

NAP bij geen cijfer

7%

A6: Plotting & Physics based simulations

NAP bij geen cijfer

7%

A7: Data processing and analysis

NAP bij geen cijfer

13%

A8: Introduction to modelling and simulation

NAP bij geen cijfer

15%

A9: Design challenge

NAP bij geen cijfer

40%

Poster and presentation

NAP bij geen cijfer

1 (50%)

Poster

NAP bij geen cijfer

1 (50%)

Poster presentation

NAP bij geen cijfer

20%

Exam

Moet ≥ 5.5 zijn, NAP bij geen cijfer

1 (100%)

Tentamen digitaal

Moet ≥ 5.5 zijn, NAP bij geen cijfer

Programming assignments: The individual compulsory programming assignments are provided and guided during the practical sessions. Code and documentation will be assessed by TAs and students will receive feedback via rubrics in Canvas.

Written reports: The written report is meant to practice and evaluate communication skills. The reports will be based on the Python exercises, describe the constructed program in natural language, provide visualisations and discuss the interpretation thereof. Written reports are compulsory and assessed by TAs.

Exam: The digital exam (IN ANS or ExamIDE) will test the major computational and coding concepts discussed during the first half of the course. The exam will consist of a combination of closed and open questions. The format of the exam will be similar to that of the coding assignments and example questions available per topic.

Pitch: During the second part of the course the students will work in small teams (2-3 students) on assignments pertaining to the topic at hand. They will pitch the outcome of their assignment work to their peers and be assessed by staff.

Poster presentation: The final poster presentation is also based on teamwork (2-3 students). Teams will present the outcome of their final course assignment, this time in poster format. The students will be invited to walk around to review each other’s posters and to discuss the pitches and presentations. Assessment will be done by staff.

Inzage toetsing

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 the exam platform.

Fraude en plagiaat

Dit vak hanteert de algemene 'Fraude- en plagiaatregeling' van de UvA. Hier wordt nauwkeurig op gecontroleerd. Bij verdenking van fraude of plagiaat wordt de examencommissie van de opleiding ingeschakeld. Zie de Fraude- en plagiaatregeling van de UvA: http://student.uva.nl

Weekplanning

Week Topic
1 Introduction to Computational Thinking
2 Introduction to Python
3

Python functions and random numbers

4 Introduction to numerical programming with Python
5 Animations & simulations in Python
6 Plotting & Physics based simulations
7 Data processing and analysis
8 Midterm assessment (Exam)
9 Introduction Modelling and Simulation (Cellular Automata)
10 Design Challenge
11 Population Dynamics
12  Particle dynamics
13 Performance & error analysis
14 Evolutionary computing & optimization
15 Wrapping up
16 Final assessment (Poster and Presentation)

Contactinformatie

Coördinator

  • dr. A. Pérez de Alba Ortíz

Docenten

  • J.A.A. van Langen
  • Bas Loyen BSc