Department of Information and Computing Sciences

Departement Informatica Onderwijs
Bachelor Informatica Informatiekunde Kunstmatige intelligentie Master Computing Science Game&Media Technology Artifical Intelligence Business Informatics

Onderwijs Informatica en Informatiekunde

Vak-informatie Informatica en Informatiekunde

Computational thinking

Course code:INFOMCTH
Credits:7.5 ECTS
Period:period 3 (week 6 through 15, i.e., 4-2-2019 through 12-4-2019; retake week 27)
Participants:up till now 16 subscriptions
Schedule:Official schedule representation can be found in Osiris
lecture   Wed 13.15-15.006-15 BBG-001 Anna-Lena Lamprecht
Wed 15.15-17.006-13 BBG-103 CLZ
14 BBG-165
15 BBG-103 CLZ
Fri 13.15-15.006 BBG-169
8-10 BBG-169
11 BBG-201
12-15 BBG-169
Fri 15.15-17.006 BBG-385
8-15 BBG-385
week: 15Fri 12-4-20199.00-12.00 uurroom: BBG-079
week: 15Fri 12-4-20199.00-12.00 uurroom: BBG-083
week: 27Fri 5-7-20199.00-12.00 uurroom: BBG-079retake exam

This course is an introduction to computational thinking about data analysis problems and the implementation of data analysis programs with Python. It starts at the very basics and is explicitly intended for students who have no or only little programming experience.

Computational thinking is about expressing problems and their solutions in ways that a computer could execute. It is considered one of the fundamental skills of the 21st century. To develop student’s computational thinking skills for data analysis problems, the course will cover ways for systematically approaching such problems (CRISP-DM model, reference processes), abstract program description techniques (UML diagrams) and elementary software design principles (reuse, modularization).

Programming is the process of designing and building an executable computer program for accomplishing a specific computing task. The course will introduce students to programming with Python, which is currently one of the most popular programming languages in data science. After familiarization with the basics (input and output, variables, data types, data structures, conditional branching, loops, functions, etc.) the course will address more advanced topics, such as access to web services, statistical analyses with the pandas package and data visualization with the matplotlib package. Furthermore, there will be some lectures on additional practical topics (such as the FAIR principles and workflow management systems).

Every lecture will be accompanied by a practical BYOD lab session where students can work on the weekly homework assignments with support of the teaching assistants. To practice the work with more complex, realistic data analysis problems, students will furthermore work on small group projects during the course, and present their results at the end.

After finishing the course successfully, the students will be able to:

  • think computationally about data analysis problems,
  • decompose problems into the individual steps needed to solve them,
  • describe the analysis workflow in the form of UML diagrams,
  • find and use existing tools and libraries to implement the individual steps,
  • implement the overall workflow in Python, and
  • deliver tested, documented and maintainable Python programs.


All course material is available in digital form and will be provided via BlackBoard.

Exam form:

Students need to have at least 50% of the points on all but one of the weekly homework exercises to be admitted to the exam.

The grade for the course will be the weighted average of the grades for:

  • Mid-term (30%, individual)
  • Final exam (30%, individual)
  • Project (40%, group work)

To pass the course, all three parts need to be graded with 4 or better, and the weighted average of all parts has to be 6 or better.

Minimum effort to qualify for 2nd chance exam:

To qualify for the retake exam, the grade of the original must be at least 4.