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

CS005

Intro to Programming 2: Python

Barcelona Campus
Jan 10, 2022 - Jan 28, 2022
This class introduces advanced and complex programs on Python. By the end, students will be able to create code that is compact and efficient.
Barcelona Campus
Jan 10, 2022 - Jan 28, 2022
Vladimir Mazin

Faculty

Vladimir Mazin

Msc. Data Science at Harbour.Space University

Course length

3 weeks

Duration

3 hours
per day

Total hours

45 hours

Credits

4 ECTS

Language

English

Course type

Offline

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. 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.
  • How to read and write files
  • Why we need exceptions and how to catch them
  • How a program runs and what Call Stack is. This knowledge allows the user to effectively debug code
  • OOP principles: Inheritance, Polymorphism, Composition, Aggregation, as well as when to use

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

Session 1

Code Efficiency: Time and Space Complexity. Built-in data structures analysis.

Tuesday
2

Session 2

Files Input and Output, the Pickle module

Wednesday
3

Session 3

Errors and Exception Handling

Thursday
4

Session 4

Practice Session

Friday
5

Session 5

Test I + Review of the week

Monday
6

Session 6

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

Tuesday
7

Session 7

Object-Oriented Programming, Part I OOP principles, Class Attributes & Methods

Wednesday
8

Session 8

Object-Oriented Programming, Part II Inheritance, Polymorphism, Composition, Aggregation

Thursday
9

Session 9

Practice Session

Friday
10

Session 10

Test II + Review of the week

Monday
11

Session 11

Useful modules from the Standard Library

Tuesday
12

Session 12

Iterators and generators. List comprehensions

Wednesday
13

Session 13

Decorators

Thursday
14

Session 14

Practice Session

Friday
15

Session 15

Final Exam

Methodology

The course sessions consist of lectures given by the professor and practical seminars where students complete a programming assignment under the professor’s supervision. Homework is assigned after each session to strengthen the understanding of the material. The lectures will start with homework analysis, where we discuss the solutions. There will be two tests at the end of the first and second weeks and a final exam at the end of the course.

Grading

The final grade will be composed of the following criteria:
50% - Homework
20% - End of week tests
20% - Final test
10% - Participation
Vladimir Mazin

Faculty

Vladimir Mazin

Msc. Data Science at Harbour.Space University

In 2012 with scientific research in Algebra, Vladimir won 1st place at the National contest in Russia, the Intel-Avangard, and became a finalist of the Intel ISEF.

After school, he enrolled for Bachelors at ITMO University for the programme of Applied Math and Programming. During his Bachelor's, he participated in several educational projects: in 2013 he was a coordinator of the national science fair for school students - BalticSEF; in 2014 he was a teacher in the LCME summer school, teaching two courses on maths. In the last years of his Bachelors, Vladimir entered the centre of additional higher education, Computer Science Center, for the programme of Software Engineering. In the end of summer of 2015, he completed a 3-month internship as a Software Developer.

See full profile

Apply for this course

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

Intro to Programming 2: Python

by Vladimir Mazin

Total hours

45 Hours

Dates

Jan 10 - Jan 28, 2022

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.