Praktische Informatik I

Werbung
Praktische Informatik I
Felix Freiling
Lehrstuhl für Praktische Informatik 1
Universität Mannheim
Vorlesung im Herbstsemester 2009
Quelle: http://www.uni-mannheim.de
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 2
Quelle: http://www.cagle.com/news/Graduation2006/
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 3
Quelle: http://www.erdinger.de
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 4
Quelle: http://www.erdinger.de
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 5
Quelle: http://www.zermatt.ch
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 6
Quelle: http://www.zermatt.ch
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 7
Quelle: http://www.bergfuehrer.info
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 8
Quelle: http://http://www.myswitzerland.com
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 9
Quelle: http://www.schenker.ch
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 10
Das Team
Felix Freiling
Christian Gorecki
Tutorenteam:
Jurek
Herwig, Dominic Hiller, Alexander Juhn,
Sebastian Grünschloss, Sebastian Keller,
Christian Krupitzer, Christoph Malassa
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 11
Wer sind Sie?
Bachelor Wirtschaftsinformatik
Bachelor Mathematik und Informatik
Diplom Wirtschaftsinformatik
Diplom Mathematik und Informatik
Bachelor Software- und Internettechnologie
Diplom Technische Informatik
Schülerstudium
Sonstige?
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 12
Praktische Informatik I
Einführende Informatik-Vorlesung an der Universität Mannheim
Vorlesung jeweils
Übungen Mittwochs, erstmals 16.9.2009
Dienstags, 15:30-17:00 in S108
Donnerstags, 15:30-17:00 in B6 A0.01
6 mögliche Termine (90 Minuten, zwischen 8:30 und 18:45)
9 Übungsgruppen
Anmeldung zwischen 9.9. und 11.9.2009 unter
http://tuto.uni-mannheim.de
Geben Sie Terminpräferenzen an
Formen Sie Lerngruppen (können sich gemeinsam für die Übung
anmelden)
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 13
Mitschreiben?
Vorlesungen werden aufgezeichnet
Bildschirm-
+ Tonaufzeichnung
Verfügbar über Vorlesungshomepage
Sie brauchen nicht mitzuschreiben
Verwendeter Foliensatz ist sehr ähnlich zu den
Folien aus dem HWS 2007
Folien
von dort verwenden zum „Vorarbeiten“
Vorlesungssprache ist Deutsch (Folien und die
meisten Programme)
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 14
Übungen
Einteilung der Übungsgruppen wird am
Montag, 14.9.2009 bekannt gegeben
Übungen beginnen am 16.9.2009
Jede Woche ein Übungsblatt
Präsenzaufgaben
Praktische Informatik I, HWS 2009, Kapitel 0
und Hausaufgaben
Seite 15
Hausaufgaben
Abgabe in der nächsten Übung bzw. elektronisch
Hausaufgaben werden von den Tutoren korrigiert
Rückgabe und Besprechung eine Woche später
Die Übung ist keine zweite Vorlesung
Verspätet abgegebene Lösungen werden nicht bewertet
Tutoren werden Ihnen helfen, Lösungen zu finden
Arbeiten Sie aktiv mit
Beispielhafte studentische Lösungen werden online
verfügbar gemacht
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 16
Fachprüfung und Schein
Abschlussklausur (Fachprüfung) am Ende des Semesters
Termin wird noch bekannt gegeben
Keine Voraussetzung für die Teilnahme an der Klausur (d.h. jeder kann
mitschreiben)
Scheinklausur nach etwa zwei Dritteln des Semesters
Scheinkriterium:
50% der Punkte in der Scheinklausur und
50% der Punkte aus den Hausaufgaben
Für alle Klausuren:
Keine Hilfsmittel zugelassen
ECUM-Karte/Lichtbildausweis mitbringen
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 17
Motto der Vorlesung
Jeder Teilnehmer/Jede Teilnehmerin sollte kleine
Programme entwerfen und implementieren können
Programmentwurf ist eine kreative Tätigkeit, die Sie in
vielerlei Hinsicht fordert:
Ähnlich der Mathematik verlangt Programmentwurf starke
formal-analytische Fähigkeiten
Zusätzlich kann man beim Programmieren Artefakte bauen, die
wirklich funktionieren
Beim Programmentwurf muss man auch genau lesen und sich
präzise ausdrücken
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 18
Warum sollte (wirklich) jeder
programmieren können?
Vorbehalte:
Beispiel: Formeln in Tabellenkalkulation
Menge von Briefen hängt von einer spezifizierten Datenmenge (Adressen) plus Regeln ab
Beispiele enthalten den Kern von Programmentwurf und Programmierung
Feld A enthält eine Formel, Wert in Abhängigkeit zu einem Feld B
Beispiel: Serienbriefe
Programmieren ist langweilig
Ich muss später nicht mehr programmieren (es gibt doch Word und Excel)
Für viele Bereiche gibt es doch „Programmgeneratoren“ (erzeugen Programme aus
natürlicher Sprache/Prozessbeschreibungen)
Zahlenwerte untereinander in Beziehung setzen
Manipulation von Zeichenketten, Ersetzung durch konkrete Werte
Wir wissen nicht, welche Anwendungsprogramme in 10 Jahren existieren werden
Die Anwendungsprogramme werden jedoch immer Fähigkeiten von Programmentwurf und
Programmierung fordern
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 19
Inhalte im Überblick
Grundbegriffe der Informatik
Programmentwurf
Programmierung (von „Methoden“) mit
Java
Ausblick auf die objektorientierte
Programmierung am Ende
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 20
Inhaltsverzeichnis (vorläufig) – Teil 1
1.
Programmierung
•
•
•
•
2.
Programme
Compiler
virtuelle Maschinen
Java
Arbeiten mit BlueJ
•
•
•
•
3.
Objekte erzeugen
Methoden aufrufen
Klassen benutzen
Klassen erstellen
Objekte und Klassen
•
•
•
•
4.
Felder
Methoden
Konstruktoren
Kommentare
Klassen und Unterklassen
(nur oberflächlich)
•
•
•
•
Klassenfelder/-methoden
Vererbung
Pakete
Applets
Praktische Informatik I, HWS 2009, Kapitel 0
5.
Daten und Operationen
•
•
•
•
6.
Bits und Bytes
Zahlen und Zahlensysteme
Boolesche Werte
Zeichen und Fonts
Ausdrücke
•
•
•
•
7.
Variablen, Typen
Ausdrücke
Syntax, Semantik
Seiteneffekte
Algorithmische Kernsprache
•
•
•
•
8.
Zuweisungen
Bedingte Anweisungen
Blöcke
Schleifen
Sprachbeschreibung und erweiterung
•
•
•
Worte, Sprachen, reguläre Ausdrücke
BNF, Grammatik
do, for, break, switch
Seite 21
Inhaltsverzeichnis (vorläufig) – Teil 2
9.
Objekttypen
•
•
•
•
10.
Referenzen, Objekterzeugung
Kopien, Gleichheit
Wrapper, Autoboxing
Arrays, Bildbearbeitung
Basisdatenstrukturen
•
•
11.
Stack
Queue
14. Prüfung von Eingabeparametern
•
•
Assertions
Praktische Beispiele
15. Ausnahmen und IO
•
•
•
•
Exceptions, throws, throw, catch
Ströme, Puffer
Dateien lesen und schreiben
Lesen im Internet
Rekursion
•
•
•
•
12.
rekursive Funktionen,
rekursive Prozeduren
Terminierung
Rekursion und Induktion
Induktiv definierte Datenstrukturen
•
•
13.
Bäume
Listen
Sichtbarkeit
•
•
•
Protokolle, Schnittstellen, Pakete
Information hiding, Datenkapselung
Interfaces,
Praktische Informatik I, HWS 2009, Kapitel 0
16. Klassenentwurf
17. Korrektkeit
•
•
•
•
Testen mit JUnit
Assertions, Invarianten, Klasseninvarianten
Vor- und Nachbedingung
Beweisregeln, Programmverifizierer
18. Algorithmenentwurf
19. Ausblick auf die Objektorientierung
Seite 22
Abgrenzung zu anderen
Vorlesungen
Praktische Informatik II
Rechnerstrukturen
(Überblick), virtuelle Maschinen,
hardwarenahe Programmierung, Übersetzerbau
Wirtschaftsinformatik I
Verteilte
Systeme, Synchronisation, Middleware
Algorithmen und Datenstrukturen
Problemlösungsstrategien,
Standardalgorithmen
Wirtschaftsinformatik II
Objektorientierte
Praktische Informatik I, HWS 2009, Kapitel 0
Programmierung mit Java
Seite 23
Literatur
David J. Barnes, Michael Kölling: Java lernen
mit BlueJ. Eine Einführung in die
objektorientierte Programmierung. Pearson
Studium, 3. Auflage, 2006.
Englische Originalausgabe: David J. Barnes,
Michael Kölling: Objects First with Java. A Practical
Introduction using BlueJ, 3rd ed., Prentice
Hall/Pearson Education, 2006.
Heinz-Peter Gumm, Manfred Sommer, Wolfgang
Hesse, Berhard Seeger: Einführung in die
Informatik. 7. Auflage, Oldenbourg, 2007.
Martin Schader, Lars Schmidt-Thieme: Java Eine Einführung. 4. Auflage, Springer, 2003.
Les Goldschlager, Andrew Lister: Informatik Eine moderne Einführung. Hanser-Verlag,
München, 1990.
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 24
Weitere Hinweise und Unterlagen
Homepage der Vorlesung unter https://pi1.informatik.uni-mannheim.de
Studentische Foren:
Fachschaft: http://fim.uni-mannheim.de/
Community: http://www.im-coma.de/
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 25
Unterstützung und Feedback
Stellen Sie Fragen vor/nach/in der
Vorlesung
Veranstaltungsteam bieten jeweils
Sprechstunden an
Siehe
Vorlesungs-Homepage
Geben Sie Feedback
Insbesondere
in den Tutorien
Auch direkt an die Dozenten
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 26
Software (aktuell)
Software
J2SE 6.0 (Update 16)
Alles frei verfügbar für
Windows
Linux
MacOs
BlueJ version 2.5.2
Java Entwicklungstools
Dokumentation
Java Experimentierumgebung
Installieren Sie die Systeme in
dieser Reihenfolge
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 27
Software (im PI-Pool)
Software
J2SE 6.0 (Update 14)
Alles frei verfügbar für
Windows
Linux
MacOs
BlueJ version 2.2.1
Java Entwicklungstools
Dokumentation
Java Experimentierumgebung
Geben Sie bei Problemen
jeweils die Version an, die Sie
verwenden
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 28
SDK- Software Development Kit
J2SE 6.0
Notwendig für Erstellung und Ausführung von Java-Programmen
Laden des JDK (Java SE Development Kit) von der Seite
http://java.sun.com/javase/downloads/index.jsp
Wählen Sie JDK Update 16 => Download
ACHTUNG: Wählen Sie nicht „JDK Update 16 with …“ !
Akzeptieren Sie die Lizenzvereinbarung und wählen Sie z.B. für Windows XP:
Windows, Multi-language jdk-6u16-windows-i586.exe, 73.54 MB
Installieren Sie Java durch Doppelklick auf
jdk-6u16-windows-i586.exe
Sie werden nach einem Verzeichnis gefragt, in dem der JDK installiert werden soll.
Übernehmen Sie den Vorschlag, z.B.:
C:\Program Files\Java\jdk1.6.0_16
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 29
API Dokumentation: J2 SE 6.0
API = Application Programmer Interface
Dokumentation der Java Klassen
Sehr umfangreich (ca 32 MB)
Herunterladen von der Seite
http://java.sun.com/javase/downloads/index.jsp
Java SE 6 Documentation => Download
Wählen Sie eine Sprache und akzeptieren Sie die Lizenzvereinbarung
Die Datei jdk-6u10-docs.zip entpacken (53 MB)
das kann man mit WinZip machen, oder mit dem Befehl
jar -xvf jdk-6u10-docs.zip
In ein Verzeichnis kopieren, z.B. in
C:\Programme\Java\jdk1.6.0\
Die Einstiegsseite zur Dokumentation wäre dann
file:///C:/Programme/Java/jdk1.6.0/docs/api/index.html
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 30
Die API-Dokumentation
Praktische Informatik I, HWS 2009, Kapitel 0
API = Application
Programming Interface
Gebrauchsanleitung
der Java-Klassen und
Methoden
Seite 31
BlueJ
Herunterladen des Systems von der Seite
www.bluej.org/download/download.html
Optional noch das Tutorial von
www.bluej.org/doc/documentation.html
Doppelklick auf
bluejsetup-252.exe
Der Installer schlägt ein Zielverzeichnis vor, z.B.:
C:\Programme\BlueJ
Der Installer sucht nach einer Java-Version. Er sollte
den vorher installierten SDK finden.
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 32
BlueJ starten
Die splash screen
von BlueJ
Falls Sie mehrere Java-Systeme
installiert haben, können Sie jetzt
eine aussuchen
So etwa sieht das Hauptfenster
von BlueJ aus.
Glückwunsch, die Installation war erfolgreich
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 33
BlueJ - Anpassung (optional)
In C:\Programme\Bluej\lib befinden sich Dateien mit der Endung „.def“,
die das Verhalten von Bluej beeinflussen.
Jede Zeile, die mit “#“ beginnt, ist unwirksam. Entfernt man das “#“ vor einer
Zeile, so wird diese wirksam
Beispiel: Deutsche Version von Bluej einstellen:
In der Textdatei C:\Programme\Bluej\lib\bluej.defs :
bluej.language=english
#bluej.language=german
#bluej.language=english
bluej.language=german
Analog lässt sich auch das Verhalten des Editors (moe) durch die Datei moe.defs
beeinflussen. Z.B.: Ändern der Farbdarstellung von Kommentaren und keywords
(Syntaxhighlighting):
comment = 003399
keyword1 = 660033
Praktische Informatik I, HWS 2009, Kapitel 0
comment = 33CCFF
keyword1 = 0033CC
Seite 34
BlueJ-Anpassung
Lokale API-Dokumentation benutzen
Im
BlueJ-Fenster wählen Sie Tools>Preferences
(Werkzeuge>Einstellungen) und ersetzen Sie den Link
durch einen link auf Ihre lokale Dokumentation, z.B.:
file:///C:/Programme/Java/jdk1.6.0/api
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 35
Danksagungen
Die meisten Folien basieren auf einer Vorlage
von H. Peter Gumm, Philipps-Universität
Marburg
Die Kollegen Becker, Effelsberg, Männer und
Schnörr haben mir zur Vorbereitung dieser
Vorlesung Folien und andere Unterlagen
überlassen.
Vorlesungsideen gehen auch zurück auf
Material der Kollegen Hesser, Ottmann, Schader
und Schmeck. .
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 36
Ausblick
Melden Sie sich zu den Übungen an!
Nächste Vorlesung am Donnerstag:
Programmiersprachen
Virtuelle
Maschinen
Java
Arbeiten
mit BlueJ
Praktische Informatik I, HWS 2009, Kapitel 0
Seite 37
Herunterladen