Skip to main content
Till KTH:s startsida Till KTH:s startsida

HI1027 Object Oriented Programming 8.0 credits

Choose semester and course offering

Choose semester and course offering to see current information and more about the course, such as course syllabus, study period, and application information.

Application

For course offering

Autumn 2024 Start 26 Aug 2024 programme students

Application code

50011

Headings with content from the Course syllabus HI1027 (Spring 2024–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

  • Principles of object-oriented programming: encapsulation, abstract data types, interfaces, high cohesion, and low coupling
  • Classes and objects, relations between objects and classes, inheritance, and interface, polymorphism
  • Introduction to implementation of abstract data types and object-oriented design patterns
  • Generics
  • Syntax and implementation in an object-oriented language
  • Excptions and exception handling
  • Streams for reading from, and writing to, other devices, such as files and applications
  • Thread programming
  • Garphical user interfaces and event handling
  • Functional programming in object-oriented languages: functional interfaces, streams, lambda expressions

Intended learning outcomes

The course will give students the basics of object-oriented thinking in programming as well as good knowledge of syntax and programming techniques in an object-oriented language.

For a passing grade, students must:

1.       Describe object-oriented principles such as encapsulation, abstract data types, interfaces, inheritance, high cohesion, and low coupling

2.       Based on a straightforward problem description, develop an object-oriented model for implementation, with classes, members, methods, and relationships, that follow object-oriented principles

3.       Describe some common object-oriented design patterns

For a passing grade, the student must also, in specific object-oriented language, be able to:

4.       Implement classes, and objects, following object-oriented principles such as encapsulation, distinct interfaces, inheritance, high cohesion, and low connectivity

5.       Implement common data types such as list, queue, and stack as well as some common design patterns

6.       Use exceptions to signal errors and handle them at an appropriate level in the application

7.       Implement multi-threaded applications and protect shared data from synchronization issues

8.       Write applications with graphical interfaces and event handling

Literature and preparations

Specific prerequisites

HI1024 Computer Programming, Basic Course, or corresponding course

Recommended prerequisites

No information inserted

Equipment

No information inserted

Literature

No information inserted

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale

A, B, C, D, E, FX, F

Examination

  • LAB1 - Mandatory laboratories, 4.5 credits, grading scale: P, F
  • TEN1 - Written examination, 3.5 credits, grading scale: A, B, C, D, E, FX, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

Written exam, TEN1, 3.5 credits (ECTS) A-F. The exam contains both theoretical and  practical portions.
Lab assignments, LAB1, 4.5 credits (ECTS) A-F.

The final grade is based on all parts of the examination.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted

Examiner

Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

Course room in Canvas

Registered students find further information about the implementation of the course in the course room in Canvas. A link to the course room can be found under the tab Studies in the Personal menu at the start of the course.

Offered by

Main field of study

Technology

Education cycle

First cycle

Add-on studies

No information inserted

Contact

Anders Lindström (anderslm@kth.se)