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

CS104

Intro to Programming 2: Python

Barcelona Campus
Nov 27, 2023 - Dec 15, 2023
A full-size course covering the Python programming language and its functionality accompanied by a large variety of practical exercises.
Barcelona Campus
Nov 27, 2023 - Dec 15, 2023
Serhii Denysov

Faculty

Serhii Denysov

Senior algorithms R&D at drawer.ai, Programming and math university teacher.

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

Software DevelopmentPythonProgrammingWriting programs with OOPComplex Python Code
OverviewCourse outlineCourse materialsPrerequisitesMethod & grading

Overview

During this course, students will practice software development with python. We will learn OOP concepts and dive deep into using the full power of python to create elegant and efficient code. Topics include: “magic functions”, inheritance, polymorphism, callables and decorators. Most of the course time is devoted to work on practical exercises and mini-projects.

Learning highlights

  • To get a full understanding of python.
  • To become competent with both basic and advanced python concepts.
  • To become competent with the most important general programming notions.

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

Python refresher coding session. Workflow setup.

Tuesday
2

Session 2

OOP basics – classes and objects. Attributes and methods. Coding session.

Wednesday
3

Session 3

OOP concepts-1. Abstraction and inheritance. Coding session.

Thursday
4

Session 4

OOP concepts-2. Encapsulation. Some of the “magic” methods. Coding session.

Friday
5

Session 5

Polymorphism in python. More magic methods. Operators overloading. Coding session.

Monday
6

Session 6

Handling errors within a program. Exceptions. Coding session.

Tuesday
7

Session 7

Python functions as first-class objects. Currying. Decorators. Callable classes. Coding session.

Wednesday
8

Session 8

Advanced handling of python lists and tuples. List comprehension, generators and iterators. Coding session.

Thursday
9

Session 9

Python modules and packages. Installing packages with pip or conda. Creating your own package. Practice session.

Friday
10

Session 10

Useful modules from the standard library. Logging. Serialization with pickle. Coding session.

Monday
11

Session 11

QA approaches in software development. Unit testing. TDD approach. Practice session.

Tuesday
12

Session 12

Final projects setup. Basics of algorithms complexity recap. Complexity of different data structures in python. Hash table idea.

Wednesday
13

Session 13

Popular python packages for different applied areas. Coding session.

Thursday
14

Session 14

Final test.

Friday
15

Session 15

Final projects presentation.

Prerequisites

Be comfortable with the basics of programming (variables, loops, functions etc.) – preferably with python.

Be able to use basic tools from a software developer arsenal – git, code editor, linux/mac/windows shell – at least on a basic level.

Methodology

Sessions consist of mini-lessons, workshops, and individual work-on assignments. Most of the class time will be spent on programming or tools practicing. At first, students will practice together with the teacher and then alone, with their projects. Note that homework and mini-projects are important and graded work.

Grading

The final grade will be composed of the following criteria:
30% - Homework
30% - Exam
30% - Final Project
10% - In-class exercises and activity
Serhii Denysov

Faculty

Serhii Denysov

Senior algorithms R&D at drawer.ai, Programming and math university teacher.

Serhii has worked in the software engineering industry in different positions for many years. Roles included software developer, system architect, IT consultant, project manager and CTO. He is also an experienced educator and is always glad to help students learn how to start having fun with programming and math and become top-level software developers or R&D engineers.

He has taken part in a long row of business automation projects for different businesses, with many small and several big projects, such as one of the biggest outdoor advertising agency in Ukraine and a country-wide software cash registers company, processing millions of transactions per day. Now he is a senior algorithms R&D in a highly dynamic startup drawer.ai.

See full profile

Apply for this course

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

Intro to Programming 2: Python

by Serhii Denysov

Total hours

45 Hours

Dates

Nov 27 - Dec 15, 2023

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.