Ergebnisse der Untersuchung zur Eignung einer Programmiersprache für die schnelle Softwareentwicklung kann der Informatikunterricht davon profitieren?

Größe: px
Ab Seite anzeigen:

Download "Ergebnisse der Untersuchung zur Eignung einer Programmiersprache für die schnelle Softwareentwicklung kann der Informatikunterricht davon profitieren?"

Transkript

1 Ergebnisse der Untersuchung zur Eignung einer Programmiersprache für die schnelle Softwareentwicklung kann der Informatikunterricht davon profitieren? Zur Diplomarbeit: Eignet sich die Skriptsprache Python für schnelle Entwicklungen im Softwareentwicklungsprozess? Ingo Linkweiler, Okt Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 1

2 1.1 Ansatz (Thema der Diplomarbeit): Untersuchung der Programmiersprache Python für die schnelle Softwareentwicklung: Rapid Prototyping Extreme Programming Pair Programming Verfahren werden alltäglich eingesetzt. Praxisgenutzte Werkzeuge: Skriptsprachen wie Perl, Python und Tcl Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 2

3 1.2 Kann der Informatikunterricht davon profitieren? Parallelen bei den Anforderungen an die konkrete Programmiersprache? Hypothese: Anforderungen an eine Programmiersprache zur schnellen Softwareentwicklung ~= informatischen Bildung: Es ist möglich, beiden Anforderungen gerecht zu werden. Eignung der Programmiersprache Python? Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 3

4 2. Vorgehensweise Ziel: Beurteilung von Programmiersprachen. Anfragen / Diskussion zu Anforderungen an Programmiersprachen mit Informatikern Lehrern Kriterienkatalog(e) zur Beurteilung einer Programmiersprache Python: Auswertung, Sprachvergleiche, Fallstudien Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 4

5 3. Kriterien und Ergebnisse Schnelle Softwareentwicklung professioneller Entwickler Interessen Schüler, Ausbilder GUI Entwurf Rapid Prototyping Generatoren Bibliotheken Dokumentation Wiederverwendung? Portabilität Teamarbeit Lesbarkeit Fehlertoleranz?? Grundlagen Erlernbarkeit Algorithmen Leichte Syntax Orthogonalität? Gemeinsamkeiten? Konflikte? Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 5

6

7 3.2 Umfrage zur Lesbarkeit von Programmier Sprachen Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 7

8 4.1 Python Syntax: Kriterium integrierte Datentypen >>> zahl = >>> tupel = (7, 42) >>> text = Hallo. >>> print text*2 Hallo. Hallo. >>> komplex = complex(5, 2) >>> hash = {1: abc, 2: def } >>> liste = [0,1,2,3,4,5] >>> print liste[2:5] [2,3,4] >>> print liste[:3] [0,1,2] for i in liste: tuwas(i) Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 8

9 4.2 Kriterium: Einfach zum Ziel Java vs. Python Java class HelloWorld { public static void main(string[] args) { System.out.println("Hallo Welt."); } } Static? Public? Args? Void? Python print Hallo Welt. Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 9

10 Pascal program Test; var i: integer; i:=0; begin while i<10 do ;? begin i:=i+1; writeln(i); end; writeln( fertig. ); end. 4.3 Pascal vs. Python Python i=0 while i<10: i=i+1 print i print Fertig. Keine Deklaration u. Zeilentrenner, Blockbildung durch Einrücken Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 10

11 4.4 Paradigmen: Beispiel Wertetabelle # Imperativ / Prozedural von = 5 bis = 5 funktion = "x*x 10" for x in range(von,bis): print eval(funktion) # Objekt Orientiert class Funktion: def init (self, term): self.term=term def setze_wertebereich(self,von,bis): self.von=von self.bis=bis def ausgeben(self,x): print eval(self.term) def tabelle(self): for i in range(self.von,self.bis self.von): self.ausgeben(i) f=funktion("x*x 10") f.setze_wertebereich( 5,5) f.tabelle() Ausführung von Funktionen / Quelltext zur Laufzeit Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 11

12 # Funktional def auswerten(funktion,x): print eval(funktion) Paradigmen def tabelle(funktion,von,bis): map(auswerten, [funktion]*(bis von), range(von,bis)) tabelle("x*x", 5,5) Prädikative Programmierung (vgl. Prolog): möglich (Holmes, Pylog) wenig dokumentiert nicht in Syntax integriert Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 12

13 Prolog Prädikative Entwicklung Python+Holmes weg(rein,28). weg(28,37).... weg(43,61). weg(41,raus). rule f01 if true then weg rein nach 28. rule f02 if true then weg 28 nach rule f19 if true then weg 43 nach 61. rule f20 if true then weg 41 nach raus. weg(a,b): weg(b,a),!. gehe(raus,raus,weg). gehe(woher,raus,alterweg): weg(woher,a), nicht_drin(alterweg,a), gehe(a,raus,[a AlterWeg]). nicht_drin(liste,a): enthaelt(liste,a), write([ gehe zurueck nach,a]),nl,!,fail. nicht_drin(liste,a): write([ gehe nach,a]),nl. enthaelt([element _],Element). enthaelt([_ Tail],Element): enthaelt(tail,element). rule r1 if weg?a nach?b, weg?b nach?c then tour?a nach?c. rule r2 if weg?a nach?b, tour?b nach?c then tour?a nach?c.? tour rein nach raus. Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 13

14 4.5 Kriterium: Schnelle Entwicklung = Baukastenprinzip aus der Prototypentwicklung & Spielwarenabteilung. Idee: Kombination fertiger Bausteine / Komponenten zu etwas Neuem. Beispiel: Lesen einer Webseite per HTTP: import urllib datei = urllib.urlopen("http://www.uni dortmund.de") text = datei.read() datei.close() Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 14

15 import smtplib 4.6 Beispiel: E Mail versenden. def eingabe(prompt): return raw_input(prompt).strip() smtphost = eingabe("adresse des Mailservers: ") fromaddr = eingabe("von...: ") toaddrs = eingabe("an...: ") subject = eingabe("betreff...: ") msgtext = eingabe("nachricht..: ") # Erzeuge den Mail Header msg = ("From: %s\r\n To: %s\r\n Subject: %s\r\n\r\n" % (fromaddr, toaddrs, subject) ) # Nachricht anhängen msg = msg + msgtext server = smtplib.smtp(smtphost) server.sendmail(fromaddr, toaddrs, msg) server.quit() Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 15

16 4.7 Kriterium Lernsoftware Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 16

17 4.7.2 Funktionsplotter mit Von Stiften und Mäusen from sum import * # Objekte erzeugen bild = Bildschirm() stift = Stift(bild) # Mit Stift ein Diagramm zeichnen stift.bewegebis(10,10) stift.schreibe("funktionsplotter") stift.zeichnelinie(0,200, 639,200) stift.zeichnelinie(320,0, 320,399) for x in range( 20,20): stift.zeichnelinie( x*10+320,198, x*10+320,202) for y in range( 20,20): stift.zeichnelinie(318,y*10+200, 322,y*10+200) # Funktion einlesen print "Funktion eingeben:" funktion = raw_input("f(x)=") # Funktion zeichnen for x in range( 20, 20): y = eval(funktion) print "f(", x, ")=",y stift.bewegebis( x*10+320,200 y*10) stift.runter() bild.gibfrei() Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 17

18 4.7.3 Stifte & Mäuse: Java... vs.... Python public class RechteckProgramm4 { //Deklarationsteil private Bildschirm bildschirm; private Stift stift; private Maus maus; public void fuehreaus() { bildschirm=new Bildschirm(); stift = new Stift(); maus = new Maus(); stift.hoch(); stift.bewegebis(20,20); stift.zeichnerechteck(100,100); while (!maus.istgedrueckt()){;} maus.gibfrei(); maus=null; stift.gibfrei(); stift=null; bildschirm.gibfrei(); bildschirm=null } } bildschirm = Bildschirm() stift = Stift(bildschirm) maus = Maus(bildschirm) stift.hoch(); stift.bewegebis(20,20) stift.zeichnerechteck(100,100) while not maus.istgedrueckt(): pass maus.gibfrei() stift.gibfrei() bildschirm.gibfrei() Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 18

19 5. Fazit Hypothesen durch Kriterien und an Beispielen überprüft. (heute nur sehr kleinen Teil gezeigt) Anforderungen an eine Programmiersprache zur schnellen Softwareentwicklung ~= informatischen Bildung: Es ist möglich, beiden Anforderungen gerecht zu werden. Python und verfügbare Werkzeuge eignen sich sowohl zur schnellen Softwareentwicklung als auch zum Einsatz in der informatischen Bildung. Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 19

20 5.1 Diskussion: Kritik & offene Fragen Integration aller Paradigmen fachdidaktisch vorteilhaft? Lernziele? (Modellierung, Algorithmik, Anwendung) Praxisrelevanz (C++/Java) vs. Verständnis (Python) Wenig schulische Python Erfahrungen in Deutschland (gute in NL) Bedeutung integrierter grafischer Entwicklungsumgebungen? Ingo Linkweiler, Software im Internet: linkweiler.de/diplom Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 20

21 Beispiele...[PyNassi.py] u.a. Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 21

22 Inhalt: 1. Einleitung, Hypothese 2. Kriterien und Ergebnisse 3. Python 4. Fallstudien 5. Fazit Diplomarbeit, Universität Dortmund, Ingo Linkweiler, 22

Algorithmen und Programmieren II Einführung in Python

Algorithmen und Programmieren II Einführung in Python Algorithmen und Programmieren II Einführung in Python SS 2012 Prof. Dr. Margarita Esponda 1 Was ist Python? eine Skript-Sprache Anfang der 90er Jahre entwickelt. Erfinder: Guido van Rossum an der Universität

Mehr

Ingo Linkweiler, Ludger Humbert. Didaktik der Informatik Universität Dortmund D-44 221 Dortmund i.linkweiler@gmx.de ludger.humbert@cs.uni-dortmund.

Ingo Linkweiler, Ludger Humbert. Didaktik der Informatik Universität Dortmund D-44 221 Dortmund i.linkweiler@gmx.de ludger.humbert@cs.uni-dortmund. Ergebnisse der Untersuchung zur Eignung einer Programmiersprache für die schnelle Softwareentwicklung kann der Informatikunterricht davon profitieren? Ingo Linkweiler, Ludger Humbert Didaktik der Informatik

Mehr

Informatik ist viel mehr als Delphi-Programmierung!

Informatik ist viel mehr als Delphi-Programmierung! Gliederung 1. Objektorientierte Programmierung mit Object Pascal (5. Studienbrief, Kapitel 5) 9.4. + 16.4. 2. Software-Bausteine am Beispiel der Delphi-Komponenten (5. Studienbrief, Kapitel 5) 23.4. 3.

Mehr

Algorithmen mit Python

Algorithmen mit Python Algorithmen mit Python Vorbesprechung zum Proseminar im Sommersemester 2009 http://www.python.org 1 Sie lernen in DAP Java und C/C++: 80% Syntax, 20% Algorithmen-Design Idee Schon ein einfaches Hello World

Mehr

Programmieren mit Python in der Sek. 1

Programmieren mit Python in der Sek. 1 Programmieren mit Python in der Sek. 1 20.9.2010 Reinhard Oldenburg Überblick Kurzvorstellung: Was ist Python Didaktische Überlegungen zur Stellung des Programmierens Gründe für Python Beispiele Was ist

Mehr

Einführung in Python Teil I Grundlagen

Einführung in Python Teil I Grundlagen Einführung in Python Teil I Grundlagen Valentin Flunkert Institut für Theoretische Physik Technische Universität Berlin Do. 27.5.2010 Nichtlineare Dynamik und Kontrolle SS2010 1 of 22 Diese Einführung

Mehr

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere

Mehr

Ingo Linkweiler Ludger Humbert. Didaktik der Informatik Universität Dortmund D-44 221 Dortmund i.linkweiler@gmx.de

Ingo Linkweiler Ludger Humbert. Didaktik der Informatik Universität Dortmund D-44 221 Dortmund i.linkweiler@gmx.de Ergebnisse der Untersuchung zur Eignung einer Programmiersprache für die schnelle Softwareentwicklung kann der Informatikunterricht davon profitieren? Ingo Linkweiler Ludger Humbert Didaktik der Informatik

Mehr

Pragmatik von Programmiersprachen

Pragmatik von Programmiersprachen Pragmatik von Programmiersprachen Im Kontext der Notation von Quelltexten Mike Becker, 11. Dezember 2014 Szenario: IT Dienstleister Unternehmen: Produkte: Kunden: IT Dienstleistung Beratung und Software

Mehr

Programmierung in Python

Programmierung in Python Programmierung in Python imperativ, objekt-orientiert dynamische Typisierung rapid prototyping Script-Sprache Funktionales und rekursives Programmieren P raktische Informatik 1, W S 2004/05, F olien P

Mehr

Das Modulkonzept als wissenschaftlich fundierte Grundlage für die Schulinformatik

Das Modulkonzept als wissenschaftlich fundierte Grundlage für die Schulinformatik Das Modulkonzept als wissenschaftlich fundierte Grundlage für die Schulinformatik L. Humbert mailto:humbert@ls12.cs.uni-dortmund.de Universität Dortmund Fachbereich Informatik 1/20 Gliederung Das Modulkonzept...

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel. Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Programmieren 3. Programmieren in C und Python. Prof. Dr. Peter Barth. Hochschule RheinMain. Fachbereich Design Informatik Medien.

Programmieren 3. Programmieren in C und Python. Prof. Dr. Peter Barth. Hochschule RheinMain. Fachbereich Design Informatik Medien. Programmieren 3 Programmieren in C und Python Prof. Dr. Peter Barth Hochschule RheinMain Fachbereich Design Informatik Medien Medieninformatik 10. Dezember 2015 Prof. Dr. Peter Barth (HS-RheinMain) Programmieren

Mehr

Assertions (Zusicherungen)

Assertions (Zusicherungen) April 10, 2005 Oberseminar Software-Entwicklung Inhalt 1. Einführung (Motivation, Tony Hoare, Programmverifikation) 2. Design by Contract (Idee, Eiffel) 3. Praxis: Programming by Contract for Python 4.

Mehr

Der Lua Skripteditor Lua in der Messtechnik

Der Lua Skripteditor Lua in der Messtechnik Der Lua Skripteditor Lua in der Messtechnik 02.08.2014 Ingo Berg berg@atvoigt.de Automatisierungstechnik Voigt GmbH Lua in der Messtechnik Was ist Lua? freie Programmiersprache speziell entwickelt für

Mehr

Die freie Programmiersprache Python mit Beispielen für ihren praktischen Einsatz. Python User Group Köln www.pycologne.de

Die freie Programmiersprache Python mit Beispielen für ihren praktischen Einsatz. Python User Group Köln www.pycologne.de Die freie Programmiersprache Python mit Beispielen für ihren praktischen Einsatz Python User Group Köln www.pycologne.de Übersicht Python pycologne Anwendungsbeispiele Python Klar strukturierte Allzweck-

Mehr

KV Software Engineering Übungsaufgaben SS 2005

KV Software Engineering Übungsaufgaben SS 2005 KV Software Engineering Übungsaufgaben SS 2005 Martin Glinz, Silvio Meier, Nancy Merlo-Schett, Katja Gräfenhain Übung 1 Aufgabe 1 (10 Punkte) Lesen Sie das Originalpapier von Dijkstra Go To Statement Considered

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 1. Einführung und Grundbegriffe

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 1. Einführung und Grundbegriffe 1 Kapitel 1 2 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm, Compiler, Einordnung von Java Ein einfaches Java-Programm erstellen, übersetzen und ausführen Java-Programme dokumentieren 3 Informatik

Mehr

Fortgeschrittenes Programmieren mit Java. Test Driven Development

Fortgeschrittenes Programmieren mit Java. Test Driven Development Fortgeschrittenes Programmieren mit Java Test Driven Development Test getriebene Programmierung Benedikt Boeck Hochschule für Angewandte Wissenschaften Hamburg 6. November 2009 B. Boeck (HAW Hamburg) Test

Mehr

Ruby. Programmieren mit Zucker. Thomas Kühn

Ruby. Programmieren mit Zucker. Thomas Kühn Ruby Programmieren mit Zucker Thomas Kühn Gliederung Geschichte Philosophie Syntax mit Zucker Sprachkonzepte Pakete und Frameworks Ausblick Beispiele Yukihiro Matz Matsumoto Geboren am 14.April 1965 Geschichte

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Institut für Informatik

Institut für Informatik Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2010 Praktikum: Grundlagen der Programmierung Aufgabenblatt 1 Prof. R. Westermann, A. Lehmann,

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1 Kapitel 11 Fehler und Ausnahmen Fehler und Ausnahmen 1 Ziele Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java-Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen auslösen

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Programmierkurs Python I

Programmierkurs Python I Programmierkurs Python I Michaela Regneri 2009-10-30 (Folien basieren auf dem gemeinsamen Kurs mit Stefan Thater, der für diese Vorlesung auf Alexander Kollers Java-Kurs basierte) Organisatorisches Wöchentliche

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Programmierparadigmen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Programmiersprachen-Paradigmen Eine Programmiersprache

Mehr

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3. Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

Einführung in die Programmierung mit Java

Einführung in die Programmierung mit Java Einführung in die Programmierung mit Martin Wirsing 2 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm... Warum als Programmiersprache verwenden? Ein einfaches -Programm erstellen, übersetzen

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

Mehr

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.

Mehr

Skriptsprachen im Vormarsch: Einsatz in Enterprise-Applikationen. W3L AG info@w3l.de

Skriptsprachen im Vormarsch: Einsatz in Enterprise-Applikationen. W3L AG info@w3l.de 1 Skriptsprachen im Vormarsch: Einsatz in Enterprise-Applikationen W3L AG info@w3l.de 2007 2 Inhaltsverzeichnis Einleitung Was sind Skriptsprachen? Vor- und Nachteile von konventionellen und Skript-Sprachen

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

Beispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme

Beispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme Schwerpunkte 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java Imperative Programmierung Beispiel für ein Programm aus drei Komponenten Variable,

Mehr

Prof. Dr.-Ing. Dietrich Schröder GIS und Programmiersprachen: Wohin geht die Reise?

Prof. Dr.-Ing. Dietrich Schröder GIS und Programmiersprachen: Wohin geht die Reise? Prof. Dr.-Ing. Dietrich Schröder GIS und Programmiersprachen: Wohin geht die Reise? 1954 1960 1965 1970 1975 1980 1985 1990 1995 01 02 03 04 40 Jahre Programmierenausbildung im Studiengang VG Programmiersprachen

Mehr

Verteilte Paarprogrammierung mit Eclipse

Verteilte Paarprogrammierung mit Eclipse Verteilte Paarprogrammierung mit Eclipse Riad Djemili (djemili@inf.fu-berlin.de) Diplomarbeitsthema Freie Universität Berlin Februar 2006 Inhalt 1. Wie ist der aktuelle Stand im Bereich des Distributed

Mehr

1. Formulieren Sie den Algorithmus nach den oben genannten Kriterien.

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien. Java 1 Einführung Grundlegende Übungsaufgaben Arbeitsauftrag 1.1 1. Formulieren Sie den Algorithmus nach den oben genannten Kriterien. Beispiel: Bedienung eines Getränkeautomaten

Mehr

Teil 1: Grundeigenschaften von Rechnern und Software

Teil 1: Grundeigenschaften von Rechnern und Software Blatt Nummer: 1 Teil 1: Grundeigenschaften von Rechnern und Software Aufgabe 1.1 [3P] Nennen Sie mindestens 3 Arten von Programmen zur Softwareentwicklung Editor, Compiler, Linker, Debugger, Interpreter,...

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

Python 2. Vorlesung Computerlinguistische Techniken Alexander Koller. 28. Oktober 2014

Python 2. Vorlesung Computerlinguistische Techniken Alexander Koller. 28. Oktober 2014 Python 2! Vorlesung Computerlinguistische Techniken Alexander Koller! 28. Oktober 2014 Listen Sequenz von beliebigen Werten. Literale: [], [1,2,3], [ hallo, True, -5.0] Hinten an Liste anhängen: L.append(27)

Mehr

Grundlagen der Programmierung UE

Grundlagen der Programmierung UE Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, R. Wolfinger 1 Vortragende Dr. Herbert Praehofer (G1 u. G2) Mag. Reinhard Wolfinger (G3 u. G4) Institute for System Software

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 4 Anweisungen... 4-2 4.1 Strukturierte Programmierung... 4-2 4.1.1 Geschichte... 4-2 4.1.2 Strukturierung im Kleinen... 4-2 4.2 Einige Beispielanwendungen... 4-4 4.2.1 Addierer (do-schleife)...

Mehr

Funktionales Programmieren in Python

Funktionales Programmieren in Python Wintersemester 2008/2009 1 Funktionen sind Objekte 2 lambda Funktionen 3 apply 4 map 5 zip 6 filter 7 reduce 8 List Comprehension Funktionales Programmieren Wer nicht funktional programmiert, programmiert

Mehr

Grundlagen der Programmierung UE

Grundlagen der Programmierung UE Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, M Löberbauer 1 Vortragende Dipl.-Ing. Markus Löberbauer (G1) Dr. Herbert Praehofer (G2 u. G3) Institute for System Software

Mehr

Einführung in die Programmiersprache Python

Einführung in die Programmiersprache Python Einführung in die Programmiersprache Python Dipl.-Inf. Frank Hofmann 10. April 2007 Zielsetzung Fragen, die sich jeder stellt Kann ich damit Programmieren lernen? Hilfe! Noch eine Programmiersprache?!

Mehr

Praktische Informatik 1

Praktische Informatik 1 Praktische Informatik 1 Imperative Programmierung und Objektorientierung Karsten Hölscher und Jan Peleska Wintersemester 2011/2012 Session 1 Ziele der Veranstaltung Imperative Programmierung... Konzepte

Mehr

Mails in Python senden

Mails in Python senden Mails in Python senden Felix Döring, Felix Wittwer 14. November 2016 Python-Kurs Gliederung 1. Grundlagen: Mails senden Das Modul smtplib 2. Komplexere Mails senden Das Modul email 1 Die folgenden Folien

Mehr

Einführung in die Informatik Tools

Einführung in die Informatik Tools Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht

Mehr

Schnelles Prototyping (Rapid Application Development, RAD)

Schnelles Prototyping (Rapid Application Development, RAD) Schnelles Prototyping (Rapid Application Development, RAD) Prof. Dr. rer. nat. habil. Uwe Aßmann Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden Softwaretechnologie, Prof. Uwe Aßmann 2

Mehr

Lua Grundlagen Einführung in die Lua Programmiersprache

Lua Grundlagen Einführung in die Lua Programmiersprache Lua Grundlagen Einführung in die Lua Programmiersprache 05.05.2014 Ingo Berg berg@atvoigt.de Automatisierungstechnik Voigt GmbH Die Lua Programmiersprache Was ist Lua? freie Programmiersprache speziell

Mehr

Alexander Syndikus (h_da) Informatik für CuB WS 2015/16-1/43. Teil IX. Dateien

Alexander Syndikus (h_da) Informatik für CuB WS 2015/16-1/43. Teil IX. Dateien Alexander Syndikus (h_da) Informatik für CuB WS 2015/16-1/43 Teil IX Dateien Alexander Syndikus (h_da) Informatik für CuB WS 2015/16-2/43 Inhalt String Objekte Daten und Dateien Binär- / Textdateien CSV-Dateien

Mehr

Einführung in die Modellierung

Einführung in die Modellierung Einführung in die Modellierung Christian Huemer Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology Favoritenstraße 9-11/188-3, 1040 Vienna,

Mehr

Probe-Klausur Software Engineering Fachbereich BW, für WINFO

Probe-Klausur Software Engineering Fachbereich BW, für WINFO Probe-Klausur Software Engineering Fachbereich BW, für WINFO Dipl.-Ing. Klaus Knopper 17.04.2007 Hinweis: Bitte schreiben Sie auf das Deckblatt und auf jede Seite Ihren Namen und Ihre Matrikelnummer, bevor

Mehr

Programmierung unter GNU/Linux für Einsteiger

Programmierung unter GNU/Linux für Einsteiger unter GNU/Linux für Einsteiger Edgar Fast Edi Hoffmann Community FreieSoftwareOG kontakt@freiesoftwareog.org 7. September 2016 Begriffserklärung 2 / 35 Begriffserklärung Programmierung (von griechisch

Mehr

Java: Der Einstieg. Algorithmen und Datenstrukturen II 1

Java: Der Einstieg. Algorithmen und Datenstrukturen II 1 Java: Der Einstieg Algorithmen und Datenstrukturen II 1 Grundlegendes zu Java: Historisches 1990-1991: Entwicklung der Programmiersprache OAK durch James Gosling von Sun Microsystems (zunächst für Toaster,

Mehr

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

Mehr

Eine JAVA Einführung ... Quellcode:... COMA Übung 3. T.Bosse. A.Griewank. Vorschau JAVA Programme Sprachen Kate

Eine JAVA Einführung ... Quellcode:... COMA Übung 3. T.Bosse. A.Griewank. Vorschau JAVA Programme Sprachen Kate COMA Eine Einführung Quellcode: Anweisung(en)1 Wiederhole: T.Bosse Anweisung(en) 2 Einfache Schleifen (z.b. for-loop) Wiederhole: Falls (Bedingung) wahr, tue: Anweisung(en) 2 sonst führe Verzweigungen

Mehr

Programmieren 2 Selbststudium Semesterwoche 6

Programmieren 2 Selbststudium Semesterwoche 6 Programmieren 2 Selbststudium Semesterwoche 6 1. Datenströme (Basis: Handout PRG2_SW6_OOP) 1. Gehen Sie nochmals die Kontrollfragen A durch. A.1. Ein JavaProgramm liest Daten aus einem???strom. InputStream

Mehr

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Carla Delgado-Battenfeld Fatih Gedikli Tobias Marschall Benjamin Schowe

Mehr

Distributed Computing Group

Distributed Computing Group JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE3-Syntaxdiagramme (Stand 05.11.2010) Aufgabe 1: Entwickeln Sie Regeln zur Übersetzung von EBNF in Syntaxdiagramme. Aufgabe 2: Eine Zahl ist entweder

Mehr

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests. Universität Osnabrück 1 Problemstellung 3 - Objektorientierte Programmierung in Java Vorlesung 24: Reflection 1 SS 2006 Prof. Dr. Frank M. Thiesing, FH Osnabrück Um ein Objekt anzulegen, eine seiner Methoden

Mehr

TCP/IP Programmierung. C# TimeServer Java6 TimeClient

TCP/IP Programmierung. C# TimeServer Java6 TimeClient TCP/IP Programmierung C# TimeServer Java6 TimeClient Stand 19.10.11 21:24:32 Seite 1 von 16 Inhaltsverzeichnis Erläuterung...3 Software...3 C#TimeServer...4 Klasse ServerThread...6 Starten und Beenden...7

Mehr

Ein Stundenentwurf zur graphische Darstellung der Baumrekursion

Ein Stundenentwurf zur graphische Darstellung der Baumrekursion Ein Stundenentwurf zur graphische Darstellung der Baumrekursion von Stefan Künzell, Eberhard Lehmann und Stefan Matzanke Datei baumrek.doc Einleitung Der Beitrag wendet sich an verschiedene Lesergruppen.

Mehr

4.Grundsätzliche Programmentwicklungsmethoden

4.Grundsätzliche Programmentwicklungsmethoden 4.Grundsätzliche Programmentwicklungsmethoden 1.1 Grundlage strukturierter und objektorientierter Programmierung Begriff Software Engineering - umfaßt den gezielten Einsatz von Beschreibungsmitteln, Methoden

Mehr

public class SternchenRechteckGefuellt {

public class SternchenRechteckGefuellt { Java programmieren: Musterlösungen Konsolen-Aufgaben Aufgabe 1: Gefüllte Rechtecke zeichnen Schreiben Sie ein Programm, das ein durch Sternchen gefülltes Rechteck zeichnet. Der Benutzer soll Breite und

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 10. Klassen

Grundlagen der Programmierung Prof. H. Mössenböck. 10. Klassen Grundlagen der Programmierung Prof. H. Mössenböck 10. Klassen Motivation Wie würde man ein Datum speichern (z.b. 13. November 2004)? 3 Variablen int da; String month; int ear; Unbequem, wenn man mehrere

Mehr

L4. Erster Schritt zum Programmieren

L4. Erster Schritt zum Programmieren L4. Erster Schritt zum Programmieren 1 Programmierung in Hoch Beispielprogramme in FORTRAN, PASCAL und C Die Programmiersprache C Erstellung und Übersetzung eines C-Programms Das Programm Hello World Eingabe

Mehr

Von Turbo Pascal zu Object Pascal

Von Turbo Pascal zu Object Pascal unter Delphi Landesfachberater für Informatik in Thüringen otto.thiele@gmx.net 4. Fachtagung Informatikunterricht der Zukunft Arbeitskreis F1 März 2006 Gliederung 1. 2. 3. 4. 5. 6. 7. Komponenten 1 Komponentenorientiertes

Mehr

3. Grundlegende Sprachkonstruktionen imperativer Programme

3. Grundlegende Sprachkonstruktionen imperativer Programme 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 4. Nov. 2015 2 Schwerpunkte

Mehr

Reflection. Arthur Zaczek. Nov 2014

Reflection. Arthur Zaczek. Nov 2014 Arthur Zaczek Nov 2014 1 Einleitung 1.1 Definition Reflection ist das Auslesen von Metainformationen über Klassen, deren Methoden & Eigenschaften zur Laufzeit. 1.2 Anwendungsfälle Analyse von Programmen

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:

Mehr

Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung

Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung rof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 23. April 2009 1/14 Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung Prof. G. Kemnitz Institut für Informatik,

Mehr

1. Der Einstieg in Java. Was heißt Programmieren?

1. Der Einstieg in Java. Was heißt Programmieren? 1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen und ausführen können, Möglichkeiten der Kommentierung

Mehr

Ziele. C und C++ Was ist C? Übersicht. Überblick. C und C++ im Vergleich zu anderen Programmiersprachen einordnen können

Ziele. C und C++ Was ist C? Übersicht. Überblick. C und C++ im Vergleich zu anderen Programmiersprachen einordnen können Ziele C und C++ im Vergleich zu anderen Programmiersprachen einordnen können C und C++ Überblick Einige Unterschiede zwischen C, C++ und Java kennen Unterschied zwischen prozeduraler und objektorientierter

Mehr

Java-Programmierung. Remote Method Invocation - RMI

Java-Programmierung. Remote Method Invocation - RMI Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig

Mehr

Web-Testen mit JUnit und HttpUnit. Kai Schmitz-Hofbauer Lehrstuhl für Software-Technik Ruhr-Universität Bochum

Web-Testen mit JUnit und HttpUnit. Kai Schmitz-Hofbauer Lehrstuhl für Software-Technik Ruhr-Universität Bochum 1 Web-Testen mit JUnit und HttpUnit Kai Schmitz-Hofbauer Lehrstuhl für Software-Technik Ruhr-Universität Bochum 2 Inhalt Entwicklertests in der Praxis Unit-Testing JUnit HttpUnit Praktisches Beispiel Bewertung

Mehr

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper Python Programmierung Kontaktdaten Homepage: http://wwwlehre.dhbw-stuttgart.de/~schepper/ Email: Volker. Schepper [A@T] yahoo.de Vorlesung Skriptsprachen Vorlesung: 06.03.2013 13.03.2013 20.03.2013 27.03.2013

Mehr

Java Programmierung auf der Konsole / unter Eclipse

Java Programmierung auf der Konsole / unter Eclipse Fakultät Informatik, HFU Brückenkurs Programmieren 1 Java Programmierung auf der Konsole / unter Eclipse Allgemeine Begriffe Programmiersprache: künstliche Sprache zur Notation von Programmen Programm:

Mehr

Software-Praktikum. Überblick und Zeitplan

Software-Praktikum. Überblick und Zeitplan Standort Hagen Fachbereich Technische Betriebswirtschaft Software-Praktikum Überblick und Zeitplan Andreas de Vries und Volker Weiß Version: 26. September 2016 Inhaltsverzeichnis 1 Einführung und Überblick

Mehr

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi 06.09.10 1

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi 06.09.10 1 Kapitel 1 Einstieg in Java Dr. Elham Firouzi 06.09.10 1 1 : Einstieg in Java Einleitung Ein erstes Beispiel Berner Fachhochschule Entwicklung von Java-Programmen Applikationen Applets Vor und Nachteile

Mehr

28. April 2006. Python ist eine Interpreter Sprache. einfach durch eigene C Module erweiterbar. Daten werden dynamisch getypt

28. April 2006. Python ist eine Interpreter Sprache. einfach durch eigene C Module erweiterbar. Daten werden dynamisch getypt Python in der Schule 28. April 2006 1 Grundlagen Wir 1 beziehen uns in unserer Zusammenfassung auf die Python Version 2.3.5 vom 8. Februar 2005. 2 Die Haupteigenschaften von Python sind: Python ist eine

Mehr

620.900 Propädeutikum zur Programmierung

620.900 Propädeutikum zur Programmierung 620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Lösung der Aufgabe (1/1) Lösung Aufgabe

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Softwareentwicklung Probleme bei großer Software Life-Cycle-Modelle Teilphasen eines Software-Projekts Methoden und Werkzeuge 01101101 01011001 11010011 10011000 00000011 00011100

Mehr

Einführung in Python. Gliederung

Einführung in Python. Gliederung Einführung in Python Stefan Dziwok Universität Paderborn 1. Februar 2007 Referenzen Python has been an important part of Google since the beginning, and remains so as the system grows and evolves. Today

Mehr

Aspektorientierte Programmierung (aspect-oriented programming, AOP)

Aspektorientierte Programmierung (aspect-oriented programming, AOP) Aspektorientierte Programmierung (aspect-oriented programming, AOP) Abstract Die aspektorientierte Programmierung ist ein neues Programmierparadigma, das die Probleme und Nachteile, die aus der prozeduralen

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

Grundzüge der Wirtschaftsinformatik WS 2002/03. Wiederholung Java. Programmierzyklus. Heiko Rossnagel Problem

Grundzüge der Wirtschaftsinformatik WS 2002/03. Wiederholung Java. Programmierzyklus. Heiko Rossnagel  Problem Grundzüge der Wirtschaftsinformatik WS 2002/03 Wiederholung Java Heiko Rossnagel www.m-lehrstuhl.de accelerate.com Grundzüge der Wirtschaftsinformatik WS 2002/03 1 Programmierzyklus Problem Formulierung

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 4 Einführung in die Programmiersprache Java (Teil II)... 4-2 4.4 Strukturierte Programmierung... 4-2 4.4.1 Strukturierung im Kleinen... 4-2 4.4.2 Addierer (do-schleife)... 4-3 4.4.3 Ein- Mal- Eins

Mehr

IT-Basics 2. DI Gerhard Fließ

IT-Basics 2. DI Gerhard Fließ IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte

Mehr

Prof. Dr. Heinrich Müller. Informatik VII Universität Dortmund. http://ls7-www.cs.uni-dortmund.de. Organisatorisches zum Vorkurs Informatik

Prof. Dr. Heinrich Müller. Informatik VII Universität Dortmund. http://ls7-www.cs.uni-dortmund.de. Organisatorisches zum Vorkurs Informatik (UJlQ]HQGH)ROLHQ]XP 9RUNXUV,QIRUPDWLN Prof. Dr. Heinrich Müller Informatik VII Universität Dortmund http://ls7www.cs.unidortmund.de Informatik VII, Universität Dortmund Organisatorisches zum Vorkurs Informatik

Mehr

Skriptsprachen am Beispiel Python

Skriptsprachen am Beispiel Python Seminar Programmiersprachen Skriptsprachen am Beispiel Python Norman Thomas 8. Juni 2004 Überblick Was sind Skriptsprachen? Was ist Python? Python und Syntax Datentypen Kontrollstrukturen Module Ausführung

Mehr

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange

Mehr

Vorkurs Informatik Wintersemester 2015/2016. Programmtexte

Vorkurs Informatik Wintersemester 2015/2016. Programmtexte www.vorkurs-informatik.de Vorkurs Informatik Wintersemester 2015/2016 Programmtexte 1 Grundkonzepte der Programmierung Java-Programm zur Suche des Minimums: class ProgrammMinSuche{ int[] a = {11,7,8,3,15,13,9,19,18,10,4;

Mehr

Organisatorisches/Einstieg

Organisatorisches/Einstieg 1/31 Organisatorisches/Einstieg Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/31 Outline 1 Motivation Theoretische Grundlagen

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Test-Driven Design: Ein einfaches Beispiel

Test-Driven Design: Ein einfaches Beispiel Test-Driven Design: Ein einfaches Beispiel Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 2 Ziele Veranschaulichung der Technik des Test-Driven Design am Beispiel eines Programms

Mehr

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

1.2 Attribute und Methoden Aufbau einer Java-Klasse: Aufbau einer Java-Klasse: public class Quadrat { int groesse; int xposition; String farbe; boolean istsichtbar; public void sichtbarmachen() { istsichtbar = true; public void horizontalbewegen(int distance){

Mehr

Funktionale Programmierung

Funktionale Programmierung Schleifen 1 Funktionale Programmierung Jörg Kreiker Uni Kassel und SMA Solar Technology AG Wintersemester 2011/2012 3 Teil I Jedem Anfang wohnt ein Zauber inne 4 Über mich Diplom in Informatik in Saarbrücken

Mehr