Die Kunst des Programmierens...



Ähnliche Dokumente
Preisliste für The Unscrambler X

Daten haben wir reichlich! The unbelievable Machine Company 1

Was meinen die Leute eigentlich mit: Grexit?

KURZANLEITUNG. Firmware-Upgrade: Wie geht das eigentlich?

Formwerk AG. Die Sicherstellung konsistenter Nutzungserlebnisse über den gesamten SW-Produktlebenszyklus durch Human Centered Design.

Einkommensaufbau mit FFI:

Kurzanleitung um Transponder mit einem scemtec TT Reader und der Software UniDemo zu lesen

BartPE. Dokumentation. Projektarbeit Network Services. Dozent: Wolf-Fritz Riekert. Belmondo Kovac. Autor: Andreas Dinkelacker, 3.

Cloud Architektur Workshop

miditech 4merge 4-fach MIDI Merger mit :

English. Deutsch. niwis consulting gmbh ( manual NSEPEM Version 1.0

Technical Support Information No. 123 Revision 2 June 2008

MobiDM-App Handbuch für Windows Mobile

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

ISO/IEC 27001/2. Neue Versionen, weltweite Verbreitung, neueste Entwicklungen in der 27k-Reihe

Einführung in die Robotik Einführung. Mohamed Oubbati Institut für Neuroinformatik. Tel.: (+49) 731 / mohamed.oubbati@uni-ulm.de

GURUCAD - IT DIVISION CATIA V5 PLM EXPRESS CONFIGURATIONS Hamburg, 16th February 2010, Version 1.0

Aufbau eines IT-Servicekataloges am Fallbeispiel einer Schweizer Bank

SMART Newsletter Education Solutions April 2015

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Algorithmische Kryptographie

CarMedia. Bedienungsanleitung Instruction manual. AC-Services Albert-Schweitzer-Str Hockenheim

Informationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Arbeit zur Lebens-Geschichte mit Menschen mit Behinderung Ein Papier des Bundesverbands evangelische Behindertenhilfe e.v.

Installation mit Lizenz-Server verbinden

AUFBAUPROGRAMME YOU ONLY LIVE ONCE, BUT IF YOU DO IT RIGHT, ONCE IS ENOUGH.

Softwaretechnik. Lean Software Development. Prof. Dr. Matthias Hölzl Joschka Rinke. 21. Januar 2016

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Tutorial: Homogenitätstest

Erster Bug: eine Motte

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Normerfüllung in der Praxis am Beispiel "Tool Qualification" Dr. Anne Kramer, sepp.med gmbh

Künstliches binäres Neuron

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

EMV und Medizinprodukte

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

1. Was ihr in dieser Anleitung

IT-Beratung: Vom Geschäftsprozess zur IT-Lösung

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Presse-Information

Evangelisieren warum eigentlich?

CERTIFIED FINANCIAL ENGINEER (CFE) EDUCATION IS THE KEY

EEX Kundeninformation

. Sage-Einsatz in der Lehre. Open Source Mathematik-Software. Jochen Schulz. Georg-August Universität Göttingen 1/15

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Resultate GfS-Umfrage November Wie bekannt ist das Phänomen Illettrismus bei der Schweizer Bevölkerung?

Der Gabelstapler: Wie? Was? Wer? Wo?

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

Zubehör für mehrpolige Steckverbinder

AK Medientechnologien 05 Delegation

Kara-Programmierung AUFGABENSTELLUNG LERNPARCOURS. Abb. 1: Programmfenster. Welt neu erstellen; öffnen; erneut öffnen; speichern; speichern unter

Warum reicht Zähneputzen nicht?

Blitzlicht: MES Produktionsplanung und Unternehmensmodelle IEC Integration von Unternehmensführungs und Leitsystemen

für die Anerkennung von im Ausland erbrachten Studienleistungen ECTS Kursbezeichnung Prio 1: Alternative 1: Alternative 2:

Dominik Stockem Datenschutzbeauftragter Microsoft Deutschland GmbH

Business-Analyse Probleme lösen, Chancen nutzen

Customer-specific software for autonomous driving and driver assistance (ADAS)

Study guide written by René Koglbauer

Summer Workshop Mehr Innovationskraft mit Change Management

Die fünf Grundschritte zur erfolgreichen Unternehmenswebsite

Handbuch. Artologik EZ-Equip. Plug-in für EZbooking version 3.2. Artisan Global Software

HP ALM. Was gibt es Neues und wo geht die Reise hin. Thomas Köppner, Technical Consultant, HP

Auswahl alter Klausuraufgaben aus einer ähnlichen Vorlesung Maßgeblich für die Prüfung sind die Vorlesungsinhalte!

Profiler s Academy. Geistiges Menthol, das Sinn und Sinne weckt! 1 standfestigkeit. Unerschütterlichkeit in schwierigen Situationen

28% der Schweizer sind Single das sind rund 1,5 Millionen Menschen zwischen Jahren

Themenblock 2: Datenmodellierung mit ERM

Entwicklung des Dentalmarktes in 2010 und Papier versus Plastik.

SanStore: Kurzanleitung / SanStore: Quick reference guide

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

Arbeit als Quelle des Unternehmenserfolges Anforderungen an ein modernes Management

FAMILIENSTAND ALLEINERZIEHENDE MÜTTER

Änderung der Sicherheitseinstellungen von konten

Über uns. Was bedeutet der Name traloco?

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Software-Qualität Ausgewählte Kapitel

Ihr Einkommensteuertarif:

Kybernetik Intelligent Agents- Action Selection

Studieren- Erklärungen und Tipps

Geld Verdienen im Internet leicht gemacht

Software Echtzeitverhalten in den Griff Bekommen

Papa - was ist American Dream?

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Wenn Russland kein Gas mehr liefert

Case Study SPEDI. Dr. Lothar Hofmann LL.M. Rechtsanwalt in Wien und New York

CABLE TESTER. Manual DN-14003

Lektion 3: Nominativ und Akkusativ (nominative and accusative cases)

Diese 36 Fragen reichen, um sich zu verlieben

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

Bedienungsanleitung User Manual

ITIL und Entwicklungsmodelle: Die zwei Kulturen

Anleitung über den Umgang mit Schildern

Transkript:

Die Kunst des Programmierens...

Wo die Kosten anfallen Der Mythos Wiederverwendung: Design für Wartung als eigentliches Ziel, Objekt Spektrum 4/2009

software maintainers sped 45 percent of their time seeking understanding of a change to be made, 35 percent of their time verifying the change once it is made, and only 20 percent of their time actually making the change [ ] they spend 80 percent of their time thinking Fjelstad, R.K and Hamlen, W.T. Application program maintenance study report to our respondents. Proceedings GUIDE 48, Philadelphia, PA, 1979. Nach: Robert Glass (2006). Software Creativity 2.0. developer.* books.

for every 25 percent increase in the complexity of a problem to be solved, there is a 100 percent increase in the complexity of the software reuquired to solve it Scott N. Woodfield: An Experiment on Unit Increase in Problem Complexity. IEEE Trans. Software Eng. 5(2): 76-79 (1979) Nach: Robert Glass (2006). Software Creativity 2.0. developer.* books.

Die Kunst des Programmierens... Die Aufgabe analysieren Lösung planen und umsetzen! Sonst passiert halt......was nicht sehr produktiv ist!

The [software] life cycle as universal problem-solving algorithm 1. Identify a problem 2. Define the requirements of the problem. 3. Design a solution to the problem. 4. Implement the design. 5. Test the implementation. 6. Use the implemented product. None of [these steps] is intrinsically software-specific. Robert Glass (2006). Software Creativity 2.0. developer.* books.

essence of creative design People composing design plans performed these steps: 1. Build a mental model of a proposed solution to the problem. 2. Mentally execute the model to see if it does indeed solve the problem. Often this mental execution (also called a simulation ) takes the form of providing sample input to the model to see if it produces correct sample output. 3. If the sample output is incorrect (as will often be the case in the early stages of design), the model is expanded to correct its deficiencies, then executed again. Robert Glass (2006). Software Creativity 2.0. developer.* books.

4. When the sample output finally becomes correct, another sample input is selected, and steps two and three are repeated. 5. When sufficient sample inputs have passed the test in step four, the model is assumed to be a suitable design model and representation of the design begins. the process is entirely cognitive at mind speeds the process is iterative, a trial-anderror process heuristic Robert Glass (2006). Software Creativity 2.0. developer.* books.

Kara, der Tunnelwächter Die Aufgabe: Kara soll den Tunnel in beiden Richtungen endlos ablaufen Die Analyse: Kara ist zu jedem Zeitpunkt in genau einer dieser fünf Situationen: Nur vor ihm ist kein Baum Nur links von ihm ist kein Baum Nur rechts von ihm ist kein Baum Links und rechts kein Baum Links, rechts und vorne Bäume braucht drei Sensoren:

Kara, der Tunnelwächter Die Analyse: Kara ist zu jedem Zeitpunkt in genau einer dieser 5 Situationen: Das Programm: Kara muss nur diese 5 (von allen möglichen 8) Situationen berücksichtigen: Nur vor ihm ist kein Baum Nur links von ihm ist kein Baum Nur rechts von ihm ist kein Baum Links, rechts und vorne Bäume Links und rechts kein Baum Dies ist nur eine von allen möglichen Lösungen!

Tunnelwächter - Programmtest Wo ist das Problem mit dem Programm? Ist das noch ein Tunnel?

Kara, der Bildbearbeiter Die Aufgabe: Kara soll das Kleeblatt-Bild um den Faktor 2 vergrössern. 1. Ausgangssituations analysieren 2. Aufgabe in einzelne Teilaufgaben unterteilen 3. Teilaufgaben lösen 4. Teilaufgaben zu ganzer Lösung zusammensetzen

Kara, der Bildbearbeiter 1. Ausgangssituations analysieren 2. Aufgabe in einzelne Teilaufgaben unterteilen 3. Teilaufgaben lösen 4. Teilaufgaben zu ganzer Lösung zusammensetzen

Kara, der Bildbearbeiter 1. Ausgangssituations analysieren 2. Aufgabe in einzelne Teilaufgaben unterteilen 3. Teilaufgaben lösen 4. Teilaufgaben zu ganzer Lösung zusammensetzen

Wozu sind Zustände gut? manchmal eine Frage des Programmierstils als Gedächtnis: was hat Kara schon erledigt? Beispiel: Aufgabe suche Tunnelausgang 1. enter : suche Tunneleingang (links und rechts eine Wand) 2. exit : suche Tunnelausgang (links oder rechts keine Wand) anderes Verhalten bei gleichen Situationen in den beiden Zuständen!