Programmieren I + II
Werner Struckmann
Institut für Programmierung und Reaktive Systeme
Wintersemester 2012/2013 Sommersemester 2013
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.
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.
Aufbau des Bachelorstudiengangs Informatik
• Pflichtbereich Informatik (ab 1. Semester)
• Wahlpflichtbereich Informatik (ab 2./3. Semester)
• Pflichtbereich Mathematik (ab 1. Semester)
• Wahlpflichtbereich Mathematik (ab 2. Semester)
• Nebenfach (ab 3. Semester)
• Schlüsselqualifikationen (ab 1. Semester)
• Seminar, Teamprojekt, Bachelorarbeit
Bereich 1.Semester(WS)
6 LP 6 LP 15 LP
5 LP 8 LP
5 LP 6 LP
5 LP 5 LP
5 LP
5 LP 5 LP 5 LP 5 LP
4 LP
10 LP 10 LP
5 LP 5 LP
5 LP
31
Pflichtmodule Wahlpflichtmodule
WahlpflichtrModul
Informatik:
WahlpflichtrModul
Informatik:
WahlpflichtrModul
NebenfachrModul WahlpflichtrModul
NebenfachrModul 5LP NebenfachrModul
5LP
Wissenschaftliches
30 30
5LP
2LP
Mathematik:
WahlpflichtrModul
"Schwerpunkteim Informatikstudium"
Ringvorlesung ElektrotechnischeGrundr
Informatik lagenderTechnischen
Informatik:
WahlpflichtrModul
Seminar 5LP Teamprojekt
5LP
Computernetze1 SoftwareEngineering
12LP
Betriebssysteme
Informatik:
Kompetenzr bereich Mathematik
[35LP]
LineareAlgebra Analysis
Nebenfach [14r19LP]
Mathematik:
Orientierungstage
Programmieren1
Algorithmenund Datenstrukturen
DiskreteMathematik
Schlüsselqualifikationen Arbeiten
180LP 29 Schlüsselr qualifikationen
[10LP]
Schlüsselqualifikationen
4LP 4LP
29
MusterstudienplanBachelorstudiumInformatik(Beginn:Wintersemester)
2.Semester(SS)
Kompetenzr bereich Informatik [116r121LP]
Masterarbeit Programmieren2
EinführungindieLogik
TheoretischeInformatik1
Bachelorarbeit 5.Semester(WS) 6.Semester(SS) 3.Semester(WS) 4.Semester(SS)
Wahlmodule 31 Relationale
Datenbanksysteme1
TheoretischeInformatik2 TechnischeInformatik1+2
8LP
Anmerkungen zu den Studiengängen
Die Studiengänge unterscheiden sich im Detail. 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.
Programmierausbildung im Bachelorstudiengang
• Imperative und objektorientierte 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, Wahlpflichtveranstaltung)
Programmieren I + II
Programmieren I: 6 LP, 2+2 (+ Rechnerübungen), im Wintersemester
Inhalt: Grundzüge der imperativen und objektorientierten Programmierung, Java Programmieren II: 6 LP, 2+2 (+ Rechnerübungen), im Sommersemester Inhalt: Vertiefung der objektorientierten Programmierung, Programmierung von Datenstrukturen, Parallelprogrammierung, Grafikprogrammierung, Ausblick
Prüfungsvorleistung/Studienleistung (je nach Studiengang): Hausaufgaben Prüfung: Klausur
Programmieren I
• Einführung: Vom Algorithmus zum Programm, Lexik, Syntax, Semantik
• 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
Programmieren II
• 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)
• Parallelprogrammierung in Java, das Concurrent-Paket
• Grafikprogrammierung, Java Foundation Classes (JFC), AWT- und Swing-Klassen
• Ausblick: Entwurfsmuster, Paradigmen und Sprachen, Software Engineering
• Ergänzungen und Fallstudien
Algorithmen und Datenstrukturen
Die Gegenstände der Veranstaltung
Algorithmen und Datenstrukturen,
die in dieser Vorlesung benötigt werden, werden – soweit erforderlich – wiederholt/zusammengefasst.
Lesen
Das Buch als Betriebssystem ist noch lange nicht am Ende.
(Hans Magnus Enzensberger: Album. Suhrkamp, 2010)
Allgemeine Literatur
Ausführliche Empfehlungen finden Sie in der kommentierten Literaturliste.
• 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.
• 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.
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.
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.
• Werner Struckmann, Dietmar Wätjen: Mathematik für Informatiker. 2007, Spektrum Akademischer Verlag, Heidelberg.
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.
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.