• Keine Ergebnisse gefunden

Programmieren I + II

N/A
N/A
Protected

Academic year: 2021

Aktie "Programmieren I + II"

Copied!
18
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Programmieren I + II

Werner Struckmann

Institut für Programmierung und Reaktive Systeme

Wintersemester 2017/2018 Sommersemester 2018

(2)

Was ist Informatik?

Die Informatik ist die Wissenschaft von Aufbau, Darstellung, Speicherung,

Übertragung und Verarbeitung von Informationen. Dementsprechend befasst sich die Informatik mit allen Aspekten der Informationsverarbeitung.

Die Informatik ist sowohl eine Grundlagenwissenschaft wie die Mathematik als auch eine Ingenieurwissenschaft.

Die Informatik berührt in mehr oder weniger starkem Maße viele Gebiete in Industrie, Handel, Verwaltung und Wissenschaft. Die Berufschancen für Informatiker und Informatikerinnen sind vielseitig und günstig.

(3)

Was ist Informatik?

Im Englischen heißt Informatik

Computer Science.

Dieser Name besagt schon, dass Computer im Mittelpunkt stehen. Informatik ist aber – wie Sie im Laufe Ihres Studiums sehen werden – viel mehr.

(4)

Aufbau des Bachelorstudiengangs Informatik

Pflichtbereich Informatik

Wahlpflichtbereich Informatik

Pflichtbereich Mathematik

Wahlpflichtbereich Mathematik

Nebenfach

Schlüsselqualifikationen

Seminar, Teamprojekt

Bachelorarbeit

(5)

Anmerkungen zu den Studiengängen

Die Studiengänge unterscheiden sich. Beispiel:

Teamprojekt:

Informatik: unbenotete Studienleistung

Wirtschaftsinformatik: zusammen mit Seminar das Modul Projektarbeit, Prüfung, benotet

Bei Fragen zu Ihrem Studiengang können Sie sich an Ihr Prüfungsamt, an Ihren Studiengangskoordinator bzw. Ihre Studiengangskoordinatorin oder an Ihre

Studienberatung wenden.

(6)

Programmierausbildung im Bachelorstudiengang

Imperative und objektorientierte Programmierung, etwas funktionale Programmierung:

Programmieren I (Java, 1. Sem.)

Programmieren II (Java, 2. Sem.)

Softwaretechnik:

Softwaretechnik I (UML, 3. Sem.)

Softwareentwicklungspraktikum (Java oder andere Sprache, UML, 4. Sem.)

Funktionale Programmierung, weiterführende Konzepte:

Programmieren f. Fortgeschrittene (Haskell, Wahlpflichtbereich)

(7)

Angebot im Masterstudiengang (Wahlpflichtbereich)

Deduktive Programmierung:

Logik in der Informatik (Prolog)

Bedeutung von Programmen:

Semantik von Programmiersprachen

Implementierung von Programmiersprachen:

Compiler I, II

Compilerbaupraktikum

(8)

Programmieren I + II

Programmieren I: 6 LP, 2+2 (+ Rechnerübungen), im Sommer- und im Wintersemester

Inhalt: Grundzüge der imperativen und objektorientierten Programmierung, etwas funktionale Programmierung, Java

Programmieren II: 6 LP, 2+2 (+ Rechnerübungen), im Sommer - und im Wintersemester

Inhalt: Vertiefung der objektorientierten Programmierung, Programmierung von komplexen/dynamischen Datenstrukturen, Parallelprogrammierung,

Beispiel für eine Anwendung: Grafikprogrammierung, Ausblick.

Studienleistung: Hausaufgaben Prüfung: Klausur

(9)

Inhalte des Moduls Programmieren 1

Einführung: Algorithmus und Programm, Programmiersprache

Erste Schritte in Java

Grundlagen der Sprache:

Datentypen, Ausdrücke und Anweisungen, imperative Programmierung

Objektorientierte Programmierung:

Klassen, Objekte, Attribute, Methoden, Vererbung, Schnittstellen, statische Attribute und Methoden, Variablentypen, Polymorphismus, Beziehungen zwischen Klassen/Objekten

Rekursive Methoden, ein Blick auf funktionale Programmierung

Zuverlässigkeit von Programmen: Ausnahmebehandlung, Verifikation, Test

Methoden zur Ein- und Ausgabe

Ergänzungen und Fallstudien

(10)

Inhalte des Moduls Programmieren 2

Weitere Sprachkonzepte von Java:

lokale, anonyme Klassen, Wrapper-Klassen, spezielle String-Klassen, Aufzählungstypen, Packages, Annotationen

Java und Datenstrukturen:

generische Datentypen, Listen, Keller, Schlangen, Bäume, Graphen,

Suchen u. Sortieren, Hash-Verfahren, Java Collections Framework (JCF)

Grafikprogrammierung, Java Foundation Classes (JFC), AWT- und Swing-Klassen

Parallelprogrammierung in Java, das Concurrent-Paket

Ausblick: Entwurfsmuster, Paradigmen und Sprachen, Software Engineering

Ergänzungen und Fallstudien

(11)

Algorithmen und Datenstrukturen

Die Gegenstände der Veranstaltung

Algorithmen und Datenstrukturen,

die in dieser Vorlesung benötigt werden, werden – soweit erforderlich – wiederholt/zusammengefasst.

(12)

Lesen und Schreiben

Das Buch als Betriebssystem ist noch lange nicht am Ende.

(Hans Magnus Enzensberger: Album. Suhrkamp, 2010)

Wer Inhalte handschriftlich notiert, verankert sie dadurch tiefer und fester, als wer sie nur mittels einer Tastatur eingibt.

(Manfred Spitzer: Digitale Demenz. Artikel, 2013)

(13)

Allgemeine Literatur zur Informatik

Ausführliche Empfehlungen finden Sie in der kommentierten Literaturliste, die wir demnächst besprechen werden.

Heinz-Peter Gumm, Manfred Sommer: Einführung in die Informatik.

10., vollständig überarbeitete Auflage, 2013, Oldenbourg Verlag, München.

Peter Rechenberg, Gustav Pomberger: Informatik-Handbuch.

4., aktualisierte und erweiterte Auflage, 2006, Hanser Verlag, München, Wien.

Meyers Lexikonredaktion: Duden Informatik.

4. Auflage, 2006, Dudenverlag, Mannheim.

(14)

Literatur zu Algorithmen

David Harel, Yishai Feldman: Algorithmik – Die Kunst des Rechnens.

2009, Springer-Verlag, Berlin Heidelberg.

Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein:

Algorithmen – Eine Einführung.

3. überarbeitete und erweiterte Auflage, 2010, Oldenbourg Verlag, München.

Martin Dietzfelbinger, Kurt Mehlhorn, Peter Sanders:

Algorithmen und Datenstrukturen.

2014, Springer Vieweg, Berlin Heidelberg.

In jeder Vorlesung gibt es eigene Hinweise auf die Literatur zur Veranstaltung!

(15)

Literatur zu Java

Reinhard Schiedermeier: Programmieren mit Java.

2. aktualisierte Auflage, 2010, Pearson Studium, München.

Robert Sedgewick, Kevin Wayne: Einführung in die Programmierung mit Java.

1. Auflage, 2011, Pearson, München.

Dietmar Ratz [u. a.]: Grundkurs Programmieren in Java.

6. aktualisierte und erweiterte Auflage, 2011, Carl Hanser Verlag, München Wien.

Beachten Sie, dass es verschiedene Java-Versionen gibt.

(16)

Literatur zur Veranstaltung

Programmieren und Software Engineering – Begleitmaterial für die gleichnamigen Veranstaltungen an der Technischen Universität Braunschweig.

Zusammengestellt von Ina Schaefer und Werner Struckmann, Pearson Custom Publishing, 2012, München, Harlow.

Dieses Buch ist nur in einer Braunschweiger Buchhandlung erhältlich.

Werner Struckmann, Dietmar Wätjen: Mathematik für Informatiker.

2016, neue Auflage, Spektrum Akademischer Verlag, Heidelberg.

(17)

Literatur vom RRZN

Regionales Rechenzentrum für Niedersachsen, Leibniz Universität Hannover.

Java, 1. und 2. Band

Grundlagen der Programmierung

Unix – Eine Einführung in die Benutzung

Linux – Nutzung mit der grafischen Oberfläche KDE

Diese Bücher sind im Gauß-IT-Zentrum der TU erhältlich.

(18)

Zum Inhalt der Folien

Die Folien beinhalten nicht die gesamte Vorlesung.

Schreiben Sie nicht das auf, was auf den Folien steht, sondern das, was dazu gesagt oder angeschrieben wird.

Referenzen

ÄHNLICHE DOKUMENTE

2.2.5 Der empirische Variationskoeffizient 42 2.2.6 Empirische Zentralmomente 44 2.3 Empirische Kennwerte und Begriffe für das "äußere Bild". einer Häufigkeitsverteilung 45

Aus dieser Erörterung folgt eine wichtige Eigenschaft des in Abbildung 1 skizzierten Konkurrenzgleichgewichts: Im Konkurrenzgleichgewicht wird der Konflikt zwischen den

Nachfrageveränderungen 196 2. Monopol versus Konkurrenz 202 a) Vergleich bezüglich Effizienz und Verteilung 202 b) Preisdifferenzierung, Optionsfixierung 205 4. Das Nachfragemonopol

Klinik für Kinder- und Jugend- psychiatrie und -psychotherapie Arbeitsgruppe Klinische Neuropsychologie Neuenhoferweg 21 52074 Aachen. Kunz,

Bruno Assmann und Peter Selke. 18.f überarbeitete und

internet: ratgeber für lehrer..

© 2006 Carl Hanser Verlag, München www.qm-infocenter.de/QZ-Archiv Nicht zur Verwendung in Intranet- und Internet-Angeboten sowie elektronischen Verteilern... C hina ist

1.1 Die Chemie im Kanon der Naturwissenschaften 8 1.2 Denk- und Arbeitsweisen in der Chemie 11 1.2.1 Begriffe und Größen ...11 1.2.2 Gesetze, Modelle und Theorien in der