4.A Programmierung. Bausteine der Programmierung: Problemformulierungen Algorithmen Implementierungen Testen Dokumentieren

Größe: px
Ab Seite anzeigen:

Download "4.A Programmierung. Bausteine der Programmierung: Problemformulierungen Algorithmen Implementierungen Testen Dokumentieren"

Transkript

1 ISS: EDV-Grundlagen 1. Einleitung und Geschichte der EDV 2. Daten und Codierung 3. Rechnerarchitektur 4. Programmierung und Softwareentwicklung 5. Betriebssyteme 6. Internet und Internet-Dienste

2 4.A Programmierung Programmieren, oder besser, Computer Programmieren, ist der Prozess, Instruktionen für einen Computer zu schreiben, die den Computer veranlassen, eine vorbestimmte Aufgabe zu erledigen. Bausteine der Programmierung: Problemformulierungen Algorithmen Implementierungen Testen Dokumentieren Ergebnis ist Software: lauffähige Programme oder verwendbare Bibliotheken.

3 4.B Software Engineering Software Engineering beschreibt eine systematische Vorgehensweise für Entwicklung von Software Betrieb von Software Pflege von Software Sterben von Software Begleitet also die gesamte Lebenszeit einer Software (software life-cycle). Es existieren verschiedene Systematiken für einzelne Bausteine. Systematiken sind notwendig/sinnvoll für Arbeiten im Team: Jeder weiß, wer was wie macht. Einhalten von Systematiken gehört zum Qualitätsmanagment, kurz QM.

4 4.C Algorithmen Ganz grob ist ein Algorithmus ein Lösungsverfahren für eine Klasse von Problemen. Vergleichbar einem Rezept, Prozess, Methode, Technik, Prozedur, Routine. Beispiele für Problemklassen und ihre Algorithmusidee: Bestimmen des größten gemeinsamen Teilers: Euklidischer Algorithmus Lösung einer quadratischen Gleichung: p-q-formel Lösung eines linearen Gleichungssystems: Gauss-Algorithmus Sortieren von Patientendaten: Sortieren durch Auswahl Öffnen einer Tür: trainierter Reflex?

5 1) The Art of Computer Programming I, pp. 4 4.C Algorithmen Formale Definition (nach Knuth 1) ): Ein Algorithmus ist ein endlicher Satz von Anweisungen zur Lösung einer gegebenen Klasse von Aufgaben. Zusätzlich muss ein Algorithmus die folgenden fünf Kriterien erfüllen: 1. Endlichkeit (finiteness): Ein Algorithmus terminiert in allen Fällen nach einer endlichen Anzahl von Schritten. 2. Bestimmtheit (definitness): Jede Anweisung eines Algorithmus ist klar, unzweideutig und durchführbar. 3. Eingabe (input): Ein Algorithmus hat Null oder mehr Eingaben: Objekte, die zu Beginn oder zur Laufzeit extern eingegeben werden. 4. Ausgabe (output): Ein Algorithmus hat eine oder mehr Ausgaben: Objekte, die in einer spezifischen Relation zur Eingabe stehen. 5. Effizienz (effectiveness): Jede Anweisung eines Algorithmus muss so grundlegend sein, dass sie im Prinzip von jedermann mit Papier und Bleistift in endlicher Zeit ausgeführt werden kann.

6 4.C Algorithmen Zwischen Algorithmus und Programm wird in der Informatik unterschieden. Ein Programm muss beispielsweise nicht endlich sein. Etwa wartet eine vergessene grafische Oberfläche endlos auf Benutzereingaben, wenn das Betriebssystem des Computers nicht abstürzt. Darüber hinaus muss das Programm so formuliert sein, dass es auf einem Rechner lauffähig ist. Ein Algorithmus kann auf verschiedene Weisen formuliert werden: in natürlicher Sprache, in Pseudo Code, in grafischer Darstellung (Struktogramm, Flußdiagramm),....

7 4.D Programmiersprachen Programmiersprachen: Zu klären ist: Wie rede ich mit meinem Computer? Wie bringe ich ihm bei, dass zu tuen, was ich von ihm will? Wie setze ich konkret einen Lösungsalgorithmus auf dem Rechner um? Wir brauchen eine Programmiersprache. Diese fallen in drei Kategorien: 1. Maschinensprache, 2. Assembler und 3. Höher Programmiersprache.

8 4.D Programmiersprachen Maschinensprache: Einzige Sprache, die direkt vom Computer verstanden wird. Definiert durch das Hardware Design des Rechners: maschinenabhängig. Unverständlich für den Menschen: Strom von 0en und 1en. Kaum bis gar nicht für den Menschen programmierbar. Führte zu den Assemblern. Anfang von hello.exe hexadezimal: f 464c a2c c c f f f b b a0 96b a b c d d d e f c2f c2f 2d64 696c 756e

9 4.D Programmiersprachen Assembler: Englisch ähnliche Abkürzungen, die elementare Operationen des Rechners darstellen. Ebenfalls maschinenabhängig. Spricht Prozessor, Register und RAM direkt an. Werden in die Maschinensprache übersetzt. Übersetzung geht schnell. Deutlich lesbarer als Maschinencode. Aber immer noch viele Instruktionen für einfache Aufgaben. Aufgabe: total = LDA 5 STA num1 LDA 4 ADD num1 STA total Einsatz für System-Software und Speziallösungen z.b. Signalprozessoren und Grafikchips. Führt zu höheren Programmiersprachen.

10 4.D Programmiersprachen Höhere Programmiersprachen: Einzelne Anweisungen führen komplexe Aufgaben aus. Maschinenunabhängig. Compiler Sprachen: Werden nach Maschinensprache übersetzt: Compiler. Übersetzung benötigt relativ viel Zeit. Schnelle Laufzeit der Programme. Interpreter Sprachen: Lassen Programme ohne Compilierung laufen. Rapid Development. Deutlich langsamere Laufzeiten der Programme. Für beide gilt: Anweisungen sind lesbar für den Menschen. Klingen nach alltäglichen Englisch. Enthalten übliche mathematische Notationen.

11 4.D Programmiersprachen Es gibt viele Hundert verschiedene höhere Programmiersprachen: Ada, Algol, APL, awk, Basic, C, C++, Cobol, Delphi, Eiel, Euphoria, Forth, Fortran, (HTML), Icon, Java, Javascript, Lisp, Logo, Mathematica, Matlab, Miranda, Modula-2, Oberon, Pascal, Perl, PL/1, Prolog, Python, Rexx, SAS, Scheme, sed, Simula, Smalltalk, Snobol, SQL, Visual Basic, Visual C++, (XML), The Language Guide: Computer Languages History: C Dennis Ritchie (Bell Laboratories) 1971 C++ Bjarne Stroustrup (Bell Laboratories) Juli 1983 Fortran John Backus (IBM) Nov Java James Gosling (Sun Labs) Mai 1995 Mathematica Stephen Wolfram (Wolfram Research) 1988 Pascal Nikolaus Wirth (ETH) 1970 Python Guido Van Rossum (Stichting) 1991 Ruby Yukihiro Matsumoto, Feb. 1993

12 4.D Programmiersprachen Was jede höhere Programmiersprache unterstützt sind Input: Lesen von Werten in das Programm Output: Schreiben von Werten aus dem Programm Mathematik: Rechenoperationen auf Zahlen Bedingungen: Bedingte Ausführung von Anweisungen Wiederholungen: Wiederholte Ausführung von Anweisungen Und das genügt auch, um all das zu programmieren, was gebraucht wird. Was meist noch dazukommt sind Funktionen oder Unterprogramme, Bibliotheken für das modulare Programmieren.

13 4.D Programmiersprachen,Hello world Traditionell beginnt jedes Lernen einer Programmiersprache mit einem Programm, dass Hello World! auf dem Monitor ausgibt. Wir schauen uns das an in C++, Java und Python. Wer noch mehr Beispiele sehen möchte: Hello, World Page! Page!:

14 4.D Programmiersprachen,Hello world in C++:./src/hello.cpp // "Hello world!" in C++ #include <iostream> int main(void) { std::cout << "Hello world!" << std::endl; return 1; } Dann compilieren (erzeugt hello.o): C:\> g++ -c hello.cpp Dann linken (erzeugt hello.exe): C:\> g++ -o hello.exe hello.o Starten mit C:\> hello

15 4.D Programmiersprachen Und nochmal,hello world in Java:./src/hello.java // "Hello world!" in Java class hello { public hello() { } public static void main(string[] args args) { System.out.println("Hello world!"); } } Dann compilieren (erzeugt hello.class): C:\> javac hello.java Starten mit C:\> java hello

16 4.D Programmiersprachen Zuletzt,Hello world in Python:./src/hello.py # "Hello world!" in Python print "Hello world!" Starten mit C:\> python hello.py Und alle drei Programme erzeugen die Ausgabe Hello world!

17 4.B Softwareentwicklung Statistische Angaben aus der Praxis - Nur 5 % aller SW-Projekte werden termingerecht fertig (Wallmüller 90, S. 2) % des Entwicklungsaufwandes (oder oft mehr) für Fehlersuche und Fehlerbehebung aufgewendet (Wallmüller 90, S. 3). - Von 8 großen Softwareprojekten werden durchschnittlich 2 abgebrochen (Spektrum der Wissenschaft). - 3 / 4 aller komplexen SW-Projekte funktionieren am Ende nicht wie gedacht bzw. werden nicht eingesetzt (SdW).

18 Softwareentwicklung

19 Konsequenzen Nach Erhalt einer SW-Entwicklungsaufgabe: - nicht sofort drauflos programmieren - zunächst gründlich die Aufgabe durchdenken, Unklarheiten beim Kunden nachfragen Programmierung macht bei der SW-Entwicklung nur einen kleineren Anteil aus. Genauso wichtig sind Fähigkeiten wie exakte Problemdefinition finden, systematische Fehlersuche u. a. Bereits bei der Programmierung muss an die Zeit nach der Auslieferung der SW gedacht werden (Wartung): lesbare, gut strukturierte, gut kommentierte Programme SW-Entwicklung bedeutet immer Teamarbeit

20 Konsequenzen Softwaresysteme gehören zu den komplexesten Gebilden, die je von Menschenhand geschaffen wurden. Strukturen und Abläufe in großen Systemen sind im einzelnen oft nicht mehr überschaubar. Man kann sie weder im vorhinein, beim Entwurf, noch im nachhinein, beim Testen, im Betrieb und in der Wartung vollständig verstehen. (Denert, Software-Engineering, S. 4) Das entscheidende Charakteristikum der industriell einsetzbaren Software ist, daß es für den einzelnen Entwickler sehr schwierig, wenn nicht gar unmöglich ist, alle Feinheiten des Designs zu verstehen. Einfach ausgedrückt, überschreitet die Komplexität solcher Systeme die Kapazität der menschlichen Intelligenz. (Booch, Objektorientierte Analyse und Design, S.18)

21 Software = Programme, Daten, Dokumentation Eigenschaften von Software: (vgl. Balzert, S. 26 f., Denert) - kein Verschleiß (keine Abnutzung beim Einsatz) - leicht kopierbar ( auch Fehler) -altert *) (SW wird ständig angepaßt) - lange in Benutzung **) - schwer zu vermessen (Metriken: Qualität, Quantität) - äußerst komplex (in der Praxis) *) nach 10 Jahren Einsatzzeit existiert oft keine Originalzeile mehr (Faustregel, nach Pagel, Six S. 35) **) durchschnittlich Jahre, (Wallmüller 90, S. 3) bis zu 30 Jahren (Hausi Müller)

22 Softwaregröße Klassifikation der Softwaregröße: klein: bis 2000 Zeilen Quelltext mittel: groß: sehr groß: > 1 Mio. Durchschnittliche Größe verwalteter Software unter den 100 größten USA-Firmen: 35 Mio Zeilen Quellcode. z. B.USA, DoD: 1,4 Mia. Quelltextzeilen (verteilt über 1700 Datenzentren) Betriebskosten für diese Systeme: 9 Mia. Dollar / Jahr.

23 Qualitätskriterien für SW-Produkte (nach Pagel/Six, Pomberger, Meyer, Marciniak) Korrektheit, Robustheit (z. B. bei Fehlbedienung), Effizienz, Benutzerfreundlichkeit, Dokumentation (Beschreibung der Programme), Modifizierbarkeit Lesbarkeit (Verständlichkeit, Kommentare, sinnvolle Bezeichnerwahl, Formatierung...), Wiederverwendbarkeit, Modularität (zerlegt in Module / Komponenten), Portabilität (übertragbar auf anderen Rechner) Integrität (Schutz gegen unberechtigten Zugriff)

24 Modularisierung Eine bekannte Technik zur Beherrschung von Komplexität ist der antike Grundsatz: Devide et Impera (Teile und herrsche). Nur durch eine Einteilung in Einzelteile (Module) können mehrere Personen an einem Gesamtsystem arbeiten. Ein Modul verbirgt wichtige Entwurfsentscheidung und bietet nur seine dokumentierte Funktionalität und den Aufruf der Funktionalität (Signatur) an.

25 Kriterien für Module

26 Kriterien für Module

27 Strukturierte Analyse und Design

28 Modelle der Softwareentwicklung Prozedurale / modulare Programme lassen sich mit der SA/SD (Strukturierte Analyse/ strukturiertes Design) beschreiben. Objektorientierte Programme benötigen anderen Ansatz UML (Unified Modelling Language)

29 Klassisches Wasserfallmodell, auch Stufenmodell

30 Phasen der Softwareentwicklung Analyse und Definition Analyse des Problems + Definition der Anforderungen an das SW-Produkt Gegenstand: Außenverhalten des SW-Systems Auftraggeber Auftragnehmer Produktdefinition (Systemspezifikation, Anforderungsdefinition, Pflichtenheft) Entwurf (Design) Struktur, Aufbau, Komponenten der SW und ihre Beziehungen festlegen Software-Architektur Implementation Software-Architektur ausgefüllt : Programmierung der Komponenten Programm Test Test der Komponenten, Test ihrer Integration (Systemtest) Testprotokolle

31 Vorgehensmodelle: Überblick - Klassisches Phasenmodell (Wasserfallmodell) - Iteriertes Phasenmodell (Lebenszyklus) - Spiralmodell - Prototyping (evolutionäre Softwareentwicklung) - Transformationelle Softwareentwicklung - Systemzusammensetzung aus nachnutzbaren Komponenten

32 Iteriertes Phasenmodell Bewertung des iterierten Phasenmodells 1. Rückschritte sind nur zwischen den benachbarten Phasen möglich 2. Frühes Festschreiben der Anforderungen erschwert nachträgliche Änderungen; Fehler in der Anforderungsanalyse werden erst spät erkannt 3. Einführung Systems erfolgt erst sehr spät und erfolgt auf einen Schlag (Big Bang) Verbesserung durch Rapid Prototyping mit a) Throw-away Prototypes b) Evolutionären Prototypen

33 V-Modell (Life-Cycle) Betont die Wichtigkeit von Tests Quality Assurance Was nicht wirklich verbessert wird: Sequenzialität Feedback Risk Management (während der Entwicklung)

34 V-Modell-XT

35 Spiralmodell

36 Bewertung Spiralmodell - Big Bang-Effekt kann verhindert werden - enge Rückkopplung mit Anwender ermöglicht bessere Umsetzung der Anforderungen - im Gegensatz zum Wasserfallmodell sehr gute Möglichkeiten zum Rücksprung (Iterationen sind fest eingeplant) - ABER: der Projektverlauf ist schwer überprüfbar; die Schwierigkeit liegt im Abschätzen der noch benötigten Iterationen Besondere Problematik: - größerer organisatorischer Aufwand bei der Planung der evolutionären Schritte, d.h. in welche Iteration wird welche Funktionalität realisiert - Ausrichten der Architektur auf den evolutionären Bau - Durch Anpassung an die Änderungen der Anforderungen kann die ursprüngliche Architektur verloren gehen - Ein Projektende kann durch das Anpassen an neue Anforderungen nach hinten verschoben werden; ein dezidiertes Ende muß definiert werden

37 extreme Programming Projektzyklus: Planning Game On-Site Customer Acceptance Test Short Increments Entwicklungszyklus: Simple Design Pair Programming Unit Test Refactoring Unterstützende Praktiken Metaphor Collective Ownership Continuous Integration 40-hour week Programming Standards

8. Softwareentwicklung

8. Softwareentwicklung Schwerpunkte Problematik komplexer Programme 8. Softwareentwicklung (Software Engineering) Statistische Angaben zur Softwareentwicklung Eigenschaften von Software Qualitätskriterien für SW-Produkte Einbettung

Mehr

Programmierung. in Python. richard rascher-friesenhausen. richard.rascher-friesenhausen@hs-bremerhaven.de. 14. März 2012. Inhalt

Programmierung. in Python. richard rascher-friesenhausen. richard.rascher-friesenhausen@hs-bremerhaven.de. 14. März 2012. Inhalt Programmierung in Python richard rascher-friesenhausen richard.rascher-friesenhausen@hs-bremerhaven.de 14. März 2012 Inhalt Organisatorisches Allgemeines Python PRG, SS 12 March 14, 2012 1 Organisatorisches

Mehr

Programmierung. PRG, SS 08 March 19, 2008 1. Inhalt. in Python. richard rascher-friesenhausen. richard.rascher-friesenhausen@hs-bremerhaven.

Programmierung. PRG, SS 08 March 19, 2008 1. Inhalt. in Python. richard rascher-friesenhausen. richard.rascher-friesenhausen@hs-bremerhaven. Inhalt Programmierung in Python Organisatorisches Allgemeines Python richard rascher-friesenhausen richard.rascher-friesenhausen@hs-bremerhaven.de 19. März 2008 Organisatorisches Allgemeines Termin: Vorlesung

Mehr

Programmierung. HS Bhven, FB1, Studiengang Medizintechnik SS 14, MT-B 4. richard rascher-friesenhausen richard.rascher-friesenhausen@hs-bremerhaven.

Programmierung. HS Bhven, FB1, Studiengang Medizintechnik SS 14, MT-B 4. richard rascher-friesenhausen richard.rascher-friesenhausen@hs-bremerhaven. Programmierung HS Bhven, FB1, Studiengang Medizintechnik SS 14, MT-B 4 richard rascher-friesenhausen richard.rascher-friesenhausen@hs-bremerhaven.de 14. März 2014 Organisatorisches Allgemeines Python PRG,

Mehr

Softwaretechnik. Wesentliche Inhalte der Vorlesung

Softwaretechnik. Wesentliche Inhalte der Vorlesung Softwaretechnik Prof. Dr. Bernhard Schiefer schiefer@informatik.fh-kl.de http://www.informatik.fh-kl.de/~schiefer Prof. Dr. Bernhard Schiefer 1-1 Wesentliche Inhalte der Vorlesung Phasen der Software-Entwicklung

Mehr

Kapitel 1: Einführung

Kapitel 1: Einführung 10 Kapitel 1: Einführung 1.1 Was ist eine Programmiersprache? 1.2 Details zu C++ 1.3 Phasen der Programmierung 1.4 Ein erstes Programm: Hello World! 1.5 Addition zweier Zahlen 1.6 Entscheidungen 1.1 Was

Mehr

Software Engineering

Software Engineering Literatur Gliederung Software Engineering Herbert Kuchen Universität Münster Di+Fr 14:15-15:45, M2 Wintersemester 2009/2010 1 Literatur Gliederung Basis-Literatur H. Balzert: Lehrbuch der Software-Technik,

Mehr

Programmiersprachen und Programmierkonzepte

Programmiersprachen und Programmierkonzepte Programmiersprachen und Programmierkonzepte Inhalt Programmiersprachen- Entwicklung Programmiersprachen und Programmierparadigmen Die Geschichte der Programmiersprachen Anfänge vor 200 Jahren Programmierbare

Mehr

In den weiterführenden Vorlesungen

In den weiterführenden Vorlesungen 1.1 Inhalte dieser und weiterer Vorlesungen Elemente der sog. Strukturierten Programmierung zur Darstellung der Algorithmen (Kontrollstrukturen, Methoden) Datentypen (Datenstrukturen) zusammen --> Objekte!

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

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen. 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen. 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

1. Grundbegriffe des Software-Engineering

1. Grundbegriffe des Software-Engineering 1. Grundbegriffe Software Engineering 1 1. Grundbegriffe des Software-Engineering Was ist Software-Engineering? (deutsch: Software-Technik) Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen

Mehr

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in

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

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

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

Softwareentwicklungsprozesse. 18. Oktober 2012

Softwareentwicklungsprozesse. 18. Oktober 2012 Softwareentwicklungsprozesse 18. Oktober 2012 Überblick Was soll ein Softwareentwicklungsprozess leisten? Überblick über Softwareentwicklungsprozesse Welche gibt es? Warum gibt es mehrere? Diskussion:

Mehr

Einführung in die SWE

Einführung in die SWE Einführung in die SWE Inhalte der Vorlesung Allgemeine Ziele der Lehrveranstaltung Entwickeln einer kleinen Applikation nach professionellem Vorgehensmodell Erlernen des objektorientierten Herangehens

Mehr

Programmiertechnik. Prof. Dr. Oliver Haase Raum G124 haase@htwg-konstanz.de Tel: 07531/206-150. Oliver Haase Hochschule Konstanz 1

Programmiertechnik. Prof. Dr. Oliver Haase Raum G124 haase@htwg-konstanz.de Tel: 07531/206-150. Oliver Haase Hochschule Konstanz 1 Programmiertechnik Prof. Dr. Oliver Haase Raum G124 haase@htwg-konstanz.de Tel: 07531/206-150 Oliver Haase Hochschule Konstanz 1 Organisatorisches Vorlesung: montags, 8:00 9:30h, Raum C-109 freitags, 8:00

Mehr

Einführung in die Programmiertechnik

Einführung in die Programmiertechnik Einführung in die Programmiertechnik Programmiersprachen Algorithmen und Programme Computer führt Berechnungen auf deterministische Weise aus bei gleicher Eingabe und gleichem inneren Zustand erzeugt er

Mehr

Einleitung und Begriffliches. Einleitung. Programmiersprachen. Software-Komplexität ist inhärent und hat vor allem folgende Ursachen

Einleitung und Begriffliches. Einleitung. Programmiersprachen. Software-Komplexität ist inhärent und hat vor allem folgende Ursachen Einleitung Einleitung und Begriffliches Software-Komplexität ist inhärent und hat vor allem folgende Ursachen Komplexität des gegebenen Problems Schwierigkeiten beim Management des Entwicklungsprozesses

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

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Der Anfänger sollte nicht entmutigt sein, wenn er nicht die Voraussetzungen besitzt, um die Voraussetzungen zu verstehen...

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

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise Coma I Einleitung 1 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise 2 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen

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

Einführung in die Programmiertechnik

Einführung in die Programmiertechnik Einführung in die Programmiertechnik Programmiersprachen Algorithmen und Programme Computer führt Berechnungen auf deterministische Weise aus bei gleicher Eingabe und gleichem inneren Zustand erzeugt er

Mehr

Einführung in die Programmiertechnik

Einführung in die Programmiertechnik Einführung in die Programmiertechnik Programmiersprachen Algorithmen und Programme Computer führt Berechnungen auf deterministische Weise aus bei gleicher Eingabe und gleichem inneren Zustand erzeugt er

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 1 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2015 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello! 12.10.2015 Dr. Werner Struckmann / Stephan

Mehr

IT-Projekt-Management

IT-Projekt-Management IT-Projekt-Management email: vuongtheanh@netscape.net http: www.dr-vuong.de 2005 by, Bielefeld Seite 1 Vorgehensmodell 2005 by, Bielefeld Seite 2 Was ist ein Vorgehensmodell? Strukturbeschreibung über

Mehr

Software-Lebenszyklus

Software-Lebenszyklus Software-Lebenszyklus Inhalt Vorgehensmodell/Phasenplan Wasserfallmodell WAS-Beschreibung WIE-Beschreibung Weitere Phasenmodelle: Spiral-Modell, V-Modell, RUP Extreme Programming SW-Qualitätssicherung

Mehr

Problemorientierte Programmiersprachen Nachteile von Programmen in Maschinensprache sehr aufwendig bei komplexeren Aufgabenstellungen fehleranfällig

Problemorientierte Programmiersprachen Nachteile von Programmen in Maschinensprache sehr aufwendig bei komplexeren Aufgabenstellungen fehleranfällig Problemorientierte Programmiersprachen Nachteile von Programmen in Maschinensprache sehr aufwendig bei komplexeren Aufgabenstellungen fehleranfällig schwer verständlich nicht portabel, d.h. nicht auf Rechner

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

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

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 21. Oktober 2015 Automat versus Computer Ein Automat ist eine Maschine,

Mehr

- Agile Programmierung -

- Agile Programmierung - Fachhochschule Dortmund Fachbereich Informatik SS 2004 Seminar: Komponentenbasierte Softwareentwicklung und Hypermedia Thema: - - Vortrag von Michael Pols Betreut durch: Prof. Dr. Frank Thiesing Übersicht

Mehr

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering mit Übungen Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering 2 Organisation Ort: Seminarraum 05.002, Spiegelgasse 5 Ablauf: 15:15 Vorlesung Prüfung: Schriftlich,

Mehr

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

Ergebnisse der Untersuchung zur Eignung einer Programmiersprache für die schnelle Softwareentwicklung kann der Informatikunterricht davon profitieren? Ergebnisse der Untersuchung zur Eignung einer Programmiersprache für die schnelle Softwareentwicklung kann der Informatikunterricht davon profitieren? Zur Diplomarbeit: Eignet sich die Skriptsprache Python

Mehr

Systemen - Testen im Softwarelebenszyklus

Systemen - Testen im Softwarelebenszyklus P r a k t I s c h e Entwicklung und Test Testen von Software-Systemen Systemen - Testen im Softwarelebenszyklus Entwickler erstellen ihr System bzw. ihre Software und testen es/sie zur Entwicklungszeit

Mehr

Objektorientierte Software-Entwicklung

Objektorientierte Software-Entwicklung Objektorientierte Software-Entwicklung Priv.- Doz Dr. Rolf Hennicker 04.10.2002 Kapitel 1 Software Engineering: Überblick Kapitel 1 Software Engineering: Überblick 2 Ziele Verstehen, womit sich die Disziplin

Mehr

Programmierung. Programme, Compiler, virtuelle Maschinen, Java

Programmierung. Programme, Compiler, virtuelle Maschinen, Java Programmierung Programme, Compiler, virtuelle Maschinen, Java Programme Ein Programm ist eine Folge von Anweisungen, die einem Computer sagen, was er tun soll tuwas.c for(int i=0; i=0; i

Mehr

2 Grundlagen der Programmierung

2 Grundlagen der Programmierung 2 Grundlagen der Programmierung In diesem Kapitel bereiten wir die Grundlagen für ein systematisches Programmieren. Wichtigstes Ziel ist dabei die Herausarbeitung der fundamentalen Konzepte von Programmiersprache.

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Wesentliche Inhalte Einführung Rechnergrundlagen Grundlagen der Programmierung Kern imperativer

Mehr

Software-Entwicklung

Software-Entwicklung Software-Entwicklung SEP 96 Geschichte der Programmierung Aufgaben von, Anforderungen an Programme mit der Zeit verändert 1 Programmierung über Lochkarten z.b. für Rechenaufgaben 2 maschinennahe Programmierung

Mehr

Programmierung, Algorithmen und Techniken. von Thomas Ohlhauser

Programmierung, Algorithmen und Techniken. von Thomas Ohlhauser Programmierung, Algorithmen und Techniken von Thomas Ohlhauser 1. Begriff Programmierung Entwicklung von Programmen inklusive der dabei verwendeten Methoden und Denkweisen. Ein Programm ist eine eine Zusammensetzung

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

JAVA als erste Programmiersprache Semesterkurs

JAVA als erste Programmiersprache Semesterkurs JAVA als erste Programmiersprache Semesterkurs 0 - Einstieg WS 2012 / 2013 Prof. Dr. Bodo Kraft Prof. Dr. Bodo Kraft FH Aachen University of Applied Sciences Fachbereich Medizintechnik und Technomathematik

Mehr

Ein Streifzug durch die Programmiersprachenlandschaft in der Schule. Gerald Futschek TU Wien Informatiktag 2013

Ein Streifzug durch die Programmiersprachenlandschaft in der Schule. Gerald Futschek TU Wien Informatiktag 2013 Ein Streifzug durch die Programmiersprachenlandschaft in der Schule Gerald Futschek TU Wien Informatiktag 2013 Urwald der Programmiersprachen COBOL Visual Basic Modula-2 Logo Pascal SQL APL BASIC LISP

Mehr

Program = Logic + Control

Program = Logic + Control Program = Logic + Control Prozedurale/imperative Sprachen: Abläufe formulieren Computer führt aus von-neumann-maschine Idee von deklarativen/logischen/funktionalen Programmiersprachen: Zusammenhänge formulieren

Mehr

Kapitel 2: Der Software-Entwicklungsprozess

Kapitel 2: Der Software-Entwicklungsprozess Wie konstruiert man Software? Kapitel 2: Der Software-Entwicklungsprozess SoPra 2008 Kap. 2: Der Software-Entwicklungsprozess (1/10) Der Software-Entwicklungs-Prozess Historisches 1960JJ adhoc Techniken

Mehr

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

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

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

Mehr

Java Schulung. Objektorientierte Programmierung in Java. Prof. Dr. Nikolaus Wulff

Java Schulung. Objektorientierte Programmierung in Java. Prof. Dr. Nikolaus Wulff Java Schulung Objektorientierte Programmierung in Java Prof. Dr. Nikolaus Wulff Was ist Java? Java ist eine einfache, objektorientierte, verteilte, interpretierte, robuste, sichere, architekturneutrale,

Mehr

1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die "Softwarekrise"

1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die Softwarekrise im Überblick im Überblick Inhalt 1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die Softwarekrise 1. Merkmale von Software 2. Fortlaufende Veränderungen 3. Erschwerte Rahmenbedingungen bei der

Mehr

Brückenkurs Programmieren - Sommersemerster 2013

Brückenkurs Programmieren - Sommersemerster 2013 Brückenkurs Programmieren - Sommersemerster 2013 Tag 1 Ivo Senner Technische Hochschule Mittelhessen 30. September 2013 Ivo Senner (THM) Brückenkurs Programmieren 30. September 2013 1 / 41 Inhalt 1 Dieser

Mehr

Stichworte zur Ideengeschichte der Programmiersprachen

Stichworte zur Ideengeschichte der Programmiersprachen Stichworte zur Ideengeschichte der Programmiersprachen Faculty of Technology robert@techfak.uni-bielefeld.de Vorbemerkung Diese Notzien dienen zur Erläuterung des O Reilly Posters über die Entwicklung

Mehr

Softwaretechnik WS 2013/14. Fomuso Ekellem

Softwaretechnik WS 2013/14. Fomuso Ekellem WS 2013/14 Organisatorisches Dozentin : Ango (Raum 2.250) Fragen und Übungen: mathe_ekellem@yahoo.com (Nur hier, sonst wird nicht bewertet) Folien: http://www.gm.fh-koeln.de/~afomusoe/softwaretechnik.html

Mehr

Ganzheitliches IT-Projektmanagement

Ganzheitliches IT-Projektmanagement Ganzheitliches IT-Projektmanagement Kapitel 2 nach dem Buch: Ruf, Walter; Fittkau, Thomas: "Ganzheitliches IT-Projektmanagement" Wissen - Praxis - Anwendungen R. Oldenbourg Verlag München - Wien 2008;

Mehr

Software Engineering

Software Engineering Software Engineering Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik Prof. A. Müller, FH KL Software Engineering 2015 1 Inhalte Begrüßung Vorstellung, Übersicht Formales

Mehr

Informatik Programmiersprachen eine kurze Übersicht

Informatik Programmiersprachen eine kurze Übersicht Informatik eine kurze Übersicht Seite 1 natürliche Sprachen (nach Wikipedia) ca 6500 gesprochene Sprachen davon etwa die Hälfte im Aussterben etwa 500 Schriftsprachen mit gedruckten Texten P. Bueghel Turmbau

Mehr

Grundlagen der Informatik für Ingenieure I

Grundlagen der Informatik für Ingenieure I 3 Einführung in das objektorientierte Programmier-Paradigma 3 Einführung in das objektorientierte Programmier-Paradigma 3.1.1 Top-down structured design 3.1.2 Data-driven design 3.1.3 Object-oriented design

Mehr

Die Softwareentwicklungsphasen!

Die Softwareentwicklungsphasen! Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 1 17. Oktober 2002 www4.in.tum.de/~rumpe/se

Mehr

1 Einleitung. 1.1 Definition und Geschichte. Holger Vogelsang und Peter A. Henning

1 Einleitung. 1.1 Definition und Geschichte. Holger Vogelsang und Peter A. Henning 17 1 Einleitung Holger Vogelsang und Peter A. Henning 1.1 Definition und Geschichte Ein Programm ist eine Abfolge von Daten und Befehlen an einen Prozessor, um diese Daten in andere Daten umzuwandeln.

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

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

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

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle Diverse Grundlagen Dr. Karsten Tolle Vorgehensmodelle im Software Engineering Wasserfallmodell Rapid Prototyping Spiralmodell V-Modell Rational Unified Process extrem Programming Test Driven Development

Mehr

Kapitel 3. Mein erstes C-Programm

Kapitel 3. Mein erstes C-Programm Kapitel 3 Mein erstes C-Programm 1 Gliederung Kapitel 3 Mein erstes C-Programm 3.1 Einleitung 3.2 Mein erstes C-Programm 3.3 Zusammenfassung 2 Problem Algorithmus Mittelwert für Messwerte berechnen DGL

Mehr

Java. Warum Programmierung? Programmierung Beispiel Taschenrechner

Java. Warum Programmierung? Programmierung Beispiel Taschenrechner Java Programmierung Höhere Programmiersprachen Java als Programmiersprache Aufbau der Java-Software Verwendung von JOE 201-1 Warum Programmierung? Prozessor versteht nur Folgen von 0 und 1 Wie erstellt

Mehr

Einführung in die Softwaretechnik 9. Softwareprozesse

Einführung in die Softwaretechnik 9. Softwareprozesse 9. Softwareprozesse Klaus Ostermann (Mit Folien von Christian Kästner, Gabriele Taentzer und Wolfgang Hesse) 1 Agenda Wie kommt man vom Kundenwunsch zur fertigen Software? Wie strukturiert man ein Softwareprojekt?

Mehr

Einführung in die Programmierung mit Java

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

Mehr

Kontrollstrukturen - Universität Köln

Kontrollstrukturen - Universität Köln Kontrollstrukturen - Universität Köln Mario Manno Kontrollstrukturen - Universität Köln p. 1 Was sind Sprachen Auszeichnungssprachen HTML, XML Programmiersprachen ASM, Basic, C, C++, Haskell, Java, Pascal,

Mehr

Einführung in die Programmierung mit Java

Einführung in die Programmierung mit Java Einführung in die Programmierung mit Java Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm... Warum Java als Programmiersprache

Mehr

Projektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung

Projektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung Projektmanagement Management- und Phasen-Modelle Vom Wasserfall bis Extreme Programming / Scrum Dokument V 1.1 Wie kommt es zu einem Projektauftrag? Auftraggeber Projekt-Idee / Ziele [Anforderungen/Spezifikation/

Mehr

Einführung in die Programmierung WS 2014/15. 2. Algorithmus, Berechenbarkeit und Programmiersprachen 2-1

Einführung in die Programmierung WS 2014/15. 2. Algorithmus, Berechenbarkeit und Programmiersprachen 2-1 Einführung in die Programmierung WS 2014/15 2. Algorithmus, Berechenbarkeit und Programmiersprachen 2-1 2. Alg., Ber. & PS Inhalt 1. Algorithmen 2. Programmiersprachen Algorithmus und Programm(iersprache)

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Software Engineering

Software Engineering Software Engineering Grundlagen, Menschen, Prozesse, Techniken von Jochen Ludewig, Horst Lichter 1. Auflage Software Engineering Ludewig / Lichter schnell und portofrei erhältlich bei beck-shop.de DIE

Mehr

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung Block R (Rahmen): SE Aktivitäten 21.10.04 1 Vorlesung Methoden des Software Engineering Block R Rahmen Aktivitäten der Software-Entwicklung Martin Wirsing Einheit R.2, 21.10.2004 Block R (Rahmen): SE Aktivitäten

Mehr

Grundlagen. Kapitel 1

Grundlagen. Kapitel 1 Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die

Mehr

Organisatorisches. Einführung in die Programmierung in C Hochschule Regensburg 13.03.2012.-13.07.2012 Universitätsstraße 31, 93053 Regensburg

Organisatorisches. Einführung in die Programmierung in C Hochschule Regensburg 13.03.2012.-13.07.2012 Universitätsstraße 31, 93053 Regensburg Organisatorisches Einführung in die Programmierung in C Hochschule Regensburg 13.03.2012.-13.07.2012 Universitätsstraße 31, 93053 Regensburg Prof. Dr. Jan Dünnweber Wenn Sie kommen...... kommen Sie pünktlich

Mehr

Softwaretechnik. Fomuso Ekellem WS 2011/12

Softwaretechnik. Fomuso Ekellem WS 2011/12 WS 2011/12 Inhalt Wiederholung Weitere Begriffe Programmierung im Großem (Programmierung von Software als Ganzes) Prozess-Modelle 2 Wiederholung: Prozesse Prozesse sind hierarchische Gruppierungen von

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

09.10.2015. 02.10.2015 + 07.10.2015 Seite 1. 02.10.2015 + 07.10.2015 Seite 2

09.10.2015. 02.10.2015 + 07.10.2015 Seite 1. 02.10.2015 + 07.10.2015 Seite 2 02.10.2015 + 07.10.2015 Seite 1 02.10.2015 + 07.10.2015 Seite 2 1 Anzahl der Klassenarbeiten: Mindestens zwei Klassenarbeiten pro Halbjahr (= 4 KA pro Jahr) Im ersten Ausbildungsjahr gibt es jedoch kein

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

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16 Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle

Mehr

Vorlesung 2: Programmieren mit C

Vorlesung 2: Programmieren mit C Vorlesung 2: Programmieren mit C URL zur Lehrveranstaltung http://www.fbmnd.fh-frankfurt.de/~raimann Folien zur Vorlesung, Übungsaufgaben,... Dr. J. Raimann 1 Dev C++ Kostenlose C/C++-Entwicklungsumgebung

Mehr

Programmieren Formulierung eines Algorithmus in einer Programmiersprache

Programmieren Formulierung eines Algorithmus in einer Programmiersprache Zum Titel der Vorlesung: Programmieren Formulierung eines in einer Programmiersprache Beschreibung einer Vorgehensweise, wie man zu jedem aus einer Klasse gleichartiger Probleme eine Lösung findet Beispiel:

Mehr

Objektorientiertes Software-Engineering

Objektorientiertes Software-Engineering Objektorientiertes Software-Engineering TIT99BPE/TIT99CPE BA Mannheim WS 2001/2 F. Schönleber Organisatorisches Kurs 1: TIT99BPE 6.Studienhalbjahr Termin Mo. 13.00 14.30 Raum: 037B Kurs 1: TIT99CPE 6.Studienhalbjahr

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

FACHHOCHSCHULE MANNHEIM

FACHHOCHSCHULE MANNHEIM Objektorientierte Programmierung 1. Vorlesung Prof. Dr. Peter Knauber Email: P.Knauber@fh-mannheim.de FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Objektorientierung Was ist das? Warum

Mehr

SOFTWARETECHNIK. Kapitel 7 Vorgehensmodelle. Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing.

SOFTWARETECHNIK. Kapitel 7 Vorgehensmodelle. Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing. SOFTWARETECHNIK Kapitel 7 Vorgehensmodelle Vorlesung im Wintersemester 2012/13 FG System- und Software-Engineering Prof. Dr.-Ing. Armin Zimmermann Inhalt Vorgehensmodelle Sequenzielle Modelle Iterative

Mehr

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Softwareentwicklungsprozess im Praktikum. 23. April 2015 Softwareentwicklungsprozess im Praktikum 23. April 2015 Agile Softwareentwicklung Eine agile Methodik stellt die beteiligten Menschen in den Mittelpunkt und versucht die Kommunikation und Zusammenarbeit

Mehr

Fachhochschule Wiesbaden - Fachbereich DCSM. Skriptsprachen. Moderne, objekt-orientierte Skriptsprachen mit Betonung auf Ruby

Fachhochschule Wiesbaden - Fachbereich DCSM. Skriptsprachen. Moderne, objekt-orientierte Skriptsprachen mit Betonung auf Ruby Fachhochschule Wiesbaden - Fachbereich DCSM Skriptsprachen Moderne, objekt-orientierte Skriptsprachen mit Betonung auf Ruby 16.10.2008 2003, 2008 H. Werntges, FB Design Informatik Medien (DCSM), FH Wiesbaden

Mehr

Einführung in die Programmierung mit Java

Einführung in die Programmierung mit Java Einführung in die Programmierung mit Java Martin Wirsing 2 Ziele Geschichte der OO-Programmiersprachen Warum Java als Programmiersprache verwenden? Ein einfaches Java-Programm erstellen, übersetzen und

Mehr

Beraterprofil. Persönliche Daten. Schwerpunkt. Einsatzdaten. Ausbildung/ Werdegang. Fremdsprachen. Sprachen

Beraterprofil. Persönliche Daten. Schwerpunkt. Einsatzdaten. Ausbildung/ Werdegang. Fremdsprachen. Sprachen Beraterprofil Persönliche Daten Name: Peter J. Brunner Geburtsjahr: 1941 Nationalität: Österreich Schwerpunkt Seit 1964 in der IT-Branche tätig. Aufgrund langjähriger Erfahrung im Bereich der Compiler-,

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

.NET Framework. 3. Das.NET Framework

.NET Framework. 3. Das.NET Framework 3. Das.NET Framework.NET Framework 3.1 Übersicht - 2002 von Microsoft bereitgestellt - Ziel: Entwicklung von Anwendungen (Windows, Web, Embedded,..) bequemer und sicherer zu machen und bestehenden Code

Mehr