CloseHelpPrint
Kies de Nederlandse taal
Course module: INFOMCTH
INFOMCTH
Computational thinking
Course infoSchedule
Course codeINFOMCTH
ECTS Credits7.5
Category / LevelM (M (Master))
Course typeCourse
Language of instructionEnglish
Offered byFaculty of Science; Graduate School of Natural Sciences; Graduate School of Natural Sciences;
Contact personI. Alpizar
E-maili.alpizarchacon@uu.nl
Lecturers
Lecturer
I. Alpizar
Other courses by this lecturer
Course contact
I. Alpizar
Other courses by this lecturer
Lecturer
dr. P.J. Mosteiro Romero
Other courses by this lecturer
Course contact
dr. P.J. Mosteiro Romero
Other courses by this lecturer
Teaching period
3-GS  (06/02/2023 to 21/04/2023)
Teaching period in which the course begins
3-GS
Time slotD: D (WED-afternoon, Friday)
Study mode
Full-time
Enrolment periodfrom 31/10/2022 up to and including 25/11/2022
Course application processOsiris Student
Enrolling through OSIRISYes
Enrolment open to students taking subsidiary coursesYes
Pre-enrolmentNo
Post-registrationYes
Post-registration openfrom 23/01/2023 up to and including 20/02/2023
Waiting listYes
Course placement processadministratie onderwijsinstituut
Course goals

We call this course “Computational Thinking and Programming with Python”, or “CoTaPP” for short. For historical and administrative reasons, you can enroll in this course under three different codes:

  • BETA-B1PYT Programmeren met Python
  • INFOB2PWD Programming with Data
  • INFOMCTH Computational Thinking
That is, if you enroll in any of these courses, you end up in CoTaPP. Welcome!
The course will be taught entirely in English.
After finishing the course successfully, you will be able to:
  • express data analysis problems/solutions in a way a computer could execute,
  • identify individual steps needed to solve a computational problem,
  • describe the analysis process in the form of UML diagrams,
  • find and use existing Python tools/libraries to implement the individual steps,
  • validate Python programs for correct functioning, and
  • develop tested, documented and maintainable Python programs and notebooks.
You will do a midterm and a final exam on site. The midterm exam will be a digital test covering the content up to and including module 8. The final exam will consist of a programming assignment that you have to do individually; you must bring your own laptop computer for the final exam, including all necessary Python packages that we will install throughout the course. Similar to the group project assignments, the exam will be provided via Blackboard, where you will also submit your solutions and receive your grade.
You will work on four two-week group projects during the course. Groups will consist of four students from the same lab group.
The groups and project assignments will be announced via Blackboard. The results of the group work have to be submitted through Blackboard by the given due date. Project feedback and grades will also be communicated through Blackboard.
You are free to schedule your project working sessions at times that are convenient for all members of the group. We strongly advise you to plan these early, so that you have time to discuss the assignment and prepare your questions before the lab sessions. That way you will be able to use the project time most effectively.
Master students will have slightly different requirements for the group projects, in accordance with the different expectations for master students as outlined in the university’s educational model.

Grade

The grade for the course will be the weighted average of the grades for:
  • Midterm (20%, individual)
  • Final exam (40%, individual)
  • Projects (4 x 10%, group work)
To be admitted to the exam, you must have completed (submitted) at least 50% of the exercises in Quarterfall.
You may also earn up to 3% bonus credit by submitting programming exercises via MasteryGrids.
To pass the course, all three parts (midterm, final exam and average project grade) need to be graded with 4 or better, the weighted average of all parts has to be 6 or better, and you must have completed all four projects. If your final grade is between 4 and 6, you are allowed to retake one part: if your final exam grade is below 6, you must retake the final exam; if your final exam grade is 6 or above, and your project average is below 6, you must do a substitute project, the grade of which will replace your lowest project grade; if your final exam grade is 6 or above, and your project average is 6 or above, you must retake the midterm exam.
 
Content
The course is an introduction to computational thinking about data analysis and processing problems, and the implementation of corresponding programs in Python. It starts at the very basics and is explicitly intended for students who have no 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.
Programming is the process of designing and building an executable computer program for accomplishing a specific computing task. The course introduces you to programming with Python, which is currently one of the most popular programming languages in data science. After familiarization with the basics (i.e., input and output, variables, data types, data structures, conditional branching, loops, functions, etc) the course addresses more advanced topics, such as statistical analyses,  data visualization, Jupyter notebooks, and graphical user interfaces.
Every lecture comes with a set of accompanying exercises to practice the concepts introduced individually. To practice the work with more complex, realistic data analysis problems, you will furthermore work on a series of group projects.
The participants in this course are very diverse. There are students from both Bachelor and Master programs, from a variety of disciplines, from all faculties. This diversity is a great opportunity, but also a challenge for all of us, so please be open-minded, supportive, and inclusive; learn from each other; communicate; and don’t be afraid to ask questions. At the end, you are all here because you want to learn how to solve your computational problems with Python! We teachers will do our best to give you a fruitful course and a good learning experience. However, if any issues arise, please make us aware of them, and we will try to solve them.

Entry requirements

  • Completed NONE of these:
    • Imperative programming (INFOIMP)
    • Computational thinking (INFOB1CODE)
    • Game programming (INFOB1GP)
    • Mobile programming (INFOB1MOP)
  • (INFOMCTH only) Assigned study entrance permit for the master

Prerequisite knowledge

  • Do NOT register for this course if you already have experience with Python or another imperative programming language.
  • Students from the Bachelor programs Computer Science, Information Science and Artificial Intelligence are not allowed to take this course as it overlaps too much with their mandatory courses.
  • You are also not allowed to take this course if you have already done a similar course in a different context.

Required materials

You need to have a laptop that you can use throughout the course, especially for the final exam. Any operating system (Windows, Mac OSX, Linux) is fine, as long as new software can be installed on the machine. We assume that you have elemental computer skills such as browser usage, storing files, installing programs, etc.
All course literature will be provided in digital form.

Instructional formats

The lecture notes and a set of exercises to practice the new concepts will be made available on Blackboard; the exercises are also on Quarterfall. You are expected to solve these exercises individually within one week after the respective lecture. To be admitted to the exam, you must have completed and submitted on time at least 50% of the exercises in Quarterfall.
Furthermore, we will provide you with access to MasteryGrids, an online tutoring system for Python that you can use for additional practice.
We recommend the following approach to the lectures and exercises:
  1. Read through the lecture notes before the lecture, note down your questions.
  2. During the lecture, see which questions are answered as the lecture goes, and ask the other ones.
  3. Practice the concepts of the lecture in MasteryGrids.
  4. Do the exercises on Quarterfall.

Each seminar (werkcollege) group has a tutor who facilitates the sessions and is available for any questions on the exercises and group projects. The seminar sessions all take place at the same time.
In addition to the lab sessions, the “Questions and Answers” channel in the CoTaPP team is there for asking and discussing questions about the course. Questions can be posted any time and everybody is welcome to answer!
Additionally, each of the tutors is available at a specified time (see schedule) for live consultations via video chat.
 
Competencies
-
Entry requirements
You must meet the following requirements
  • Assigned study entrance permit for the master
Required materials
-
Instructional formats
Lecture

Seminar

Tests
Final result
Test weight100
Minimum grade-

CloseHelpPrint
Kies de Nederlandse taal