Softwarepraktikum LEDA/C++ Lehrstuhl fuer Datenstrukturen und effiziente Algorithmen Prof. Naeher Dozent: Daniel Scmitt.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Objektorientierte Programmierung
Programmierung II (SS 2003)
Lineare Suche Divide-and-Conquer-Suche Kombinationssuche
G.Heyer Algorithmen und Datenstrukturen II 1 Algorithmen und Datenstrukturen II Wintersemester 2000 / 2001 Prof. Dr. Gerhard Heyer Institut für Informatik.
5. Sortier-Algorithmen Vorbemerkungen:
Literaturverwaltung und Wissensorganisation
Gliederung des Inhalts
Java: Grundlagen der Sprache
Motivation Richard Göbel.
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (10 - Suchverfahren) T. Lauer.
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen 09 - Weitere Sortierverfahren Heapsort-Nachtrag Prof. Th. Ottmann.
Praxis-Repetitorium JAVA zusätzliche, ergänzende Lehrveranstaltung
Sommersemester 2004 Jan Drewnak Sitzung 1 Praktikum Entwicklung und Einsatz von Geosoftware I Sitzung 1: Einführung und Organisation.
Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein:
Citavi im Prozess der wissenschaftlichen Arbeit
Einführung in die Programmierung
Herzlich Willkommen zu „Einführung in die Programmierung mit Java“
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 3 Folie 2 Windows Presentation Foundation (WPF) s.a.
Computational Thinking Suchen und Sortieren [Ordnung muss sein…]
Präsentation C Tutorium von Daniel J. Nowak Folie 1 C Tutorium.
Effiziente Algorithmen
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering (LS 11) Fakultät für Informatik TU.
Einführung in die Programmierung
Einführung in die Programmierung
Windows Presentation Foundation WS 2013/14 Prof. Dr. Herrad Schmidt
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
Proseminar GMA Web Suche und Information Retrieval (SS07)
LEGO-Robotik mit Java Projekt Virtueller Campus LLB Projektlauzeit: Oktober Februar 2006 Mitarbeiter:Jarka Arnold (Projektleitung) Andreas Marti.
Programmieren ... in C++ Prof. Dr.-Ing. Franz-Josef Behr, HfT Stuttgart Programmeiren I.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms.
Data Warehousing Sommersemester Übung - Ulf Leser Jörg Hakenberg Mailingliste.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
R. Der Algorithmen und Datenstrukturen (Magister) 1 Vorlesung Algorithmen und Datenstrukturen (Magister) Sommersemester 2001 Prof. Dr. Ralf Der Institut.
Einführung in die Programmierung mit Java
Christian Scheideler WS 2008
DVG Einleitung 1 Grundlagen der Datenverarbeitung.
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Von der ersten Clubwebseite seit Zum Rotary Schweiz Clubverwaltungssystem.
Seminar Softwareproduktlinien Domänenspezifische Sprachen Sascha Draffehn von.
Informatik Im WPI – Bereich.
Vorlesung Informatik, Teil 2
Das Entwurfsmuster Model-View-Controller
Graphen.
Eine Präsentation von Sandro Schluep und Leon Wink.
Objektorientierte Programmierung
Beim Umgang der Schülerinnen und Schüler mit Mahara und Moodle
Einführung in die Programmierung
XTM - CMS Content Management mit TopicMaps CMS No. 3 bei iVS
XTM - CMS Content Management mit TopicMaps CMS No. 3 bei iVS
Einführung in die Programmierung mit Java
oinf.ch ganz nach unten scrollen, dem fett gedruckten Link folgen
Informationen zum überschulischen Informatik-LK
Coden mit Python Was sind deine Erfahrungen mit Programmieren?
Raphael Fischer Informatik II - Übung 05 Raphael Fischer
Vorlesung Rechnernetzwerke Studiengang Medieninformatik
Einführung in die Programmierung
Algorithmen und Programmierung III
Mögliche Stoffverteilung im Grundkurs
2. Die rekursive Datenstruktur Baum 2.1 Von der Liste zum Baum
Informatik, Mathematik, Physik (IMP) – ein neues Profilfach
Datenstrukturen und Softwareentwicklung
Einführung in die Programmierung
Bachelor-Studiengang Medizinische Physik:
3. Die Datenstruktur Graph 3.2 Repräsentation von Graphen
Implementierung von Anwendungssystemen
 Präsentation transkript:

Softwarepraktikum LEDA/C++ Lehrstuhl fuer Datenstrukturen und effiziente Algorithmen Prof. Naeher Dozent: Daniel Scmitt

Inhalte Grundlegende Elemente in C++ Einfuehrung in die LEDA Bibliothek (Library of Efficient Data Types and Algorithms) Implementierung einfacher Datenstrukturen und Typen. Implementierung geometrischer Algorithmen und Graphalgorithmen. Visualisierung

Voraussetzungen Informatik I Wir gehen davon aus das Sie: einen Editor benutzen koennen schon mal programmiert haben in Java also wissen was Klassen sind und die Syntax einer prozeduralen Programmiersprache gesehen haben Empfohlen aber nicht notwendig ist Informatik II: Datenstrukturen Sortieralgorithmen Graphalgorithmen

Organisation 2 Phasen: 1. Phase: Praktikum mit begleitenden Uebungen 2. Phase: Projekt Zulassung zum Projekt: min 50 % der Punkte aus den Uebungen hoechsten einmal 0 Punkte Scheinvergabe: Abgabe des Projekts mit Ausarbeitung (Webseite) Kurzvortrag (Beamer, Folien)

Organisation Anmeldung erfolgt schriftlich an einem der ersten beiden Termine Anwesenheitspflicht !! Abgabe der Uebungen per bis darauffolgenden Donnerstag 8:30 Wir bestehen auf Gruppenabgaben. Die Bewertung des Projekts erfolgt Gruppenweise Benotung ist optional

Termine – jeweils Donnerstags 8:30 Uebungen mit Anwesenheitspflicht Einteilung der Gruppen/Aufgaben fuer das Projekt Abgabe Code Abgabe Ausarbeitung Abgabe Vortrag Vortraege

Was ist C++ ? Features: Unterstuetzte Programmierparadigmen: Datenabstarktion, Objektorientierte Programmierung Prozedurale Programmierung Generische Programmierung Kompatibilitaet mit C Effizienz

Was ist C++ ? Historisches: Entwickelt von Bjarne Stroustrup (AT&T) 1980 erweiterte er C um ein Klassenkonzept zu ”C mit Klassen”, seit 1983 C durch starke Verbreitung Einberufung eines ANSI-Komitees zur Standardisierung von C erste Entwurf eines ISO C++-Standards 1998 Ratifizierung des Entwurfs

Warum C++ und nicht Java ? Die Hauptmerkmale von Java sind Portierbarkeit und Sicherheit, erst dann folgt Effizienz. Die Laufzeit von C++ Programmen kann deutlich besser sein. Die Java Garbe Collection verbirgt oft das eigentliche Problem. C++ ermoeglicht maschinennahes Programmieren.

Was ist LEDA ? Leda ist eine C++ Klassenbibliothek fuer effiziente datenstrukturen und Algorithmen. LEDA implementiert Algorithmen zur Loesung von: Graph- and Netzwerkproblemen Geometrische Berrechnungen und weitere...

Online Referenzen C++: LEDA: Online-Reference: solutions.info/leda_manual/manual.html LEDA Tutorial: tutorial.org/en/unofficial/ LEDA Book: inf.mpg.de/~mehlhorn/LEDAbook.html

Ein erstes Programm Suchen in einem sortierten array Array sortieren Funktionsdeklaration Referenzen Rekursion

Kompilieren + Linken Kompilieren: g++ -I dirh -c filename.cpp dirh: Verzeichnis der header Dateien (/usr/local/LEDA-5.1/incl) erzeugt eine Objektdatei filename.o Linken: g++ -L dirl -o executable object.o -llib dirh: Verzeichnis der vorkompilierten Bibliotheken (/usr/local/LEDA-5.1) libraries: -lP -lG -lL (Reihenfolge beachten !!!) erzeugt eine ausfuehrbare Datei executable Kompilieren + Linken g++ -I dirh -L dirl -o executable filename.cpp -llib

Uebungsaufgaben Das erste Uebungsblatt ist online. Donnerstag , 8:30 per an: