Skip to main content

ID1004 Object-oriented Programming 7.5 credits

Course offering missing for current semester as well as for previous and coming semesters
Headings with content from the Course syllabus ID1004 (Spring 2011–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

* Abstractions (methods and classes)* Data types, variables, type systems* Assignment, expressions* Sequence, selection, iteration* Method calls, parameter passing* The basics of object orientation -- classes, objects, messages, encapsulation* Library components (i.e. GUI components)* Basic event driven programming* Collections* Debugging* Design patterns* Simple program analysis

Intended learning outcomes

After the course, you must be able to:
• in your computing environment, write your own programs, make programs ready to run and
run them
• have an approach of attacking errors that occur during the above process - troubleshooting and correction of both syntactic and logical errors
• able to describe and discuss the problem-solving approach to
you used or would use the to solve a given programming problems
• be able to search and select appropriate software components from a class library
• have a basic understanding of compilers and debuggers
You show that you have achieved these objectives through the oral report on the work process and outcome of your driving when working with and reporting on the various programming tasks.
• self-tackle and solve a given programming task
• verbally describe and apply a problem solving approach and justify their own choices
• use the relevant program structures (methods, classes, etc.) to facilitate the solution of programming problems
• make sure that the solution meets the specified requirements (testing)
• use the basic features of a debugger
• able to use existing software components
• be able to reason about a program's qualitative aspects (eg in terms of time complexity, modularity, etc.)
You show that you have reached those goals by solving, writing, documenting and
orally present assignments.
• describe basic computer science concepts and relationships between
these concepts (selection, iteration, data types, variables, etc.)
• describe and discuss basic object oriented concepts (objects, classes, encapsulation, etc.)
• a description of a minor problem to write an algorithm
which solves the problem
• illustrate and explain an algorithm into an algorithm notation (eg
• be able to reason about a program's qualitative aspects (eg in terms of time complexity, modularity, etc.)
You show that you have achieved these objectives on the exam.

Course disposition

No information inserted

Literature and preparations

Specific prerequisites

Completed upper secondary education including documented proficiency in Swedish corresponding to Swedish B and English corresponding to English A. For students who received/will receive their final school grades after 31 December 2009, there is an additional entry requirement for mathematics as follows: documented proficiency in mathematics corresponding to Mathematics A. And the specific requirements of mathematics, physics and chemistry corresponding to Mathematics D, Physics B and Chemistry A.

Recommended prerequisites

No information inserted


No information inserted


John Lewis & William Loftus: Java Software Solutions (Edition/upplaga: 6), Addison Wesley, 2009

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


  • INL1 - Assignments, 4,5 hp, betygsskala: P, F
  • TEN1 - Examination, 3,0 hp, betygsskala: 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.

Other requirements for final grade

Pass grade on written exam and problem assignments

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


Profile picture Fredrik Kilander

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 web

Further information about the course can be found on the Course web at the link below. Information on the Course web will later be moved to this site.

Course web ID1004

Offered by

ICT/Software and Computer system

Main field of study


Education cycle

First cycle

Add-on studies

ID 1005 Algorithms and Data Structures