• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
17
Февраль

Object-Oriented Programming

2021/2022
Учебный год
ENG
Обучение ведется на английском языке
7
Кредиты

Преподаватель


Левченко Евгений Николаевич

Course Syllabus

Abstract

The ability to write programs using object-oriented programming languages is an important skill for engineers working with computer vision. Therefore, it is very important that all students who come to the "Master of Computer Vision" master program have such skills. The course will cover two object-oriented languages, Python and C ++. These object-oriented languages are most often used when working on projects in the field of computer vision.
Learning Objectives

Learning Objectives

  • To form the student's understanding of methods for implementing the object-oriented approach in the Python language.
  • Develop an understanding of the theoretical foundations and practical skills of programming in the Python language, sufficient for an entry-level developer.
Expected Learning Outcomes

Expected Learning Outcomes

  • Be able to install and configure a Python development environment.
  • Know and understand the type hierarchy.
  • Be able to work with basic type operations in Python.
  • Be able to organize input and output for programs.
  • Be able to use formatted strings.
  • Be able to work with different types of collections.
  • Know how to organize conditions in programs.
  • Be able to work with different types of cycles.
  • Be able to define different types of functions.
  • Be able to create lambda functions.
  • Know the syntax of class definitions and be able to use the different types of properties of classes and methods.
  • Understand to distinguish between basic object-oriented programming practices (inheritance, encapsulation, polymorphism, abstraction).
  • Be able to implement object-oriented programming practices.
  • Understand the specifics of implementing object-oriented programming in Python.
Course Contents

Course Contents

  • Basic python syntax
  • Advanced python syntax
  • Object-oriented approach in python
Assessment Elements

Assessment Elements

  • non-blocking Weekly Quizzes Tests
  • non-blocking Final Project
Interim Assessment

Interim Assessment

  • Interim assessment (1 module)
    0.4 * Final Project + 0.6 * Weekly Quizzes Tests
Bibliography

Bibliography

Recommended Core Bibliography

  • Eric Matthes. (2019). Python Crash Course, 2nd Edition : A Hands-On, Project-Based Introduction to Programming: Vol. 2nd edition. No Starch Press.
  • Ivor Horton, & Peter Van Weert. (2020). Beginning C++20 : From Novice to Professional: Vol. 6th ed. Apress.

Recommended Additional Bibliography

  • Josh Lospinoso. (2019). C++ Crash Course : A Fast-Paced Introduction. No Starch Press.