Master
2023/2024
Python Advanced
Type:
Compulsory course (Master of Data Science)
Area of studies:
Applied Mathematics and Informatics
Delivered by:
Big Data and Information Retrieval School
Where:
Faculty of Computer Science
When:
1 year, 2 module
Mode of studies:
distance learning
Online hours:
52
Open to:
students of one campus
Instructors:
Margarita Burova
Master’s programme:
Master of Data Science
Language:
English
ECTS credits:
3
Contact hours:
10
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.
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.
- After completing the course, students will know new data structures, including sets and dictionaries, several fundamental concepts such as exceptions, iterators, classes, modules and will get familiar with other tools which are most frequently used in practice, such as sorting and working with files.
Expected Learning Outcomes
- 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 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 what sorting is and why it is such a fundamental algorithm
- Understand what classes are and why this concept is so important for programming
Course Contents
- 1. Variables, references, mutability; Sets; Dictionaries
- 2. Dictionaries - extra methods; Sorting
- 3. Error handling, Advanced for-loop, Files
- 4. Classes
- 5. Advanced Python features
- 6. Modules, Useful standard modules, Course project
Assessment Elements
- Quizzes
- Programming AssignmentsWeekly programming assignments.
- Lab
- SGA CountVectorizer
- SGA Inverted Index
Interim Assessment
- 2023/2024 2nd module0.42 * Lab + 0.31 * Programming Assignments + 0.1 * Quizzes + 0.05 * SGA CountVectorizer + 0.12 * SGA Inverted Index
Bibliography
Recommended Core Bibliography
- 9781785284571 - Romano, Fabrizio - Learning Python - 2015 - Packt Publishing - http://search.ebscohost.com/login.aspx?direct=true&db=nlebk&AN=1133614 - nlebk - 1133614
- Á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
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