Skip to main content

Object-Oriented Programming (5 cr)

Code: 5000BK77-3005

General information


Enrollment

29.11.2023 - 13.01.2024

Timing

08.01.2024 - 30.04.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages

  • English

Seats

30 - 70

Degree programmes

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

Teachers

  • Anne Jumppanen
  • Annukka Kinnari
  • Ali Khan

Teacher in charge

Anne Jumppanen

Groups

  • PTIETS22sepm
    PTIETS22 Software Engineering and Project Management
  • PTIVIS22O
    Software Engineering and Project Management
  • 09.01.2024 10:00 - 13:00, OO Lectures and exercises, Olio-ohjelmointi 5051125-3032
  • 12.01.2024 14:00 - 16:00, OO Exercise demo, Olio-ohjelmointi 5051125-3032
  • 16.01.2024 10:00 - 13:00, OO Lectures and exercises, Olio-ohjelmointi 5051125-3032
  • 19.01.2024 09:00 - 11:00, OO Exercise demo, Olio-ohjelmointi 5051125-3032
  • 23.01.2024 10:00 - 13:00, OO Lectures and exercises, Olio-ohjelmointi 5051125-3032
  • 26.01.2024 14:00 - 16:00, OO Exercise demo, Olio-ohjelmointi 5051125-3032
  • 30.01.2024 10:00 - 13:00, OO Lectures and exercises, Olio-ohjelmointi 5051125-3032
  • 02.02.2024 14:00 - 16:00, OO Exercise demo, Olio-ohjelmointi 5051125-3032
  • 06.02.2024 10:00 - 13:00, OO Lectures and exercises, Olio-ohjelmointi 5051125-3032
  • 09.02.2024 14:00 - 16:00, OO Exercise demo, Olio-ohjelmointi 5051125-3032
  • 13.02.2024 10:00 - 13:00, OO Lectures and exercises, Olio-ohjelmointi 5051125-3032
  • 16.02.2024 14:00 - 16:00, OO Exercise demo, Olio-ohjelmointi 5051125-3032
  • 27.02.2024 10:00 - 13:00, OO Lectures and exercises, Olio-ohjelmointi 5051125-3032
  • 01.03.2024 14:00 - 16:00, OO Exercise demo, Olio-ohjelmointi 5051125-3032
  • 04.03.2024 09:15 - 12:00, OO Lectures and exercises, Olio-ohjelmointi 5051125-3032
  • 06.03.2024 12:00 - 14:00, OO Exercise demo, Olio-ohjelmointi 5051125-3032
  • 11.03.2024 09:15 - 12:00, OO Lectures and exercises, Olio-ohjelmointi 5051125-3032
  • 13.03.2024 12:00 - 14:00, OO Exercise demo, Olio-ohjelmointi 5051125-3032
  • 18.03.2024 09:15 - 12:00, OO Lectures and exercises, Olio-ohjelmointi 5051125-3032
  • 20.03.2024 12:00 - 14:00, OO Exercise demo, Olio-ohjelmointi 5051125-3032
  • 25.03.2024 09:15 - 12:00, OO Lectures and exercises, Olio-ohjelmointi 5051125-3032
  • 27.03.2024 12:00 - 14:00, OO Exercise demo, Olio-ohjelmointi 5051125-3032
  • 08.04.2024 09:15 - 12:00, OO Final Exercise demonstrations, Olio-ohjelmointi 5051125-3032
  • 09.04.2024 09:15 - 12:00, OO Final Exercise demonstrations, Olio-ohjelmointi 5051125-3032
  • 15.04.2024 09:15 - 12:00, OO Exercise demo, Olio-ohjelmointi 5051125-3032
  • 16.04.2024 10:00 - 12:00, OO Exercise demo, Olio-ohjelmointi 5051125-3032
  • 23.04.2024 10:00 - 12:00, OO Exercise demo, Olio-ohjelmointi 5051125-3032

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

All the learning materials are mentioned in ItsLearning

Teaching methods

The course is structured as separate lectures and demo sessions. During the lectures, the teacher will go through the theory and the students are coding some exercises together with the teacher using their own computers.

Reading the given material and coding the programming exercises and exercise work.

Demonstrating and documenting the exercises and exercise work.

Exam schedules

There is no exam in this course

International connections

Self assessment
Student regularly pays attention to own learning and studying.
Students are asked to take notes from each programming exercise and contemplate at least the following:
* Topic area: What did I know about the topic beforehand? What did I think about the area?
* While coding: Thoughts about the challenge level and interest of the exercise.
* Afterwards: What did I learn?

Moreover, students learn to assess their own work regarding every assignment using scale: Excellent - Good - Sufficient.

Completion alternatives

1) Demonstrate e.g. a real work life project and showing that student masters the contents of this course.

2) mooc.fi contains a programming MOOC, whose contents covers the Introduction to Programming and Advanced Programming courses of the University of Helsinki. Courses are 10 credits together (5+5). Object oriented course can be alternatively completed by completing the second part of the course (i.e., parts 8 to 14).

Student workload

To pass this course requires acceptably finished coding exercises as well as exercise work and return in time.

5 credits: 27 * 5 = 135 hours

Weekly work amount: 135 hours / 14 weeks = 9.5 hours a week.

Content scheduling

The exercises in this course are done with Python

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

Further information

The main information channel is ItsLearning

Evaluation scale

H-5

Assessment methods and criteria

The course contains 8 weekly exercises and an exercise work (that corresponds 4 weekly exercises). They can contain both programming theory and coding.

Each exercise has several tasks, from which points are given. Maksimum points from each exercise is 10 and from all exercises is 120.

Grade is formed based on the number and quality of acceptably finished exercises and the presence at class:

less than 60 points -> grade 0
60 points -> grade 1
72 points -> grade 2
84 points -> grade 3
96 points -> grade 4
108 points -> grade 5
Presence less than 75 % on the Friday lectures (without an acceptable reason) reduces the exercise points by 10%.
Acceptable reason to skip lectures is illness (or sudden tragedy in immediate family). Please inform teacher in advance if you cannot make it to the lecture. Working or holiday trip etc. are not acceptable reasons for absence.

Assessment criteria, fail (0)

Grade is fail if less than 60 points is achieved from exercises and/or exercises are very insufficient or of very poor quality.

Assessment criteria, satisfactory (1-2)

Grade is satisfactory (1-2) if 60 - 71 points is achieved and exercises are done in time. Exercises may contain minor (quality) issues.

Assessment criteria, good (3-4)

Grade is good (3-4) if 72 - 107 points is achieved, exercises are done in time and they are well done.

Assessment criteria, excellent (5)

Grade is excellent (5) if at least 108 points is achieved, exercises are done in time and the quality is excellent.