General Information
| Course Code | XB_0145 |
|---|---|
| Credits | 6 EC |
| Period | P2 |
| Course Level | 100 |
| Language of Tuition | English |
| Faculty | Faculty of Science |
| Course Coordinator | dr. M. Verano Merino MSc |
| Examiner | dr. M. Verano Merino MSc |
| Teaching Staff |
dr. A.J. van der Ploeg dr. M. Verano Merino MSc M. Beijerbacht |
|
Part of programme(s)
Premaster
Use the arrow keys to navigate the list, Enter to select, and Escape to close.
|
|
Practical Information
You need to register for this course yourself. The (de)registration deadlines can be found on VU.nl
| Teaching Methods | Practical, Written partial exam, Lecture |
|---|
Target audiences
This course is also available as:
Course Objective
This course aims to teach students how to solve problems by means of writing and understanding computer programs.
Learning Python is actually a side effect that happens because the programming language used to solve problems during the course is Python. However, the knowledge acquired by the students during the course is transferable to other programming languages like Java or C.
Knowledge and understanding: at the end of the course, students will be familiar with basic programming concepts, such as data types, data structures, variables, expressions, control flow statements, methods, classes, and error-handling.
Applying knowledge and understanding: Students will be able to write and read small to medium-sized programs when given a natural language description of the problem. Also, students will learn how to read, debug, and fix existing programs.
Communication skills: Students will be able to read code written by others and write code such that others can understand it. Both, using pen and paper and computer.
Learning skills: Students will learn how to read technical documentation (e.g., programming language and library references) and how to use programming as a tool for solving problems.
Making judgments: Students will be able to judge whether a given program solves or not a certain problem with and without a computer.
Course Content
This course will equip students with a wide range of programming skills. They will learn how to write programs for solving problems using different
- Data types (e.g., int, boolean, float, string, and custom types),
- data structures (e.g., lists, sets, dictionaries, tuples, and matrices),
- expressions,
- control flow statements (e.g., conditionals, and loops)
Also, they will gain a thorough understanding of
- Standard functions,
- learn how to define functions,
- error-handling,
- perform I/O tasks, and
- grasp the basics of Object-Oriented Programming.
Finally, students will also learn how to:
- Write and debug programs using pen and paper,
- write and debug programs using a professional IDE, and
- write and debug programs using computational notebooks.
Additional Information Teaching Methods
- There will be two lectures per week, as well as two practical sessions per week.
- Attendance to both practical sessions is mandatory. Missing more than two sessions will unfortunately mean you cannot take the final exam.
- There is also a significant amount of programming exercises to practice the different programming concepts taught during the course.
- The exercises will be pen and paper and computer-based.
Method of Assessment
- Programming assignments (10%): There two programming assignments (5% each) to be developed individually that are non-resit. The assignments are Python projects that students must complete to achieve a desired behavior.
- In class quizes (10%): these are exercises/quizes/participation during the lecture and/or practical sessions.
- Final exam (80%): this exam determines the course's final grade.
Also:
- There will be a resit exam. Possible bonus points are not transferable to the resit exam. The resit exam will count for 90% of the grade, and the remaining 10% comes from the programming assignments.
- Students from previous years cannot transfer grades for assignments.
The passing grade of the course is 5.5.
Level 1 Use of generative AI is not permitted
In this course, the use of generative AI (GenAI), such as ChatGPT or similar tools (e.g., Cursor, Antigravity), is not permitted in practical sessions, assignments or assessments. Any use of GenAI in this course is considered fraud. If established, the submitted work or assessment result will be declared invalid, and the Examination Board may impose further measures.
Literature
The book used in this course is Think Python: How to Think Like a Computer Scientist, Allen B. Downey, Green Tea Press. The book is available online at: https://greenteapress.com/wp/think-python-2e/.
Additional Information Target Audience
Bachelor students of Artificial Intelligence (year 1)Additional Information
You will be allocated to a TA in the first week of period 1; this also determines the scheduling of the practical sessions.