Programmiertechnik II WS 2017/18

Ähnliche Dokumente
Programmiertechnik II SS Fakultät Informatik Bachelor Angewandte Informatik

Programmieren 2 - Java

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren

Liste MI / Liste I Programmieren in C++

Inhaltsverzeichnis. Teil 1 Grundlagen 21. Teil 2 Datenstrukturen 85

Robert Sedgewick. Algorithmen in Java. Teil 1-4 Grundlagen Datenstrukturen Sortieren Suchen. Java-Beratung durch Michael Schidlowsky

Robert Sedgewick. Algorithmen in Java. »il 1-4 Grundlagen Datenstrykturen Sortleren Suchen. java-beratung durch Michael Schidlowsky

Vorlesung Programmieren

Liste Programmieren - Java

Inhaltsverzeichnis. Teil 1 Grundlagen 23

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Programmiertechnik II Klausur WS 15/16 Angewandte Informatik Bachelor

Überblick FBC SNW Zusammenfassung. Entwurfsmuster. Eine Einführung. Botond Draskoczy. Marcus Vitruvius Pollio

Entwurfsmuster - Iterator & Composite

EIDI 1 Einführung in die Informatik 1. PGdP Praktikum Grundlagen der Programmierung. Harald Räcke 2/217

Einstieg in die Informatik mit Java

Kapitel 7: Java Collection Teil I

OCP Java SE 8. Collections

Fortgeschrittene Programmiertechnik Klausur WS 2014/15 Angewandte Informatik Bachelor

Programmieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Teil V. Generics und Kollektionen in Java

Software-Entwurfsmuster

Grundlagen der Informatik 0

4. Algorithmen und Datenstrukturen I Grundlagen der Programmierung 1 (Java)

Inhaltsverzeichnis 1 Der objektorientierte Ansatz 2 Elementare Objekte und Ausdrücke

Programmierkurs Java

Programmieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Entwurfsmuster Martin Fesser 00IN

Programmieren I. Kapitel 13. Listen

Grundkurs Programmieren in Java

Programmieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Inhaltsverzeichnis. Einführende Bemerkungen 11. Das Fach Informatik 11 Zielsetzung der Vorlesung Grundbegriffe

Inhaltsverzeichnis. I Grundlegende Konzepte 1. xiii

Teil II: Konzepte imperativer Sprachen

Funktionales Programmieren mit objektorientierten Sprachen

Semester: -- Workload: 300 h ECTS Punkte: 10

Design Patterns II. Der Design Muster Katalog. Prof. Dr. Nikolaus Wulff

Grundkurs Programmieren in Java

Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung

public interface Stack<E> { public void push(e e); public E pop();

Algorithmen und Datenstrukturen

Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um. Dynamische Anpassung der Größe

Grundkurs Programmieren in Java

Programmieren I. Modulbezeichnung Programmieren I Modulverantwortliche(r) Müller

Inhaltsverzeichnis 1 Einführung Die Software JGIS Grundlagen raumbezogener Daten

Übung: Algorithmen und Datenstrukturen SS 2007

Inhaltsverzeichnis. Lothar Piepmeyer. Grundkurs funktionale Programmierung mit Scala ISBN:

Inhaltsverzeichnis. 1 Grundlagen 1. 2 Einfache Programme 21

Vorlesung Informatik, Teil 2. Organisatorisches

Entwurfsmuster in Java

Grundkurs Programmieren in Java

Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg 2. Objekte, Klassen, Kapselung

Software-Entwicklung

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

Grundkurs Programmieren in Java

Das Doppelpack für die Informatik

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4

Lehrplan Informatik. Unterrichtsvorhaben in der Qualikationsphase (Q1) Übersichtsraster: Nr. Beschreibung

Programmieren mit Java

Schnittstellen und. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda

Vorlesung Informatik, Teil 1. Organisatorisches

Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert und Dr. Thomas Stibor

Nützliche Utility-Klassen des JDK

Teil VII. Hashverfahren

Objektorientierte Implementierung

Beschreibung des Angebotes. Java Programmierung. LernenimInternet. Ansprechpartner. Angebot-Nr Angebot-Nr Weiterbildung.

Software-Entwicklung 1. Prof. Dr. Stefan Böttcher Wintersemester 2002/03. mit Vorlesungsunterlagen erstellt von. Prof. Dr.

Java Einführung Collections

Grundkurs Programmieren in Java

Vorlesung Programmieren

Strategy & Decorator Pattern

Vorlesung Programmieren

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

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen

Lukas Klich. Projektgruppe SHUTTLE. Seminar: Entwurfsmuster Lukas Klich/Projektgruppe SHUTTLE Seite: 1. Entwurfsmuster

Inhaltsverzeichnis. Vorwort

Fortgeschrittene Programmiertechnik Klausur SS 2015 Angewandte Informatik Bachelor

Vorlesung Programmieren

Programmierung 1 für Wirtschaftsinformatik Wintersemester 2015/16

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

Modulbeschreibung Medizintechnik Fakultät Elektrotechnik und Informationstechnik. Inhaltsverzeichnis. Badstr Offenburg

11. Komponenten Grundlagen der Programmierung 1 (Java)

Funktionale Konzepte in objektorientierten Sprachen LAMBDAS / CLOSURES

Vorwort zur sechsten Auflage

Grundkurs Programmieren in Java

12 Collections Framework. Interfaces Maps and Collections. Collection Interface. Überblick. Collection = Containterklasse, die andere Objekte enthält.

Software Entwicklung 1

Deutsche Ausgabe. Die Kraft von C# voll ausschöpfen! C# 3.0. Entwurfsmuster. Judith Bishop. O Reilly. Deutsche Übersetzung von Thomas Demmig

Vorlesung Datenstrukturen

Kapitel 11: Bäume. Beispiele Definition und Eigenschaften Implementierungen Durchlaufen von Bäumen Binäre Suchbäume

Tutoraufgabe 1 (Sortieralgorithmus):

ALP II Dynamische Datenmengen

11. Funktionale Programmierung Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

JAVA KURS COLLECTION

Algorithmen I. Tutorium 1-3. Sitzung. Dennis Felsing

Inhaltsverzeichnis. Vorwort.11

Einführung in die Informatik I Kapitel II.3: Sortieren

Einführung in die Informatik 2

Transkript:

Programmiertechnik II WS 2017/18 Fakultät Informatik Bachelor Angewandte Informatik Prof. Dr. Oliver Bittel bittel@htwg-konstanz.de www-home.htwg-konstanz.de/~bittel WS 17/18

Überblick OOP: Schnittstellen und Klassen Implementierung und Vererbung generische Datentypen Entwurfsmuster class ArrayList<E> interface List<E> class LinkedList<E> Funktionale Programmierung: - Funktionale Interfaces und Lambda-Ausdrücke - Ströme Datenstrukturen und Algorithmen: - Felder, verkettete Listen, Bäume - Suchen und Sortieren Collection-Typen (Behälter) aus der Java API: Anwenden können und internen Aufbau verstehen Grafische Benutzeroberflächen 2

Inhaltsverzeichnis (1) 1. Grundlagen (Wiederholung und Ausblick) Widerholung: Datentypen, Klassen, Interfaces, Vererbung, abstrakte Klassen, Subtypen; Ausblick auf geschachtelte Klassen, generische Typen und Java 8 2. Programmiermethodik Kapselung, Substitutionsprinzip, immutable Klassen, vertragsbasiertes Programmieren 3. Datentyp Liste Listen-Interface, Liste als Feld, Liste als verkettete Liste, doppelt verkettete Listen 4. Datentyp Keller und Schlange Anwendungen, Keller bzw. Schlange als Feld und als verkettete Liste 3

Inhaltsverzeichnis (2) 5. Generische Datentypen Motivation, generische Typen und Methoden, generischer Keller, obere und untere Typschranken, Platzhalter (Wildcards), Ko- und kontravariante Typen. 6. Iterierbare Container Iterator, Iterable, Foreach- und Iterator-Schleife Generische Liste mit Iterator 7. Java Collection - Teil I Collection, List, LinkedList und ArrayList, Queue und Deque, ArrayDeque 4

Inhaltsverzeichnis (3) 8. Rekursion Grundbegriffe, viele Beispiele, Teile-und-Hersche-Verfahren, Endrekursion, Rekursion und Keller 9. Komplexitätsanalyse Größenordnungen von Laufzeiten, Worst-, Best- und Average-Case-Analyse, Teile-und-Herrsche-Verfahren 10.Sortierverfahren Sortieren durch Einfügen, Auswählen bzw. Vertauschen, QuickSort, MergeSort, stabiles Sortieren, externes Sortieren, generisches Sortieren, Java Klassen Arrays und Collections 11.Bäume Allgemeine Bäume und Binärbäume, binäre Suchbäume 5

Inhaltsverzeichnis (4) 12.Java Collection - Teil II Set und TreeSet, Map und TreeMap, Arrays und Collections 13.Graphische Benutzeroberflächen AWT und Swing, Hauptfenster und Container, Swing-Komponenten, Layout-Manager, Ereignisverarbeitung, Dialogfenster, Zeichnen 14.Java 8 Lambda-Ausdrücke, Funktionale Interfaces, Ströme, funktionale Programmierung, Parallelität 15.Entwurfsmuster Adapter, Uni- und bidirektionale Assoziationen, Beobachter, Dekorierer, Fabrikmethode, Kompositum, Schablonenmethode, Strategie 6

Wichtige Literatur (1) Ken Arnold, James Gosling and David Holmes, The Java Programming Language, Addison, 4. Auflage: 2005. Das Standardwerk. Java 5.0 Mark Allen Weiss, Data Analysis and Algorithm Analysis in Java, Addison Wesley, 2. Auflage, 2005. Geht weit über die Vorlesung hinaus; Grundlage für Algorithmen-Vorlesung im 3. Semester Java 5.0 7

Wichtige Literatur (2) Christian Ullenboom, Java ist auch eine Insel, Galileo Computing; 11. Auflage; 2014. Java 8.0 Ältere Ausgabe (Java 7.0) in der Bibliothek als elektronische Ausgabe verfügbar. Scheffler, Wiesenberger, Seese und Ratz, Grundkurs Programmieren in Java, Hanser-Verlag 2014. Einführung in die Java-Programmierumng ohne Vorkenntnisse. Grafische Oberflächen werden ausführlich behandelt. Java 8.0. Als elektronische Ausgabe in der Bibliothek verfügbar. 8

Ergänzende Literatur (1) Joshua Bloch, Effective Java, Addison-Wesley Longman, 2. Auflage 2008. Enthält eine Liste von guten Java- Programmiertechniken. keine Einführung in Java, aber sehr lohnenswert! Java 6.0 Maurice Naftalin and Philip Wadler, Java Generics and Collections, O'Reilly Media, 1. Auflage, 2006. Spezialliteratur zu den Neuerungen in Java 5 und 6. 9

Ergänzende Literatur (2) Maurice Naftalin, Mastering Lambdas: Java Programming in a Multicore World McGraw-Hill Education; 1. Auflage, 2014 Spezialliteratur zu den Neuerungen in Java 8. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides Entwurfsmuster: Elemente wiederverwendbarer objektorientierter Software, Addison-Wesley, München, 2010. Der Klassiker für Entwurfsmuster und objektorientierte Software-Entwicklung. Prof. Dr. O. Bittel, HTWG Konstanz Programmiertechnik II Einleitung WS 17/18 10