The goal of the course is to provide a deeper understanding of programming fundamentals in Python, develop programming skills through small programming projects and learn how to use some of the most common Python libraries for scientific computing and data analysis.

More specifically, by the end of the course the students:
- Should be able to effectively use Python’s data structures and procedures as well as the means of abstraction provided by the language.
- Should be comfortable reading, writing and debugging Python code and scripts as well as using modules and packages.
- Should be able to use standard scientific libraries, such as Numpy, Scipy, Pandas or Matplotlib.
- Should be familiar with good programming practices such as coding standards or version control.

Target group: Students with little programming experience that want to learn Python and common libraries.

Prerequisites: This course will assume that all students are comfortable working with Python and know the basics, as covered in the Python block course. In particular, some of the requirements include knowledge of:
- Variables and operators
- Flow control (conditionals, loops)
- File I/O
- Functions
- Basic data structures (dictionaries, lists, tuples)

Evaluation: Evaluation is based on programming assignments, code reviews and presentations. Assignment evaluation will take into account both the obtained results as well as the quality of the code.

Teaching format: The course will last approximately 6-8 weeks with a 2-hour weekly classroom lecture. The course’s goal is to ensure a basic level of programming knowledge among all students and build on top of the concepts taught in the Python block course. To accommodate the (potentially very) broad diversity of backgrounds the course will make use of existing online courses, that students can follow at their own pace, and classroom lectures on selected topics. Teaching materials include online courses freely available and lecture slides. Online courses will cover fundamental concepts. Classroom lectures will focus on solving frequent questions/mistakes, review of programming assignments and solutions as well as extension of the fundamental concepts. The course will be taught online, although this might be re-evaluated as the situation evolves.

ECTS: 3 Year: 2021

Track segment(s):
DSSC-CORE Data Science and Scientific Computing - track core course

Teacher(s):
Eder Miguel Villalba

Teaching assistant(s):

If you want to enroll to this course, please click: REGISTER