Java Programming
(Rechnerpraktikum aus Programmierung - Vertiefungskurs I Informationswirtschaft)

Albert Weichselbraun

Date: April 5, 2011


1 General Information

  • Lecturer: PD Dr. Albert Weichselbraun
  • Counseling hours: Monday 8:00-9:30am
  • Time: Tuesday 10:00-12:00pm, (PC7, UZA-II)
  • Course language: English

1.1 Requirements

Basic programming and modeling skills (completed lectures ``Grundzüge der Modellierung'' and ``Grundzüge der Programmierung'').

1.2 Assessment

The assessment consists of lab work, a test and a programming project.

  • participation and work in labs: 20%
  • test: 25%
  • software project: 55%
    • documentation: 20%
    • implementation: 35%
You need at least 50% and a completed programming project to pass this lecture.

1.3 User Account

You may use the PC7 lab (Monday-Friday: 8am-9pm, Saturday 9am-5pm) during the semester in which you have registered for this course. If this is the first time that you have subscribed to a class in PC7, we will e-mail you your account data to your university account.

2 Unit Aims and Schedule

Students extend an existing software project (a role-playing game) using project management and software engineering technology. The software project is either performed alone or together with another student.

This lecture covers the following topics:

  • repetition and verification of the required programming and modeling skills.
  • introduction to the program environment (Eclipse, Subversion, ...)
  • software project (Section 3)
    • requirement specification
    • project plan
    • modeling
    • implementation
    • deployment and presentation


  • 8 March 2011: introduction, Java Collections
  • 15 March 2011: Java GUIs with Swing
  • 22 March 2011: introduction of the project framework; Java 2D; assessment of the programming topics
  • 29 March 2011: test, discussion of the requirement specification
  • 5 April 2011: completed project plan and modelling
  • 31 May 2011: presentation of the software project

3 Software Project

The goal of the software project is to implement plug-ins for an existing role-playing game, which provide additional quests or extend the game's existing functionality.

3.1 Past Projects

3.2 Required Project Steps and Documentation

3.2.1 Requirement Specification

The requirement specification outlines the plug-ins requirements and specifies
  • the project's topic (what is the purpose of your plug-in) and
  • and functions (what functions are you going to provide)
Please upload the requirement specification into the directory public_html/ap/projekt.

3.2.2 Modeling

The project modeling comprises the following diagrams
  • use-case diagram,
  • class diagram,
  • activity diagram and
  • sequence diagram

3.2.3 Project Plan

A Gantt chart which illustrates the project schedule on a class level.

3.2.4 Implementation and Documentation

Your plug-in needs to be implemented in Java and runnable in the lab. The program documentation should be auto-generated using JavaDoc.

3.2.5 Deployment and Presentation

All projects are presented in the course's last unit. All implementation and documentation steps need to be finished by then. Please upload your application and documentation to the following directories:
  • public_html/ap/project: complete project documentation (requirement specification, project plan, modeling) as HTML or PDF files.
  • public_html/ap/java: source code of your Java application.
  • public_html/ap/javadoc: auto-generated JavaDoc program documentation.

The students are expected to provide a short (< 5 minutes) presentation of their plug-in. Afterwards their will be a discussion of the program's source code and modeling.

4 Recommended Tools

4.1 Modeling

  • Dia for creating UML diagrams and
  • Planner for the project plan.

4.2 Programming Environment

Eclipse using the Subversive plug-in for version control and accessing the Subversion repository. A documentation outlining the Subversive Installation Process can be found here.

Subversion Repository Configuration:

  1. User : j+matriculation number
  2. Password: your PC7 password
  3. URL :
  4. Project : Moelltal

Attention: Please verify that the Eclipse encoding settings are set to UTF-8 ( Project -> Properties -> Resource -> Text file encoding -> UTF-8).

4.3 Subversion Web Access

Access to the subversion repository has been disabled.

4.4 Project Wiki

The Project Wiki contains information regarding the role-playing framework; extending and improving this information is encouraged and yields additional lab points; you need to register to change the Wiki's contents.

A. Appendix

A.1 Literature

  • Bruce Eckel: ``Thinking in Java'', Prentice Hall; 4 edition (February 20, 2006)
  • Java API
  • Java Documentation
  • A very good Java Swing Tutorial
  • Version Control with Subversion - a free subversion book.

A.2 Resources

A.3 Slides

A.4 Code Examples

A.4.1 Lecture

A.4.2 Sample Solutions

A.5 Print Version

The print version of this page is available at (pdf/anwendungsprojekt.pdf).