Skip to main content

Object-Oriented Programming (5 cr)

Code: 5051125-3016

General information


Enrollment

01.12.2020 - 15.01.2021

Timing

11.01.2021 - 30.04.2021

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages

  • English

Degree programmes

  • Degree Programme in Information and Communication Technology
  • Degree Programme in Information and Communications Technology

Teachers

  • Tiina Ferm

Groups

  • PTIVIS19S
    Embedded software and IoT

Objective

After completing the course the student can:
- explain the different phases and main methods of the development of a software product
- explain the concepts class hierarchy, inheritance, and polymorphism, and utilize these in software development
- discuss the possibilities of parallel programming
- apply exception handling mechanisms
- design, implement and document a simple user interface application.

Content

- object-oriented structures
- error handling with exceptions
- threads
- database connection
- software development process and methods
- UML diagrams

Materials

Programming tools used:

Anaconda Navigator is a portal containing links to programming tools, tutorials and communities.
Examples and model answers are presented using Spyder for editing, managing modules and files, executing code in the console, and checking the code style. Spyder is included in Anaconda Navigator portal.


Links to recommended reading and exercises:
SoloLearn

This course covers SoloLearn (Android , IOS) Learn Python 3 module Object-Oriented Programming sub modules 1-9

Python.org

Python tutorial chapter 9

Python 3.7.3 documentation

Documentation

w3schools


w3schools topics Python Classes/Objects, Python Inheritance, Python Modules

Recommended literature:
Python 3 Object Oriented Programming by Dusty Phillips, ISBN-13: 978-1849511261


Learning Python: Powerfull Object-Oriented Programing, 5th Edition, by Mark Lutz

Mastering object-oriented Python : grasp the intricacies of object-oriented programming in Python in order to efficiency build powerful real-world applications by Steven F. Lott

Teaching methods

learning by programming

Completion alternatives

The course can be compensated with an exam 18.1.2021 12.15-16.00. Enrol with email and tell which programming language you will use e.g. java, python, C# ...

Student workload

reading the material 10* 3 h= 30 h
doing the network exercises 10* 3 h= 30 h
doing the programming exercises 10* 4 h= 40 h
project 35 h
total 135 h student work

Content scheduling

The learning is based on doing
- introductory exercises to review basics programming skills (3 weeks)
- network exercises
- programming exercises
- to support the learning there are weekly introductory videoed lectures on the topic and exercises
- weekly labs for presenting the exercises and getting support prior returning the exercises (7 weeks)
- programming project work (3 weeks)

Further information

Course platform is itslearning

Evaluation scale

H-5

Assessment methods and criteria

Assessment is completely based on exercises.
- 40% network exercises
- 40% programming exercises NOTE! exercises returned late are not assessed
- 20% programming project

Assessment criteria, fail (0)

< 40% of accessed exercises

Assessment criteria, satisfactory (1-2)

40-59%

Assessment criteria, good (3-4)

60-79%

Assessment criteria, excellent (5)

>80%

Qualifications

Introduction to Programming or equivalent programming skills