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 scientt delay/affect the ordific 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 •Data structures (dictionaries, lists, exceptions) •Basic use of libraries

Evaluation: Evaluation is based on programming assignments, each of which should take 2-4 hours, together with a final test. Assignment evaluation will take into account both the obtained results as well as the quality of the code. Final evaluation will be graded about 80% from programming assignments and 20% from written test.

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 and/or notes that will be made available at the beginning of the course. 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.

ECTS: None Year: 2020

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