Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources

CS005

Intro to Programming 2: Python

Online
Jan 11, 2021 - Jan 29, 2021
This course introduces students to more advanced and complex programs on Python. By the end of the course, students will be able to create code that is compact and efficient.
Online
Jan 11, 2021 - Jan 29, 2021
Igor Slinko

Faculty

Igor Slinko

Computer Vision Engineer at SportTotal.tv

Course length

3 weeks

Duration

3 hours
per day

Total hours

45 hours

Credits

4 ECTS

Language

English

Course type

Online

Fee for single course

€1500

Fee for degree students

€750

Skills you’ll learn

PythonProgrammingDebugging existing codeWriting programs with OOPCreating iterators and generatorsCreating and using decorators
OverviewCourse outlineCourse materialsPrerequisitesMethod & grading

Overview

Whereas “Intro to Programming 1” introduces you to basic Python instruments, such as lists, dicts, loops, etc, “Intro to Programming 2” focuses on building complex programs.

In Python anything is an object. Every object has its own functions and operators (that are functions too). For example, you can get two lists and concatenate them with a ‘+’ operator. What is the reason for the ‘+’ operator to behave this way for lists and absolutely different to float numbers? Can we overload this operator to do anything we can imagine? Or can we create an object that is almost like a list but has two dimensions?

Python is a beautiful language mainly due to its huge community of enthusiasts. This means that if you can think of a thing, it is most likely already implemented in some third-party library (like that 2D list, we mentioned above). This means that you can gracefully integrate someone else's code into your program. In our course we will learn how to do this, making your code compact and efficient.

Learning highlights

  • The main goal is to make a transition from exploiting the “magic” of Python towards understanding and transforming it. In doing so, you can create complex and yet intelligible programs.
  • By completing the course you’ll develop a full understanding of how Python works on a user level. Students will comprehend:
  • OOP principles: Inheritance, Polymorphism, Composition, Aggregation, as well as when to use classes over functions.
  • What an iterator or a generator is and how to create them
  • How a program runs and what Call Stack is. This knowledge allows the user to effectively debug code.
  • Why we need exceptions and how to catch them
  • How decorators are organized and how they simplify our programs
  • How to read and write files

Course outline

15 classes

Dive into the details of the course and get a sense of what each class will cover.
Monday
Tuesday
Wednesday
Thursday
Friday
Monday
1

Class 1

Reading/writing files in Python

Tuesday
2

Class 2

Practice session 0

Wednesday
3

Class 3

Python libraries (modules). Module “collections”. Installing new modules via pip. Creating our own modules

Thursday
4

Class 4

Practice session 1

Friday
5

Class 5

Exceptions, Call Stack

Monday
6

Class 6

Practice session 2

Tuesday
7

Class 7

Classes and objects

Wednesday
8

Class 8

Practice session 3

Thursday
9

Class 9

Classes and objects, part 2

Friday
10

Class 10

Practice session 4

Monday
11

Class 11

Iterators and generators. List comprehensions

Tuesday
12

Class 12

Practice session 5

Wednesday
13

Class 13

Decorators

Thursday
14

Class 14

Practice session 6

Friday
15

Class 15

Final Exam

Methodology

This course is very practical: we won’t spend a minute looking at PowerPoint presentations. All the material will be given as code examples and code assignments. We’ll have plenty of class practice with live testing. Tasks that are not done in the classroom are converted into homework. It might be hard first but you’ll learn how to think in Python.

Grading

The final grade will be composed of the following criteria:
70% - Assignments
30% - Final Exam
Igor Slinko

Faculty

Igor Slinko

Computer Vision Engineer at SportTotal.tv

Ex. Samsung AI Center, Yandex, VK, Brickit.app, OneSoil Master of Computer Science at MIPT

Igor Slinko obtained a Master's degree in Mathematics and Computer Science at MIPT (Moscow). After that, he worked as C++ and Python developer at Yandex. Several years later he turned his attention to Data Science and Computer Vision. He switched to a researcher position at Mail.ru, and also started teaching Machine Learning at HSE (Moscow). Then he became team lead at a newly developed Samsung AI Center, where he developed Computer Vision algorithms in Robotics. He also collaborated with Michael Romanov to create an open course called "Neural Networks and Computer Vision" which amassed an audience of 50k students.

See full profile

Apply for this course

Snap up your chance to enroll before all spaces fill up.

Intro to Programming 2: Python

by Igor Slinko

Total hours

45 Hours

Dates

Jan 11 - Jan 29, 2021

Fee for single course

€1500

Fee for degree students

€750

How to secure your spot

Complete the form below to kickstart your application

Schedule your Harbour.Space interview

If successful, get ready to join us on campus

FAQ

Will I receive a certificate after completion?

Yes. Upon completion of the course, you will receive a certificate signed by the director of the program your course belonged to.

Do I need a visa?

This depends on your case. Please check with the Spanish or Thai consulate in your country of residence about visa requirements. We will do our part to provide you with the necessary documents, such as the Certificate of Enrollment.

Can I get a discount?

Yes. The easiest way to enroll in a course at a discounted price is to register for multiple courses. Registering for multiple courses will reduce the cost per individual course. Please ask the Admissions Office for more information about the other kinds of discounts we offer and what you can do to receive one.