Goal: Provide an introduction to the Python programming language for computer scientists with a solid knowledge of algorithms and software development.
Course description: The course provides an in-depth introduction to the Python programming language for those who have a solid knowledge of programming. The course starts with a brief overview of the structure, syntax and building blocks of the Python environment, including data types, data structures and modern tools. This is followed by introducing a few popular libraries, including numpy and pandas. In the second half of the semester, students will learn about object-oriented programming in Python, parallelization and test-driven development.