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

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.

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

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

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

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

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

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

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

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

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

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

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.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

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

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

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

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

Ü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

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

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

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

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

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

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

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

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

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

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

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

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

Grundlagen der Programmierung UE

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

Mehr

Einführung in die 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

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

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

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

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

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

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

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

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

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

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

WS 2011/2012. Georg Sauthoff 1. November 10, 2011

WS 2011/2012. Georg Sauthoff 1. November 10, 2011 in in WS 2011/2012 Georg 1 AG Praktische Informatik November 10, 2011 1 gsauthof@techfak.uni-bielefeld.de Kontakt in Dr. Georg Email: gsauthof@techfak.uni-bielefeld.de M3-128 in Organisation der Übungen

Mehr

1. Einführung. Grundbegriffe: Programm vs. Software. 1.1 Programmierung & Software 1.2 Programmiersprachen

1. Einführung. Grundbegriffe: Programm vs. Software. 1.1 Programmierung & Software 1.2 Programmiersprachen 1. Einführung 1.1 Programmierung & Software 1.2 Programmiersprachen Folie 9 Apr-05 Grundbegriffe: Programm vs. Software Eine zur Lösung einer Aufgabe vollständige Anweisung zusammen mit allen erforderlichen

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

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

Hochschule Darmstadt Prof.Dr. H.P.Weber. Programmieren 1. 2006 Pearson Education, Inc. All rights reserved.

Hochschule Darmstadt Prof.Dr. H.P.Weber. Programmieren 1. 2006 Pearson Education, Inc. All rights reserved. 1 PG 1 Hochschule Darmstadt Prof.Dr. H.P.Weber Programmieren 1 2 Inhalt von Programmieren 1 1 Einführung 2 Grundelemente der C++ Programmierung 3 Einführung in Klassen und Objekte 4 Kontrollanweisungen:

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

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

Um die Möglichkeiten ihres Betriebssystems besser nutzen zu können, beschäftigt sich Kerstin zunächst einmal mit den Grundlagen.

Um die Möglichkeiten ihres Betriebssystems besser nutzen zu können, beschäftigt sich Kerstin zunächst einmal mit den Grundlagen. 110 Betriebssystem Windows XP Betriebssystem 2 Betriebssystem Windows XP Windows XP ist für den Einsatz in Netzwerken konzipiert. Die Benutzeroberfläche macht den Umgang mit dem Personalcomputer auch für

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

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

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include

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

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

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

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

Fachinformatiker/Fachinformatikerin

Fachinformatiker/Fachinformatikerin Fachinformatiker/Fachinformatikerin Berufsbezeichnung Fachinformatiker/Fachinformatikerin Ausbildungsdauer 3 Jahre. Die Ausbildung erfolgt in einer der folgenden Fachrichtungen:! Anwendungsentwicklung!

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

Konzepte hinter Microsoft's.NET. Ein Hauptseminarvortrag von Michael Voigt

Konzepte hinter Microsoft's.NET. Ein Hauptseminarvortrag von Michael Voigt Konzepte hinter Microsoft's.NET Ein Hauptseminarvortrag von Michael Voigt Gliederung des gesamten Vortrags 1.Einleitung: Was ist.net? 2.Das.NET Framework 3.Threading unter.net 4.Anwendungen 5.Plattformunabhängigkeit

Mehr

Praktische Softwaretechnologie

Praktische Softwaretechnologie Praktische Softwaretechnologie Martin Giese Johann Radon Institute for Computational and Applied Mathematics Österr. Akademie der Wissenschaften Linz PSWT 2006 p.1/31 Organisation PSWT 2006 p.2/31 Bestandteile

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

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

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

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

Hochschule Darmstadt Prof.Dr. H.P.Weber. Informatik 1. 2006 Pearson Education, Inc. All rights reserved.

Hochschule Darmstadt Prof.Dr. H.P.Weber. Informatik 1. 2006 Pearson Education, Inc. All rights reserved. 1 Inf 1 Hochschule Darmstadt Prof.Dr. H.P.Weber Informatik 1 2 Inhalt von Informatik 1 1 Einführung 2 Grundelemente der C Programmierung 3 Kontrollanweisungen: Teil 1 4 Kontrollanweisungen: Teil 2 5 Funktionen

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

Grundlagen der Informatik für Ingenieure I

Grundlagen der Informatik für Ingenieure I Vorlesung Grundlagen der Informatik für Ingenieure I G. Bolch, C.-U. Linster, F.-X. Wurm Informatik 4 SS 2003.1 1 Einführung und Informationen zur Vorlesung 1 Einführung und Informationen zur Vorlesung

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

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

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

1. Einführung Grundlagen der Programmierung 1 (Java)

1. Einführung Grundlagen der Programmierung 1 (Java) 1. Einführung Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 27. September 2005 Agenda Agenda Übersicht und Organisation

Mehr

1. Entwicklung der Datenverarbeitung

1. Entwicklung der Datenverarbeitung 1. Entwicklung der Datenverarbeitung 1.1. Vom Abakus zum Pentium Schon im Altertum war man bestrebt, sich Hilfsmittel zu schaffen, die das Zählen und Rechnen erleichterten. Formulierung mechanischer Abläufe

Mehr

Grundlagen der Programm- und Systementwicklung

Grundlagen der Programm- und Systementwicklung Grundlagen der Programm- und Systementwicklung Technische Universität München Institut für Informatik Software & Systems Engineering Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. Maria Spichkova

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

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

4.A Programmierung. Bausteine der Programmierung: Problemformulierungen Algorithmen Implementierungen Testen Dokumentieren 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 4.A Programmierung

Mehr

Modul 0: Einführung Basiswissen IT/Informatik. Modul 1: Algorithmen & Datenstrukturen

Modul 0: Einführung Basiswissen IT/Informatik. Modul 1: Algorithmen & Datenstrukturen Modul 0: Einführung Basiswissen IT/Informatik 1 Motivation: IT-Arbeitsmarkt 19 2 Warum eine Aufteilung in IT, IK, IN? 21 3 Was ist Informationstechnik (IT)? 22 4 Was ist Informatik (IK)? 23 5 Was ist das

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

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

Qualitätssicherungskonzept

Qualitätssicherungskonzept Qualitätssicherungskonzept Web Annotation mit Fragment Ids Gruppe: swp12-9 Inhaltsverzeichnis 1. Dokumentationskonzept...2 1.1. Quelltexte...2 1.2. Änderungsdokumentation...4 1.3. Modellierungsdokumentation...4

Mehr

Konzepte der Programmiersprachen

Konzepte der Programmiersprachen Konzepte der Programmiersprachen Lehrstuhl Prof. Plödereder Eduard Wiebe Institut für Softwaretechnologie Abteilung Programmiersprachen und Übersetzerbau Sommersemester 2007 Programm-Ausführung Programmiersprachen

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

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

Geschichte der Informatik 1/5

Geschichte der Informatik 1/5 Geschichte der Informatik 1/5 Versuche, das Rechnen zu mechanisieren, sind bis an die Anfänge der Mathematik zurück feststellbar. Sie scheiterten aber meist an der technischen Realisierbarkeit. Erst im

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

Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report

Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report Prof. Dr.-Ing. Jörg Böttcher, Deggendorf Zusammenfassung Der vorliegende Beitrag gibt einen Überblick über die heute

Mehr

6. Programmiersprachen im Überblick

6. Programmiersprachen im Überblick Was ist das: eine Programmiersprache? 6. im Überblick Formale Sprache *), die zur Beschreibung von Berechnungen in omputern verwendet wird: Programme = Daten + Algorithmen *) Mengen von Wörtern über einem

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

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS (theoretische Aspekte der Informationsmodellierung) 3. Vorlesung 23.04.2007 Informationsmodelle Phasen der Softwareentwicklung:

Mehr

Einführung in das objektorientierte Programmieren

Einführung in das objektorientierte Programmieren Einführung in das objektorientierte Programmieren Nils Schmeißer Forschungszentrum Rossendorf e.v. Objektorientiertes Programmieren - Nils Schmeißer 1 Inhalt Programmiersprachen Der objektorientierte Programmierstil

Mehr

Programmiersprachen und ihre Übersetzer

Programmiersprachen und ihre Übersetzer Folien zur Vorlesung Programmiersprachen und ihre Übersetzer Kapitel 1 Faculty of Technology robert@techfak.uni-bielefeld.de April 8, 2014 Ziele der Vorlesung Die Vorlesung will einen Einblick geben in

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

Berater-Profil 3079. OOA, OOD, OOP Paralleles und verteiltes Rechnen C/S-Systeme und Internetanwendungen. EDV-Erfahrung seit 1991

Berater-Profil 3079. OOA, OOD, OOP Paralleles und verteiltes Rechnen C/S-Systeme und Internetanwendungen. EDV-Erfahrung seit 1991 Berater-Profil 3079 OOA, OOD, OOP Paralleles und verteiltes Rechnen C/S-Systeme und Internetanwendungen Ausbildung Dipl.-Inform. (Technische Informatik, Universität Tübingen), Dr. rer. nat. (Technische

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 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

Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11. vii. Inhaltsverzeichnis

Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11. vii. Inhaltsverzeichnis Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11 vii 1 Einführung 1 1.1 Motivation.................................... 1 1.2 Vorteile der neuen Techniken...................... 3 1.3 Aufbau des

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 37

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 37 Skript Informatik Seite 1 von 37 Was ist Informatik? - Informatik ist die Wissenschaft von der systematischen Verarbeitung von Informationen, insbesondere deren automatisierte Verarbeitung mit Hilfe von

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

5.1 Algorithmen Der Algorithmenbegriff

5.1 Algorithmen Der Algorithmenbegriff 5.1 Algorithmen 5.1.1 Der Algorithmenbegriff Duden: Algorithmus nach einem bestimmten Schema ablaufender Rechenvorgang Brockhaus: Algorithmus systematisches Rechenverfahren, das zu einer Eingabe nach endlich

Mehr