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

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

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

Transkript

1 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. Es wird in einer formal definierten Sprache verfasst, der Programmiersprache. Die erste höhere Programmiersprache war der 1945 von Konrad Zuse entwickelte Plankalkül [Z72, PK]. Konrad Zuse ( ) ist damit nicht nur der Erbauer des ersten Computers mit Von-Neumann-Architektur (1941), sondern auch der Erfinder der Programmiersprachen. Hinweis: Ein im folgenden Text markiert einen Eintrag im Glossar (Abschnitt 1.5) Computer waren lange Zeit nur in Maschinensprache oder Assembler programmierbar, bis 1954 FORTRAN als erste praktisch einsetzbare höhere Programmiersprache entwickelt wurde. Die ersten Programmiersprachen waren problemorientiert und folgten dem prozeduralen Programmierparadigma. Die Blockorientierung kam erst mit ALGOL auf, um 1970 begann sich mit Pascal die so genannte strukturierte Programmierung durchzusetzen. Parallel dazu entwickelte sich ab ca das objektorientierte Programmierparadigma, im Wesentlichen über die Stufen der Sprache Smalltalk. Es mündete ab ca in die Einbringung objektorientierter Aspekte in die meisten Programmiersprachen. Symbolische Programmierung zur Lösung nicht-nummerischer Probleme begann um 1960 mit LISP und mündet heute in das deklarative Programmierparadigma. Ab 1960 entwickelten sich aus der Job Control Language JCL eine Vielzahl von Skriptsprachen, die eine einfache Integration anderer Programme und Abläufe ermöglichen. Nach 1975 entstanden deskriptive Sprachen, die jeweils mehr oder weniger Programmlogik beinhalten, vgl. Tabelle 1.3 in Abschnitt 1.7. Heute existieren weit über 1000 verschiedene Programmiersprachen, die teilweise nur wenige Jahre en vogue sind [S96].

2 18 1 Einleitung Deskriptive Sprachen SGML HTML VRML XML BASIC DSL PostScript Perl REXX Tcl JCL Tcl/Tk Maschinensprache Assembler APL FORTH SQL JavaScript PHP COBOL 68 COBOL 74 awk Python VB.NET VBasic FORTRAN COBOL SNOBOL COBOL 85 C Lambda-Kalkül ALGOL 60 ALGOL 68 FORTRAN 77 FORTRAN 90 FORTRAN 95 COBOL 2002 FORTRAN 2000 PL/I Pascal Ada C++ Simula Oberon LOGO Lisp PROLOG MODULA-2 Miranda Object Pascal/ Delphi Ada95 Scheme Logikkalküle CLOS Java C# Dylan Smalltalk 80 Eiffel Haskell Oz Mondrian Smalltalk CSP Occam CLP Bild 1.1: "Stammbaum" der wichtigsten Programmiersprachen und ihrer Abkömmlinge. Vgl. dazu auch Tabelle 1.3

3 1.2 Programmentwicklung Programmentwicklung Die Entwicklung von Programmen erfolgt heute als ingenieurmäßige Arbeit (Software Engineering) und besteht aus mehreren Phasen. In der Spezifikationsphase werden die zu lösenden Probleme im Klartext exakt beschrieben und ggf. Eingrenzungen des Lösungsraumes (z.b. durch Limitierung der Hardware, der Kosten oder der Entwicklungszeit) festgelegt. In der Regel wird dabei ein Lastenheft erstellt. In der Konzeptionsphase wird eine Funktionsplanung des Programmes erstellt, gefolgt von einer Aufwands- und Terminplanung für die Entwicklungsarbeit. In der Entwurfsphase erfolgt zunächst der Systementwurf, in welchem Datenstrukturen, Algorithmen und Schnittstellen festgelegt werden. Er wird vom Programmentwurf gefolgt, in dem die Programmstruktur festgelegt und schrittweise verfeinert wird. Oft erfolgt dies durch Formulierung in einer Zwischensprache, z.b. als Programmablaufplan, Struktogramm oder in einer Modellierungssprache. In der Codierungsphase wird Quelltext in der ausgewählten Programmiersprache erzeugt. Dabei werden in der Regel mehrere Edit-Compile- Test-Zyklen durchlaufen. Tests sind in der Regel aber auf syntaktische und semantische Aspekte beschränkt und überprüfen nicht die eigentliche Programmlogik. Diese Überprüfung erfolgt in der Testphase, meist in Form von Moduloder Klassentests sowie Integrationstests. Im Fehlerfall führt dies zum Rücksprung in die Codierungsphase oder gar in eine noch frühere Phase. Letzteres sollte vermieden werden, weil es den Projekterfolg gefährdet. In der Freigabephase oder Releasephase wird das fertige Software- Produkt an den Endanwender ausgeliefert. Selbstverständlich wird der gesamte Arbeitsablauf vollständig in einer Dokumentation niedergelegt, diese ist mindestens in Teilen auch dem Endanwender auszuhändigen und bildet die Basis für Schulungen Industrielle Software-Entwicklung Die industrielle Programmentwicklung versucht heute, mehr und mehr standardisierte Verfahren zu verwenden. Ziel ist einerseits, bereits existierende Programmbestandteile ( Unterprogramme, Module, Klas-

4 20 1 Einleitung sen, Objekte, Bibliotheken) möglichst ohne Anpassung wiede zu verwenden. Andererseits sollen auch bewährte Architekturen von Programmen oder Programmteilen wieder verwendet werden ( Entwurfsmuster). Im industriellen Sektor haben sich deshalb integrierte Entwicklungsumgebungen ( IDE) weitgehend durchgesetzt. Viele dieser Systeme erlauben auch die gemeinsame Bearbeitung großer Projekte durch Zugriff auf ein gemeinsames Code-Repository, welches eine automatisierte Versionskontrolle bietet. Darüber hinaus bieten solche Entwicklungsumgebungen häufig Code-Generatoren und Möglichkeiten zur visuellen Programmierung an, man spricht dann von CASE-Tools (CASE = Computer Aided Software Engineering). Für die industrielle Software-Entwicklung gibt es eine Vielzahl von Vorgehensmodellen, vom Wasserfallmodell [WM] über das V-Modell [VM] bis zum Extreme Programming [XP]. Bisher hat sich kein Verfahren allgemein durchgesetzt. Der Grund dafür ist in der Vielzahl von unterschiedlichen Firmenkulturen zu suchen, sowie in der Tatsache, dass nach wie vor Menschen mit allen individuellen Stärken und Schwächen die Programme schreiben. Näheres siehe in [TBI] Open Source-Software Es ist bewiesen, dass kein formales Verfahren zur Verifizierung beliebiger Programme existiert. Damit kann die Fehlerfreiheit von Programmen weitestgehend nur dann gewährleistet werden, wenn seine Bestandteile lange genug der Kritik von Benutzern ausgesetzt waren. Dies gilt insbesondere für Programme, bei denen auch der Quelltext öffentlich zur Verfügung steht: Fehler können nicht nur entdeckt, sondern von einer Vielzahl von Personen auch im Quelltext lokalisiert werden. Die ersten Open Source-Projekte entstanden schon ab 1965, richtig an Boden gewonnen hat dieses Prinzip aber erst mit dem Aufstieg des Internet. Zwei wichtige Beispiele dafür sind das Open Source-Betriebssystem Linux und der Web-Server Apache. Bei großen Open Source-Projekten arbeiten teilweise mehrere hundert Programmierer zusammen, ohne sich jemals persönlich zu treffen. Das Verfahren ist damit von erheblicher Bedeutung für die Zukunft der Programmentwicklung.

5 1.3 Programmierung Normung Die internationale Normung von Programmiersprachen erfolgt durch verschiedene Gremien, etwa die International Standardization Organisation ISO und die European Computer Manufacturers Association ECMA. Von Bedeutung ist auch das American National Standards Institute ANSI. Die Bedeutung einer solchen Normung ist jedoch zu relativieren: Einerseits dauert es u.u. Jahrzehnte bis zu einer Normung, andererseits unterlaufen Hersteller die geltenden Normen oft durch rasche Weiterentwicklung proprietärer Sprachen. Die Verwendung genormter Sprachen spielt deshalb in der Neuentwicklung oft eine untergeordnete Rolle - sie ist hingegen eminent wichtig bei der Wartung oder gar Wiederverwendung von älterem Programmcode. Die "natürliche Lebensdauer" einer Software steht deshalb in Zusammenhang mit der Normungsfrage. 1.3 Programmierung Vorgehensweise Unter Programmierung verstehen wir im Speziellen die Entwurfs- und Codierungsphase des in Abschnitt 1.3 beschriebenen Ablaufs, also Systementwurf, Programmentwurf und Codierung. Dabei werden zunächst die Eingabedaten, die zu verarbeitenden Daten und die Ausgabedaten definiert, strukturiert und mit Namen versehen. Als Nächstes müssen die Programmstruktur entsprechend dem Programmierparadigma der ausgewählten Programmiersprache definiert werden sowie für jede zu erstellende Quelltextdatei ein Programmkopf mit Hinweisen auf Autor, Erstellungsdatum etc. eingegeben werden. Bei integrierten Entwicklungsumgebungen ( IDE) und CASE-Tools erfolgt dies in der Regel halbautomatisch. Schließlich sind die Programmkomponenten als Quelltext einzugeben, hierbei kann in integrierten Umgebungen evtl. eine Unterstützung durch visuelle Programmierung erfolgen. Kommentare sind dabei bereits während der Code-Erzeugung einzubauen, erzeugter Code ist - falls dies nicht automatisch geschieht - mit Versionsnummern zu versehen und zu archivieren.

6 22 1 Einleitung Regeln guter Programmierung Quelltext muss unbedingt durch Einrückung von Schleifenebenen, Kommentarzeilen und Leerzeilen strukturiert werden. Variablennamen sollen aussagekräftig sein, wenn möglich sollen ihre Namen durch Binnenmajuskeln (Großbuchstaben im Wortinneren) strukturiert werden. Das Grundprinzip des defensiven Sprachgebrauchs ist zu beachten: Nicht der kürzeste und am schwersten lesbare Code ist der Beste, sondern derjenige mit der größten Einfachheit und Klarheit. Code sollte portabel, d.h. keinesfalls auf einen bestimmten Compiler oder eine bestimmte Laufzeitumgebung zugeschnitten sein. Code für eine bestimmte Rechnerarchitektur oder ein bestimmtes Betriebssystem sollte eindeutig als solcher gekennzeichnet und von der Hauptlogik des Programms möglichst trennbar sein. Direkte Sprungbefehle entsprechen nicht mehr dem Stand der Technik und sollten vermieden werden. 1.4 Klassifizierung von Programmiersprachen Tabelle 1.1: Klassifizierung von Programmiersprachen nach Generationen Generation 1 Binäre Maschinensprachen 2 Assemblersprachen 3 Problemorientiert, imperative/prozedurale Sprachen 4 4GL-Sprachen sind anwendungsorientiert, z.b. SQL, Maple 5 Deklarative Programmiersprachen Tabelle 1.2: Klassifizierung von Programmiersprachen nach dem Programmierparadigma. Zur Erklärung siehe Glossar (Abschnitt 1.5) Paradigma Hier behandelt Weitere Beispiele imperativ/ prozedural funktional/ applikativ logisch/ prädikativ Ada83, BASIC, C, COBOL, FORTRAN, MODULA-2, Pascal LISP PROLOG ALGOL, COMAL, ELAN, PL/I, Simula, SNOBOL Scheme, LOGO, ML, Miranda, Erlang, Haskell CLP

7 1.4 Klassifizierung von Programmiersprachen 23 objektbasiert objektorientiert JavaScript Ada95, C++, C#, Java, Smalltalk AppleScript Self, Oberon, Eiffel Tabelle 1.3: Die wichtigsten Programmiersprachen Sprache Kurzbeschreibung Ada Vgl. Kapitel 9 ALGOL "Algorithmic Language", ab 1960 ANSYS APL APT "Analysis Systems", zur Beschreibung von Berechnung mit der Finite-Elemente-Methode "A Programming Language", spezifiziert 1961 von Iverson "Automatic Programmed Tools", Sprache für Werkzeugmaschinen ab 1959 Assembler Vgl. Glossar in Abschnitt 1.5 AutoCAD awk BASIC Vgl. Kapitel 12 BCL 4GL-Sprache für Copmputer Aided Design Stringverarbeitungssprache im Betriebssystem Unix Vorläufer von C C Vgl. Kapitel 2 C* C-Dialekt für Parallelprogrammierung C# Vgl. Kapitel 5 C++ Vgl. Kapitel 3 CHILL "CCITT HIgh Level Language", ab 1976 für Telekommunikationszwecke entwickelt CLOS Common LISP Object System, 1988 CLP "Constrained Logic Programming Language" ab 1990 COBOL Vgl. Kapitel 11 CSP Delphi DSL Formale Sprache zur Beschreibung paralleler Prozesse Objektorientierter Nachfolger von Pascal Design System Language, Vorläufer von PostScript Dylan "Dynamic Language", Abkömmling von Scheme, 1992 Eiffel Abkömmling von Smalltalk, 1987 Erlang Echtzeitfähige Sprache mit funktionalem Paradigma FORTH Problemorientierte Sprache ab 1971 FORTRAN 1. höhere Programmiersprache ab 1954, vgl. Kapitel 10

8 24 1 Einleitung Sprache Kurzbeschreibung Haskell Funktionale Programmiersprache, ab 1990 HTML IDL Java Vgl. Kapitel 4 "Hypertext Markup Language", deskriptive Sprache für Web-- Seiten. Vgl. [TBMM] "Interface Definition Language" zur abstrakten Beschreibung von verteilten Objekten JavaScript Vgl. Kapitel 14 JCL "Job Control Language", Skriptsprache ab 1960 LISP "List Processor", symbolorientierte Sprache ab 1960 LOGO LISP-Abkömmling ab 1970 Maple Vgl. Kapitel 23 Mathematica Vgl. Kapitel 22 Matlab Vgl. Kapitel 24 Miranda Funktionale Skriptsprache Modula-2 Vgl. Kapitel 8 Mondrian Oberon Occam Funktionale Sprache ähnlich Haskell Nachfolger von Modula-2 und Pascal Sprache für Parallelprogrammierung von Transputern Pascal Vgl. Kapitel 6 und 7 PEARL Perl Vgl. Kapitel 15 PHP Vgl. Kapitel 17 "Process and Experimental Automation Realtime Language". PL/I "Programming Lanuage I", Vorläufer von C, ab 1964 PostScript PROLOG Vgl. Kapitel 20 Seitenbeschreibungssprache, vgl. [TBMM] Python Skriptsprache, ab 1991 Scheme LISP-Dialekt, 1975 Self Objektorientierte Sprache, ab 1991 SGML "Standard Generalized Markup Language", deskriptive Sprache zur Markierung von Texten ab 1978 Simula Vorläufer von Smalltalk, 1966 Smalltalk Vgl. Kapitel 21 SNOBOL "String oriented Symbolic Language", 1965 SQL "Standard Query Language", Datenbanksprache seit 1980

9 1.5 Glossar Programmiersprachen 25 Sprache Kurzbeschreibung Tcl Vgl. Kapitel 16 VBasic Visual Basic, vgl. Kapitel 13 VRML XML "Virtual Reality Modeling Language", eine deskriptive Sprache zur Modellierung dreidimensionaler Welten. vgl. [TBMM] "extensible Markup Language", eine Metasprache zur Definition von deskriptiven Sprachen. Vgl. [TBMM] 1.5 Glossar Programmiersprachen Abgeleitete Klasse Eine abgeleitete Klasse ist eine Spezialisierung einer Basisklasse und erbt deren Eigenschaften. Abstrakte Klasse Von abstrakten Klassen können keine Objekte erzeugt werden. Sie dienen dazu, gemeinsam genutzte Funktionalität für abgeleitete Klassen zur Verfügung zu stellen. Weiterhin erlaubt eine abstrakte Klasse die Festlegung einer gemeinsamen Schnittstelle für alle daraus abgeleiteten Klassen. Abstrakte Operation Es handelt sich hierbei um die Festlegung einer Signatur für eine Operation, ohne das Verhalten (die Methode) zu implementieren. Enthält eine Klasse eine abstrakte Operation, so ist die Klasse selbst auch abstrakt. Abstrakte Operationen können in abgeleiteten Klassen überschrieben und damit implementiert werden. Aggregation Die Aggregation beschreibt eine Beziehung zwischen Klassen, die sich in einer Ganzes-Teile-Hierarchie ausdrückt. Eine Klasse als Ganzes setzt sich aus mehreren anderen Klassen, den Teilen, zusammen. Objekte der Teile können auch weiterexistieren, wenn das Ganze gelöscht wurde. Aktive Klasse Jedes Objekt der Klasse besitzt einen eigenen Kontrollfluss (Thread).

10 26 1 Einleitung Aktives Objekt Objekt einer aktiven Klasse. Algorithmus Rechenvorschrift Anwendungsorientierte Programmiersprache Sprachen der 4. Generation(vgl. Tabelle 1.1) sind in der Regel an spezielle Zwecke angepasst. Die damit erzeugten Programme liegen nicht als Binärcode vor, sondern werden von speziellen Laufzeitumgebungen meist interpretativ abgearbeitet. Applikatives Programmierparadigma Funktionales Programmierparadigma Architektur Die Architektur definiert die grundlegende Struktur eines Softwaresystems, d.h., seine Zerlegung in Module und deren Zusammenwirken. Argument Parameter einer Operation oder Funktion. Assembler Am Prozessor orientierte Programmiersprache, in welcher direkt der ausführbare Maschinencode programmiert wird. Assoziation Eine Assoziation beschreibt eine allgemeine Beziehung zwischen Klassen. Beispielsweise kann eine Klasse Bild eine Beziehung zur Klasse Position haben, die die Position des Bildes auf dem Bildschirm beinhaltet. Objekte beider Klassen dürfen unabhängig voneinander existieren. Assoziationen können gerichtet (unidirektional) sein. Damit kennt beispielsweise das Bild zwar seine Position, die Position aber nicht das Bild. Die Klassen an den Enden einer Assoziation werden Assoziationsrollen genannt. Kardinalitäten an einer Assoziation drücken aus, wie viele Objekte der Klassen untereinander in Beziehung stehen. Assoziationsrolle Beschreibt die Aufgabe, die eine Klasse in einer Assoziation erfüllt.

Geschichte der Programmiersprachen

Geschichte der Programmiersprachen Erster Vorläufer: das Plankalkül, 1942 von K. Zuse, erst 1975 erstmals vollständig beschrieben und implementiert, keine praktische Relevanz Sprachen der 1. Generation (1.GL): Maschinensprachen: binär,

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

Taschenbuch Programmiersprachen

Taschenbuch Programmiersprachen Taschenbuch Programmiersprachen von Peter A. Henning, Holger Vogelsang 2., neu bearbeitete Auflage Hanser München 2007 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 40744 2 Zu Inhaltsverzeichnis

Mehr

Handbuch Programmiersprachen

Handbuch Programmiersprachen Handbuch Programmiersprachen Peter A. Henning, Holger Vogelsang Softwareentwicklung zum Lernen und Nachschlagen ISBN 3-446-40558-5 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40558-5

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

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

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

1. Einführung Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

1. Einführung Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1. Einführung Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Ein Zitat zu Beginn Vor der Wahl, ein theoretischer Physiker oder ein Programmierer

Mehr

n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -

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

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

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

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

10. Programmierungs-Phase: Objektorientierung Software Engineering

10. Programmierungs-Phase: Objektorientierung Software Engineering 10. Programmierungs-Phase: Objektorientierung Software Engineering Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 15. Dezember 2005 Einordnung in den Kontext

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

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 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 - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 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

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

7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:

Mehr

1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog. IV.1 Grundkonzepte der logischen Programmierung - 1 -

1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog. IV.1 Grundkonzepte der logischen Programmierung - 1 - 1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog IV.1 Grundkonzepte der logischen Programmierung - 1 - Übersicht Imperative Sprachen Deklarative Sprachen Folge von

Mehr

Wie entsteht ein Computerprogramm?

Wie entsteht ein Computerprogramm? Wie entsteht ein Computerprogramm Grundstrukturen von Programmen Programmiersprachen Entwicklungsschritte eines Programms Programmdokumentation Seite 1 Telefonanruf-Algorithmus Start Rufnummer bereitstellen

Mehr

6. Programmiersprachen im Überblick. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

6. Programmiersprachen im Überblick. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 6. Programmiersprachen im Überblick K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 21. Okt. 2015 2 Was ist das: eine Programmiersprache? Formale Sprache *), die zur Beschreibung

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

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 Agenda Elementare Einführung C Programm Syntax Datentypen, Variablen und Konstanten Operatoren und Ausdrücke Kontrollstrukturen

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

Einführung in die Programmierung

Einführung in die Programmierung Einleitung Gliederung Einführung in die Programmierung Wintersemester 2017/18 Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering

Mehr

1.3 Geschichte der Programmiersprachen

1.3 Geschichte der Programmiersprachen 50er Jahre erste Definition höherer Programmiersprachen Effizienz maßgebliches Designziel FORTRAN (Backus) als Sprache für wissenschaftliches Rechnen (komplexe Berechnungen, einfachen Daten), Arrays, Schleifen,

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

Einführung in die Programmierung Wintersemester 2016/17

Einführung in die Programmierung Wintersemester 2016/17 Einführung in die Programmierung Wintersemester 2016/17 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Einleitung Gliederung Zum Begriff Informatik Zum

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

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

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Semantik von Programmiersprachen

Semantik von Programmiersprachen Semantik von Programmiersprachen 1. Einführung Werner Struckmann Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Sommersemester 2013 1. Einführung 1.1 Sprachen und

Mehr

Selda Garip MatrikelNr.: 0200012 Kennzahl: 533 seldaaa83@hotmail.com

Selda Garip MatrikelNr.: 0200012 Kennzahl: 533 seldaaa83@hotmail.com Selda Garip MatrikelNr.: 0200012 Kennzahl: 533 seldaaa83@hotmail.com Agenda Geschichte der OOP Geschichte von Self Definition Syntax und Semantik Besonderheiten und Anwendungen Vorteile & Nachteile Motivation

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

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

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

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende

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

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

Übung - Modellierung & Programmierung II

Übung - Modellierung & Programmierung II 1 Übung - Modellierung & Programmierung II Mathias Goldau, Stefan Koch, Wieland Reich, Dirk Zeckzer, Stefan Philips, Sebastian Volke math@informatik.uni-leipzig.de stefan.koch@informatik.uni-leipzig.de

Mehr

Abschnitt 16: Objektorientiertes Design

Abschnitt 16: Objektorientiertes Design Abschnitt 16: Objektorientiertes Design 16. Objektorientiertes Design 16 Objektorientiertes Design Informatik 2 (SS 07) 610 Software-Entwicklung Zur Software-Entwicklung existiert eine Vielfalt von Vorgehensweisen

Mehr

Semantik von Programmiersprachen

Semantik von Programmiersprachen Semantik von Programmiersprachen 1. Einführung Werner Struckmann Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Sommersemester 2017 1. Einführung 1.1 Sprachen und

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

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

Programmieren für Fortgeschrittene

Programmieren für Fortgeschrittene Programmieren für Fortgeschrittene 1. Einführung Werner Struckmann Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Wintersemester 2013/2014 1. Einführung 1.1 Sprachen

Mehr

Programmiersprachen. Organisation und Einführung. Berthold Hoffmann. Studiengang Informatik Universität Bremen

Programmiersprachen. Organisation und Einführung. Berthold Hoffmann. Studiengang Informatik Universität Bremen Organisation und Einführung Studiengang Informatik Universität Bremen Sommersemester 2010 (Vorlesung am Montag, der 12. April 2010) (Montag, der 12. April 2008) 1 Vorstellung 2 Organisation 3 Einführung

Mehr

10 Erweiterung und Portierung

10 Erweiterung und Portierung 10.1 Überblick In vielen Fällen werden Compiler nicht vollständig neu geschrieben, sondern von einem Rechnersystem auf ein anderes portiert. Das spart viel Arbeit, ist aber immer noch eine sehr anspruchsvolle

Mehr

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h> Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include main() { printf( hello world\n ); } Peter Sobe 1 Die Großfamilie der C-Sprachen

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

2. JAVA-Programmierung. Informatik II für Verkehrsingenieure

2. JAVA-Programmierung. Informatik II für Verkehrsingenieure 2. JAVA-Programmierung Informatik II für Verkehrsingenieure Problem-Algorithmus-Umsetzung Problemstellung Algorithmus Umsetzung 2 Beispiele für Algorithmen 3 Definitionsversuch Algorithmus Anleitung, wie

Mehr

Programmiersprachen Proseminar

Programmiersprachen Proseminar Programmiersprachen Proseminar Prof. Dr. Manfred Schmidt-Schauß Künstliche Intelligenz/Softwaretechnologie Programmiersprachen Proseminar SS 2005 p.1/25 Personen Prof. Dr. Manfred Schmidt-Schauß, Zimmer

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

Funktionale Programmierung (in Clojure)

Funktionale Programmierung (in Clojure) Funktionale Programmierung (in Clojure) Einführung Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Wintersemester 2014/15 Übersicht Paradigmen von Programmiersprachen Paradigmen von Programmiersprachen

Mehr

4 Ausklang. ALP 2, Hannes Federrath, Sommersemester 2001

4 Ausklang. ALP 2, Hannes Federrath, Sommersemester 2001 ALP 2, Hannes Federrath, Sommersemester 2001 4 Ausklang Inhalt des Kapitels im Überblick: In diesem Kapitel sollen zum Ausklang der Vorlesung folgende Schwerpunkte behandelt werden: Software-Entwicklungsprozess

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

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

Programmierung: Ein erster Überblick

Programmierung: Ein erster Überblick Programmierung Programmierung: Ein erster Überblick Programmieren ist das Erstellen eines Programms oder den Teil eines Programms durch einen Programmierer. Unter Verwendung einer oder mehrerer Programmiersprachen

Mehr

Testen mit JUnit. Apcon Workplace Solutions Member of itelligence. Testen von Java-Code mit JUnit. ÿstruktur eines Testfalls

Testen mit JUnit. Apcon Workplace Solutions Member of itelligence. Testen von Java-Code mit JUnit. ÿstruktur eines Testfalls Testen von Java-Code mit JUnit ÿmotivation ÿjunit-testklassen ÿjunit-testfälle ÿstruktur eines Testfalls Henning Wolf APCON Workplace Solutions GmbH wolf@jwam.de Motivation: Werkzeugunterstützung für Tests

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

Teil 1: Einführung 1.5 Programmierparadigmen Prof. Dr. Max Mühlhäuser FG Telekooperation TU-Darmstadt

Teil 1: Einführung 1.5 Programmierparadigmen Prof. Dr. Max Mühlhäuser FG Telekooperation TU-Darmstadt Grundzüge der Informatik 1 Teil 1: Einführung 1.5 Programmierparadigmen Prof. Dr. Max Mühlhäuser FG Telekooperation TU-Darmstadt Agenda Was sindprogrammierparadigmen? Die wichtigsten Programmiersprachentypen

Mehr

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012 Einführung in modellgetriebene Softwareentwicklung 24. Oktober 2012 Überblick Was sind die Grundprinzipien der modellgetriebenen Softwareentwicklung? Entwicklung einer MDD-Infrastruktur Modellgetriebene

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

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich 13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,

Mehr

Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler. Joliot-Curie-Gymnasium GR 2010 Nico Steinbach

Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler. Joliot-Curie-Gymnasium GR 2010 Nico Steinbach Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler Joliot-Curie-Gymnasium GR 2010 Nico Steinbach 0. Organisatorisches Warum habt Ihr euch für den Kurs eingeschrieben?

Mehr

4 Grundlagen der Datenbankentwicklung

4 Grundlagen der Datenbankentwicklung 4 Grundlagen der Datenbankentwicklung In diesem Kapitel werden wir die Grundlagen der Konzeption von relationalen Datenbanken beschreiben. Dazu werden Sie die einzelnen Entwicklungsschritte von der Problemanalyse

Mehr

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten,

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Glossar Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Methoden und/oder Eigenschaften, die eine bestimmte Berechnung ausführt, eine Eigenschaft ändert oder eine Methode

Mehr

Lehrpläne NRW Sek.stufe 2. Lernen im Kontext

Lehrpläne NRW Sek.stufe 2. Lernen im Kontext Lehrpläne NRW Sek.stufe 2 Lernen im Kontext Fachliche Inhalte Lernziele Informatik NRW Fähigkeit, komplexe Zusammenhänge mit gedanklicher Schärfe zu durchdringen (Problemanalyse) Überblick über unterschiedliche

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

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

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,

Mehr

JetSym. Programmierung in Hochsprache ST nach IEC-61131-3. We automate your success.

JetSym. Programmierung in Hochsprache ST nach IEC-61131-3. We automate your success. JetSym Programmierung in Hochsprache ST nach IEC-61131-3 We automate your success. JetSym das Tool JetSym ist das zentrale Programmiertool der Jetter AG, das alle Funktionen der Automatisierungstechnik

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

KVIrc - registrierte Benutzer i. KVIrc - registrierte Benutzer

KVIrc - registrierte Benutzer i. KVIrc - registrierte Benutzer i KVIrc - registrierte Benutzer ii REVISION HISTORY NUMBER DATE DESCRIPTION NAME iii Contents 1 Einleitung 1 1.1 Wozu?......................................................... 1 1.2 Wie?..........................................................

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

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

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

Vorlesung Programmieren. Programmiersprachen-Paradigmen. Programmierparadigmen. Eine Programmiersprache dient dem Aufschreiben von Algorithmen

Vorlesung Programmieren. Programmiersprachen-Paradigmen. Programmierparadigmen. Eine Programmiersprache dient dem Aufschreiben von Algorithmen 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

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

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

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Klaus Knopper 09.11.2004 Inhaltsverzeichnis Programmiersprachen Eine Programmiersprache ist eine formale Sprache zur Darstellung (Notation) von Computerprogrammen. Sie vermittelt

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/15 1 / 26 Allgemeines Progammiersprachen Objektorientierte Programmierung Grundlegende Eigenschaften

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

Software- und Systementwicklung

Software- und Systementwicklung Software- und Systementwicklung Seminar: Designing for Privacy 11.11.2009 Moritz Vossenberg Inhalt Vorgehensmodelle Wasserfallmodell V-Modell Phasen (Pflichtenheft) UML Klassendiagramm Sequenzdiagramm

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

Testen Prinzipien und Methoden

Testen Prinzipien und Methoden Testen Prinzipien und Methoden ALP 2 SS2002 4.7.2002 Natalie Ardet Definition Im folgenden gilt: Software = Programm + Daten + Dokumentation Motivation Software wird immer mehr in Bereichen eingesetzt,

Mehr

INP (1) Prof. Dr.-Ing. S. Gössner. University of Applied Sciences Lippe & Höxter

INP (1) Prof. Dr.-Ing. S. Gössner. University of Applied Sciences Lippe & Höxter INP (1) 1 of 25 INP (1) Prof. Dr.-Ing. S. Gössner University of Applied Sciences Lippe & Höxter INP (1) 2 of 25 Inhalt INP (1) Inhalt Kontakt Ziele Anforderungen Programmieren Softwareentwicklung vs. Programmieren

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

Anmerkungen zur Erstellung, dem automatisierten Versand und der automatisierten Auswertung von pdf-formularen

Anmerkungen zur Erstellung, dem automatisierten Versand und der automatisierten Auswertung von pdf-formularen Anmerkungen zur Erstellung, dem automatisierten Versand und der automatisierten Auswertung von pdf-formularen Vorbemerkung Häufig besteht die Notwendigkeit pdf-formulare Kunden, Mitarbeitern etc. zur Verfügung

Mehr

VL2: Softwareprojekt - Anforderungsanalyse. Inhalt. 1. Struktur eines Softwareprojektes

VL2: Softwareprojekt - Anforderungsanalyse. Inhalt. 1. Struktur eines Softwareprojektes Dozent: G.Döben-Henisch (Version vom 16.April 2005) PPmP VL2 VL2: Softwareprojekt - Anforderungsanalyse Inhalt 1. Struktur eines Softwareprojektes 2. Anforderungsanalyse 1. Struktur eines Softwareprojektes

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

L1 Programmiersprachen

L1 Programmiersprachen 1 Einführung Delphi 1.1 Wie erstelle ich eigene Software? Um spezielle Problemlösungen zu erstellen bzw. Unterstützung durch den Computer zu erfahren, bedient sich der Anwender spezifischer Softwareprogramme,

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

Produktskizze. 28. November 2005 Projektgruppe Syspect

Produktskizze. 28. November 2005 Projektgruppe Syspect 28. November 2005 Carl von Ossietzky Universität Oldenburg Fakultät II Department für Informatik Abteilung Entwicklung korrekter Systeme Inhaltsverzeichnis 1 Einleitung 3 2 Die graphische Oberfläche der

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

Model Driven Architecture Praxisbeispiel

Model Driven Architecture Praxisbeispiel 1 EJOSA OpenUSS CampusSource Model Driven Architecture Praxisbeispiel 2 Situation von CampusSource-Plattformen Ähnliche Funktionen (Verwaltung von Studenten und Dozenten, Diskussionsforen,...), jedoch

Mehr

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> 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

Programmieren in Haskell Einführung

Programmieren in Haskell Einführung Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 16.10.2009 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:

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

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,

Mehr