• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Python Advanced

Academic Year
Instruction in English
ECTS credits
Course type:
Compulsory course
1 year, 1 module

Course Syllabus


This course is a continuation of the Python Basic course featuring more complex topics. During this six-week course, you will learn new data structures and patterns that are used by both data scientists and software engineers on a daily basis. In fact, these new concepts are at the heart of many programming languages and frameworks beyond Python, so you can use them to solve a wide range of problems. By the end of the course, you will have a complete set of must-have tools enabling you to dive into specific fields where Python is required, such as data science, machine learning, deep learning and many others. Course topics: - New data structures: sets and dictionaries - Sorting - Iterators and Python-specific tools for working with them - Working with files - Error handling - Classes and object-oriented programming - Useful modules of the standard library During the course, you will gain hands-on experience by writing multiple programs and completing tests.
Learning Objectives

Learning Objectives

  • The course aims to explain advanced aspects of the Python programming language. It will enable students to apply Python for solving applied problems in such fields as data analytics, machine learning, deep learning and others.
Expected Learning Outcomes

Expected Learning Outcomes

  • Develop a mental model of what sets are
  • Develop intuition on when those primitives are needed
  • Learn Python-specific patterns of working with sets
  • Develop a mental model of what dictionaries are
  • Learn Python-specific patterns of working with dictionaries
  • Learn how to be more productive with dictionaries
  • Learn what sorting is and why it is such a fundamental algorithm
  • Learn lambda functions and apply them in sorting
  • Understand the mechanics of exceptions
  • Destructure the concept of the for-loop
  • Learn typical patterns when working with iterables
  • Learn how to work with files
  • Understand what classes are and why this concept is so important for programming
  • Learn how to write classes
  • Learn how to redefine operators for classes
  • Learn the concept of inheritance
  • Develop basic OOP intuitions
  • Learn how to "patch" functions with decorators
  • Learn how to write functions that take variable number of arguments
  • Learn how the "import" statement works
  • Learn how to write modules
  • Learn useful modules from the standard library
  • Practice on all topics studied
Course Contents

Course Contents

  • Sets
  • Dictionaries
  • Dictionaries - extra methods
  • Sorting
  • Classes
  • Error handling, Advanced for-loop, Files
  • Advanced Python features
  • Modules, Useful standard modules
  • Course project
Assessment Elements

Assessment Elements

  • non-blocking Weekly Quizzes
  • non-blocking Programming Assignments
  • non-blocking Staff-Graded Assignments
Interim Assessment

Interim Assessment

  • Interim assessment (1 module)
    0.7 * Programming Assignments + 0.2 * Staff-Graded Assignments + 0.1 * Weekly Quizzes


Recommended Core Bibliography

  • Álvaro Scrivano. (2019). Coding with Python. Minneapolis: Lerner Publications ™. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1947372
  • Bernard, J. (2016). Python Recipes Handbook : A Problem-Solution Approach. [United States]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1174476
  • Romano, F. (2015). Learning Python. Birmingham: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=nlebk&AN=1133614

Recommended Additional Bibliography

  • Andrew Bird, Dr Lau Cher Han, Mario Corchero Jiménez, Graham Lee, & Corey Wade. (2019). The Python Workshop : A New, Interactive Approach to Learning Python. Birmingham: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2291496