Applied Informatics

Up Down What is Applied Informatics?

Informatics is the science of the systematic and automatic processing of information.
Research is done in the areas of:
Studends are prepared to work in fields such as: In my eye informatics is very much the same as computer science. The term 'informatics' implies a closer relationship to information and coding theory as well as formal methods. The Faculty of Mathematics, which offers the Applied Informatics degree, seems to like this association more than that of computer science, which sounds somewhat like bit crunching machines. Nevertheless, they might as well have called it computer science.

The attribute 'Applied' in Applied Informatics refers to the fact that students of Applied Informatics have the opportunity to include ten percent more courses of a different field of science, such as biology, physics, business etc., into their studies than in regular Informatics programs.

Computer scientists work in a number of fields during their professional life. A sound knowledge of the area of application is required to adequately solve its problems. Students of Applied Informatics have the chance to do in depth studies in such an area during their university education.

Up Down Work Samples

Here are a few examples of my work, some related to courses I took at the university, some from private explorings and internships (with permission).
Note: The following examples have all been compiled and tested. However, do not use the code in critical applications without further, thorough testing! I take on no responsibility for any damage which migth come from the use of these examples!

C

The following examples originate from the C-Praktikum and Informatik- Praktikum. The C-Praktikum was dominated by pattern- and stringmatching algorithms, because the instructor specialized in biological sequence analysis. The programming assignments are passed out to groups of two students (extreme programming) in the Informatik-Praktikum, my partner was Daniel Fredrich.

Perl

The following examples in perl stem from personal exploring. Object oriented programming in perl is very interesting because you have to watch details which are normally taken care of by the language system.

Java

Java is a fun, easy to learn object oriented language. The bezier-curve-program uses the De Casteljau algorithm. It can display multiple bezier curves in two modes. All parameters of the algorithm can be modified by slide rulers and the effects on the bezier-curves is displayed.

LaTeX

The following sty-file implements the rules for bachelor- and master's thesis at the Faculty of Forest Science & Ecology at Georgia-Augusta. Personally, I believe their are better styles.

JavaScript

The similarities of Java and JavaScript end with the names. Nevertheless, JavaScript provides an elegant way to bring dynamic behavior to a webpage.

Shell Scripting

Shell-scripting is somewhat awkward :-). I prefer to use perl instead. Nevertheless, it comes in handy sometimes.

Visual Basic

Part of the work of the team 'Strategies of forest management' under the direction of O. Thees and R. Lemm at the WSL in Birmensdorf (Zürich) is to develop software which provides decision support based on the results of cutting edge research. I spent an internship designing and implementing a software component (COM) in their team and had a great time.

The work included the design of a timber sorting algorithm. Although this can be done in numerous ways the algorithm guarantees to find the optimal solution according to freely specifyable sorting standards and weighting functions. A heuristic algorithm is provided for faster computation. See Sortieralgorithmus for further documentation (German).

Further Languages

I have worked with a few other languages, including c++ (Templates & generative programming), php and mathematica. Generally, I should do fine with any imperative programming language, with structured and object oriented programming. I have looked into prolog a little (sw-prolog), but I have most experience with imperative, rather than functional or logic, languages.

Up Down Object Oriented Analysis of Forest Growth and Yield

Abstract

Forest growth and yield models are developed to assist in decision-making and model validation by providing information. The content and quality of this information varies from model to model.

Simulation models can be classified by similarities in their structure. Common types of forest growth and yield models include stand and single-tree models which can be distance-dependent or distance-independent.

Nevertheless, all types of forest growth and yield models have to deal with characteristic features of forest ecosystems and management. These include different scales in time and space, longevity, stand structure, system openness and the multitude of different interests in forest management.

There are many approaches to modeling natural phenomena. Object oriented modeling is one. The key advantage of object oriented modeling is its relatedness to the nature of human thought.

Time is often implicitly 'wired' into a program. Nevertheless, it is an important part of a model. Modeling the changing state of objects in time with a sequential program can cause problems. One such problem is the loss of information about the prior state(s) of an object while it is still needed by another object. The time-chain provides an elegant solution to this problem.

The definition of the classes which are the backbone of a model is of prime interest. The types should be useful in most kinds of forest growth and yield models to ensure compatibility while not exploding in size.

A forester, forest worker, storm or herd of animals can be seen as visitors to a stand. Interventions and other actions, even growth models, can be brought to a stand by appropriate visitors. Combining the visitor pattern with a set of common base types allows great flexibility and extensibility.

Up Home