Object-Oriented Programming with Java (5 ECTS) 173226

Olio-ohjelmointi (5 op = 3 ov) 173226

Instructor: Dr. Eugene Ageenko.

The course was taught in 2001 - 2005. Curently, the course is taught by Dr. Alexander Kolesnikov

The course gives in depth description of theoretical principles and concepts that lies behind Object-Oriented Programming, as well as training of practical skills in OOP software development using Java Web programming. The course covers such OOP aspects as, OOP thinking paradigm, message passing, information hiding, classes, interfaces and implementations, instantiation and initialization (constructors), mechanisms for software reuse, inheritance and delegation, replacement and refinement, polymorphism and substitutability, concept reuse and application frameworks, Web development with Java API, GUI, event delegation, painting in Java; as well as recently introduced advanced topics, such as refactoring and reflection, and conceptual programming using generics and templates. The course contains an obligatory project work.

ORIGINAL COURSE CONTENT:

  1. Introduction
    1. Why OOP, Brief history of OOP, Why Java?
    2. Java language essentials structures:
      • types, variables, operators, expressions, statements, control flow, arrays, strings
  2. Theoretical foundation of OOP
    1. OOP paradigm and principles:
      • message passing, information hiding, object instantiation, class hierarchies, task delegation,
    2. Programming in the small vs. in the large
  3. Object-oriented Programming (with Java)
    1. Encapsulation:
      • Classes, interface and implementations, control of visibility, instantiation and initialization (constructors), methods and message passing
    2. Inheritance:
      • Properties, forms of inheritance, benefits and costs of inheritance
    3. Mechanisms for software reuse:
      • Polymorphism, composition and inheritance (Is-A and Has-A relationships), replacement and refinement, object constructions, interfaces, limitations of polymorphism in Java, future of software reuse
  4. Frameworks:
    1. Reuse of the concept principle:
      • Frameworks in Java, Java Input/Output framework, The Java Application Framework, Web development - The Applet API
    2. Principles of Java GUI:
      • Interactive components, event delegation model, inner classes and adapters, layout managers, painting on the screen, advanced GUI issues,
      • Standalone GUI applications


FEEDBACK:

ALT="Your browser understands the <APPLET> tag but isn't running the applet, for some reason." Your browser is ignoring the <APPLET> tag!