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

Python Advanced

2023/2024
Academic Year
ENG
Instruction in English
3
ECTS credits
Course type:
Compulsory course
When:
1 year, 2 module

Instructor

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

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

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

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

Assessment Elements

  • non-blocking Quizzes
  • non-blocking Programming Assignments
    Weekly programming assignments.
  • non-blocking Lab
  • non-blocking SGA CountVectorizer
  • non-blocking SGA Inverted Index
Interim Assessment

Interim Assessment

  • 2023/2024 2nd module
    0.42 * Lab + 0.31 * Programming Assignments + 0.1 * Quizzes + 0.05 * SGA CountVectorizer + 0.12 * SGA Inverted Index
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