HI1007 Object Oriented Programming with Java 7.5 credits

Objektorienterad programmering med Java

  • Educational level

    First cycle
  • Academic level (A-D)

    A
  • Subject area

    Information Technology
    Techonology
  • Grade scale

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

At present this course is not scheduled to be offered.

Learning outcomes

The aims of this course are to provide the participants basic knowledge about object-oriented development and in-depth knowledge about syntax and programming techniques in Java.

To obtain the grade E, the student should be able to

  • describe the different  phases in object-oriented software development.
  • develop simple models, that can be used for implementation of  applications, using the concepts of object-orientation.
  • describe the model using the Unified Modelling Language,
  • implement classes that, when possible, can be reused in similar contexts.

To obtain the grade E, the student should also, using the object-oriented language Java, be able to

  • use an IDE to implement, debug and execute Java applications.
  • implement structured applications, using object-oriented principles like data abstraction and encapsulation, that are easy to maintain and further develop.
  • use inheritance to extend and override the functionality of classes.
  • implement polymorphic code.
  • use exception-handling to handle run-time errors.
  • use streams to read and write data from/to different types of sources/targets.
  • implement concurrent applications using threads, describe problems related to concurrent programming and how to solve these problems.
  • implement event driven applications.
  • implement applications with simple graphical user interfaces.
  • Describe, and in simple cases implement, the Model-View-Controller pattern.

To obtain higher grades, the student should also be able to

  • use the methods in object-oriented analysis and design to develop models of more complex applications.
  • design and implement flexible and reusable software solutions using object-oriented principles.

Course main content

  • Basic concepts in object-oriented programming: abstract data types, encapsulation, reuse.
  • Principles of object-oriented programming: classes/objects, relations, inheritance, polymorphism.
  • Object-oriented software development: analysis, design and implementation.
  • Unified Modelling Language: use cases, class diagrams and sequence diagrams.
  • Syntax and implementation in Java
  • Exception-handling.
  • Streams.
  • Concurrent programming.
  • Graphical user interfaces and event driven programming.

Eligibility

HI1900, Computer Programming, Basic Course, or corresponding course

Literature

One of theese (student´s choice).

Object-oriented Software Development Using Java, 2nd edition, Xiaoping Jia, Addison Wesley, ISBN 0-321-21073-5

Introduction to Java Programming, Comprehensive version, 7th edition, Y. Daniel Liang, Pearson Education, ISBN 0-13-605966-X

Examination

  • TEN1 - Examination, 3.0 credits, grade scale: A, B, C, D, E, FX, F
  • ÖVN1 - Exercises, 4.5 credits, grade scale: A, B, C, D, E, FX, F

Requirements for final grade

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

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

Offered by

STH/Computer and Electrical Engineering

Contact

Anders Lindström, anders.lindström@sth.kth.se

Examiner

Anders Lindström, anders.lindström@sth.kth.se

Version

Course plan valid from: Autumn 10.
Examination information valid from: Autumn 07.