• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site
Master 2021/2022

Python Advanced

Type: Compulsory course
Area of studies: Applied Mathematics and Informatics
When: 1 year, 1 module
Mode of studies: distance learning
Open to: students of one campus
Master’s programme: Master of Data Science
Language: English
ECTS credits: 5
Contact hours: 8

Course Syllabus

Abstract

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

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

  • 2021/2022 1st module
    0.2 * Staff-Graded Assignments + 0.7 * Programming Assignments + 0.1 * Weekly Quizzes
Bibliography

Bibliography

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