Einstieg in die Informatik mit Java



Ähnliche Dokumente
Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einführung in die Programmierung

Institut für Telematik Universität zu Lübeck. Programmieren. Kapitel 0: Organisatorisches. Wintersemester 2008/2009. Prof. Dr.

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien.

Programmieren I. Überblick. Institut für Angewandte Informatik

4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen

Ulmer Universitäts-Trainingscamp. 1. bis 24. September 2015

Einführung in die Informatik II

GEONET Anleitung für Web-Autoren

Klausur in Programmieren

Programmieren in Haskell Einführung

Einführung und Motivation

Einführung in PHP. (mit Aufgaben)

Praktikum: Einstieg: Arbeitsplatz, JCreator

Übergang vom Diplom zum Bachelor

Programmieren I. Administratives / Java Installation. Thomas Vetter, Brian Amberg, Andreas Forster. 21. September 2010 UNIVERSITÄT BASEL

Programmieren I. Überblick. Institut für Angewandte Informatik

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Allgemeine Informationen zum Praktikum

Nino Simunic M.A. Computerlinguistik, Campus DU

Version 0.3. Installation von MinGW und Eclipse CDT

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Angewandte Mathematik und Programmierung

Teil II: Konzepte imperativer Sprachen

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Schülerstudierende in Informatik-Grundvorlesungen an der Universität Göttingen

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11

Primzahlen und RSA-Verschlüsselung

Liste Programmieren - Java

Einführung in Eclipse und Java

Zum Abschluss wird gezeigt, wie aus einem C++ Quell-Programm ein ausführbares Programm erzeugt wird. 1. Installation von NetBeans...

Programmierkurs Java

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Einführung in die Programmierung (EPR)

Informatik Repetitorium SS Volker Jaedicke

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Objektorientierte Programmierung. Kapitel 0: Begrüssung

Zwischenablage (Bilder, Texte,...)

1. Übung zu "Numerik partieller Differentialgleichungen"

Einstellen der Makrosicherheit in Microsoft Word

Lösungsvorschlag zum Übungsblatt 1 zur Vorlesung Informatik II / WS2001/02

Begleitendes Praktikum zur Vorlesung Künstliche Intelligenz

Einstieg in die Informatik mit Java

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Applications Applets (eingeschränkte Rechte)

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

Objektorientierte Programmierung

Einführung in die C++ Programmierung für Ingenieure

Zählen von Objekten einer bestimmten Klasse

Algorithmen und Berechnungskomplexität I

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

1 Vom Problem zum Programm

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Programmierung 1 für Wirtschaftsinformatik Wintersemester 2013/14

0. Einführung. C und C++ (CPP)

Windows Explorer Das unbekannte Tool. Compi-Treff vom 19. September 2014 Thomas Sigg

JAVA als erste Programmiersprache Semesterkurs

Vorkurs Informatik WiSe 15/16

Lernziele Ablauf Übungsaufgaben Formalitäten. Programmierpraktika. Einführung in das Programmieren und Weiterführendes Programmieren

Das Seminar ist eine Prüfungsleistung für Bachelor und Masterstudierende der Informatik!

Java: Vererbung. Teil 3: super()

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Programmieren für Ingenieure Sommer Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

Logics App-Designer V3.1 Schnellstart

Informatik 1 Tutorial

Herzlich Willkommen!

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Objektorientiertes Programmieren mit Suse Linux

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Anmelden und Vorträge einreichen auf der JBFOne-Website Inhalt

Einführung in die Programmierung

Herzlich willkommen zur Lehrveranstaltung. Softwaretechnische Grundlagen / Programmierpraktikum

Prof. Dr. Uwe Schmidt. 21. August Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)

I. Fächer / Module beim Lehramt an Sonderschulen im 1. Studienabschnitt

Wie melde ich meinen Verein bei BOOKANDPLAY an?

Mathematische Grundlagen

Erste Schritte am Rechner

Programmierung für Alle. Borchers: Programmierung für Alle (Java), WS 06/07 Orga 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Informatik I Tutorial

Aktualisierung des Internet-Browsers

MASTER-BERATUNG. im Fach Kunstgeschichte

Visual Basic Express erstes Projekt anlegen

Installation und Inbetriebnahme von Microsoft Visual C Express

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)

E-Learning mit Ilias. Professur für Statistik und Ökonometrie Univ.-Prof. Dr. Peter Winker

Scala kann auch faul sein

Informationsblatt Induktionsbeweis

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) stoyan@informatik.uni-erlangen.

Auswertung JAM! Fragebogen: Deine Meinung ist uns wichtig!

Modulhandbuch für das BA Kombinationsfach Angewandte Informatik Multimedia

Stand: Adressnummern ändern Modulbeschreibung

Installation OMNIKEY 3121 USB

Transkript:

1 / 33 Einstieg in die Informatik mit Java Einführung Gerd Bohlender Institut für Angewandte und Numerische Mathematik

Gliederung 2 / 33 1 Ziel der Vorlesung 2 Java oder C++??? 3 Was ist Java? 4 Geschichte von Java 5 Sommersemester 2009 6 Literatur

3 / 33 Vorlesungen Einstieg in die Informatik Zielgruppe Hörer/-innen aller Fachrichtungen keine speziellen Vorkenntnisse erforderlich Interesse an mathematisch/naturwissenschaftlichen Aufgabenstellungen Motivation zur aktiven Mitarbeit (insbesondere im Praktikum)

Gliederung 4 / 33 1 Ziel der Vorlesung 2 Java oder C++??? 3 Was ist Java? 4 Geschichte von Java 5 Sommersemester 2009 6 Literatur

Ziele der Vorlesung 5 / 33 Was Sie lernen können: Arbeiten mit einer objektorientierten Programmiersprache Grundlegende Spracheigenschaften (Datentypen, Anweisungen,...) Einstieg in die objektorientierte Programmierung Bedienung der Programmier-Werkzeuge unter Linux Umsetzung mathematischer Konzepte am Rechner Implementierung typischer numerischer Algorithmen Einfache statistische Auswertungen Ausgewählte weitere Themen (Primzahlberechnung,...) Darstellung mathematischer Strukturen Ausgewählte Themen aus der Informatik Strukturierter Programmentwurf Implementierung typischer Algorithmen, z.b. Sortieren Effizienz von Algorithmen

6 / 33 Berufsrelevanz Stichworte aus aktuellen Stellenanzeigen (Computer-Zeitschrift ct) sehr gute Kenntnisse Java/J2EE, C/C++ Kenntnisse in C- und Java-Programmierung Erfahrung in... C++, Java fundierte Kenntnisse in OO-Design, C/C++ und/oder Java Erfahrung in objektorientierter Programmierung in C++ sehr gute Kenntnisse in C++ und objektorientiertem Design mehrjährige C++ Entwicklungserfahrung routiniert im Umgang mit Java, J2EE

Gliederung 7 / 33 1 Ziel der Vorlesung 2 Java oder C++??? 3 Was ist Java? 4 Geschichte von Java 5 Sommersemester 2009 6 Literatur

8 / 33 Java oder C++??? Zur Wahl der Veranstaltung ein kleines Beispiel in Java und C++ Aufgabe berechne alle Primzahlen im Bereich von 2 bis 999: 2 ist prim teste alle ungeraden Zahlen zahl = 3, 5, 7,...999 ob sie durch teiler = 3, 5, 7,... zahl teilbar sind

Primzahltest, Programmrahmen Java 9 / 33 / / a l l e Primzahlen von 2 b i s 999 ausgeben public class PrimzahlTest { public s t a t i c void main ( S t r i n g [ ] args ) { / / h i e r s t e h t der Algorithmus } }

Primzahltest, Programmrahmen C++ 10 / 33 / / a l l e Primzahlen von 2 b i s 999 ausgeben # include <iostream> using namespace std ; i n t main ( ) { / / h i e r s t e h t der Algorithmus }

Primzahltest, Algorithmus, Teil 1 Java 11 / 33 / / ein paar Variablen i n t zahl ; / / Primzahl Kandidat i n t t e i l e r ; / / moegliche T e i l e r boolean prim ; / / noch kein T e i l e r gefunden... / / e r s t mal vorab : 2 i s t prim System. out. p r i n t (2 + ) ; / / 2 und etwas Abstand ausgeben / / dann a l l e ungeraden Zahlen von 3 b i s 999 t e s t e n zahl = 3; / / mit 3 beginnen

Primzahltest, Algorithmus, Teil 1 C++ 12 / 33 / / ein paar Variablen i n t zahl ; / / Primzahl Kandidat i n t t e i l e r ; / / moegliche T e i l e r bool prim ; / / noch kein T e i l e r gefunden... / / e r s t mal vorab : 2 i s t prim cout << 2 << ; / / 2 und etwas Abstand ausgeben / / dann a l l e ungeraden Zahlen von 3 b i s 999 t e s t e n zahl = 3; / / mit 3 beginnen

Primzahltest, Algorithmus, Teil 2 Java 13 / 33 / / Schleife, a l l e ungeraden Zahlen bis 999 testen while ( zahl <= 999) { / / solange zahl noch im gewuenschten Bereich prim = true ; / / anfangs noch kein T e i l e r gefunden t e i l e r = 3; / /... oder durch 3, 5,...? / / es kommen nur t e i l e r <= Wurzel ( zahl ) i n Frage, / / wenn ein T e i l e r gefunden wurde ( also prim = f a l s e i s t ), Test abbreche while ( prim && t e i l e r t e i l e r <= zahl ) { / / w e i t e r t e s t e n? i f ( zahl % t e i l e r == 0) / / t e i l b a r? prim = false ; / / dann i s t es keine Primzahl t e i l e r = t e i l e r + 2; / / naechsten ungerade T e i l e r ausprobieren } i f ( prim ) / / f a l l s keine T e i l e r gefunden wurden, System. out. p r i n t ( zahl + ) ; / / zahl ausgeben und etwas Abstand zahl = zahl + 2; / / naechste ungerade Zahl } / / noch ein Zeilenende ausgeben System. out. p r i n t l n ( ) ;

Primzahltest, Algorithmus, Teil 2 C++ 14 / 33 / / Schleife, a l l e ungeraden Zahlen bis 999 testen while ( zahl <= 999) { / / solange zahl noch im gewuenschten Bereich prim = true ; / / anfangs noch kein T e i l e r gefunden t e i l e r = 3; / /... oder durch 3, 5,...? / / es kommen nur t e i l e r <= Wurzel ( zahl ) i n Frage, / / wenn ein T e i l e r gefunden wurde ( also prim = f a l s e i s t ), Test abbreche while ( prim && t e i l e r t e i l e r <= zahl ) { / / w e i t e r t e s t e n? i f ( zahl % t e i l e r == 0) / / t e i l b a r? prim = false ; / / dann i s t es keine Primzahl t e i l e r = t e i l e r + 2; / / naechsten ungerade T e i l e r ausprobieren } i f ( prim ) / / f a l l s keine T e i l e r gefunden wurden, cout << zahl << ; / / zahl ausgeben und etwas Abstand zahl = zahl + 2; / / naechste ungerade Zahl } / / noch ein Zeilenende ausgeben cout << endl ;

15 / 33 Vergleich von Java und C++ Java basiert auf C++ Viele Grundelemente gleich oder ähnlich Erweiterungen (Applets,...) Einschränkungen aus Sicherheitsgründen (keine Pointerarithmetik,...) Konsequente Objektorientierung Wichtige Änderungen bei Feldern, Parameterübergabe,...

Link zu einem Java-Programm 16 / 33 Das typische Hallo-Welt-Programm Hallo.java public class Hallo { public s t a t i c void main ( S t r i n g [ ] args ) { System. out. p r i n t l n ( Hallo Welt! ) ; } }

Gliederung 17 / 33 1 Ziel der Vorlesung 2 Java oder C++??? 3 Was ist Java? 4 Geschichte von Java 5 Sommersemester 2009 6 Literatur

Was ist Java? Eigenständige Sprache Programme werden i.a. in eine portable Zwischensprache übersetzt und auf dem Zielsystem interpretiert. Zur Laufzeit werden ggf. die innersten Schleifen in Maschinencode übersetzt. Sammlung von Klassenbibliotheken Es können leicht fensterorientierte Programme erstellt werden, die sowohl z.b. unter X-Windows, als auch unter Microsoft Windows 9x bzw. NT/2000/XP, etc. ausgeführt werden können. Elemente: Fenster, Menüs, Ereignisgesteuerte Programme, etc. Applets Kleine Programmstücke, die nicht selbständig ausgeführt, sondern in einem Internet-Browser wie Firefox oder MS-Internet-Explorer als Komponenten aufgerufen werden. JavaScript Vereinfachtes Java, das direkt in HTML-Dokumente für das Internet eingefügt wird. 18 / 33

19 / 33 Spracheigenschaften portabel auf Quelltextebene (standardisierte Sprache und Bibliotheken) portabel auf Codeebene (maschinenunabhängiger Bytecode mit Interpreter) einfache Sprache, auf Basis bekannter Sprache (Ähnlichkeit zu C++) sicher (bewusste Einschränkungen beim Umfang) multi-threaded, verteilte Anwendungen (Internet), einfaches Erstellen von Window-Programmen (Klassenbibliotheken)

Gliederung 20 / 33 1 Ziel der Vorlesung 2 Java oder C++??? 3 Was ist Java? 4 Geschichte von Java 5 Sommersemester 2009 6 Literatur

21 / 33 Geschichte von Java Projekt Green bei Sun Microsystems seit 1991 für Gerätesteuerungen ( Kabel-TV-Anschlussbox, Videorecorder,...), James Gosling u. a., z. B. Hoff/Shaio/Starbuck Nachfolger Oak, wegen Namenskonflikt umbenannt in Java, Einsatz als Sprache im Internet seit 1995 Ziele: Internetapplikationen, d. h. Programme werden beim Aufruf einer Webseite übertragen und ausgeführt.

22 / 33 Versionen der Sprache Teil 1 1994: Entwicklung des Webbrowsers HotJava zur Demonstration der Leistungsfähigkeit der Sprache 1995: Java 1.0 erste, weborientierte Version der Sprache, Integration in die gängigen Browser von Netscape und Microsoft 1997: Java 1.1 neues, effizienteres Eventhandling, Komponentenmodell JavaBeans, native-schnittstelle, Internationalisierung, zahlreiche kleinere Verbesserungen und Erweiterungen 1998: Java 2 SDK 1.2 neue Grafikbibliotheken Swing für die GUI-Entwicklung, Java 2D für 2D-Grafiken, weitere Ergänzungen

Versionen der Sprache Teil 2 23 / 33 2000: Java 2 SDK 1.3 Verbesserungen in Details, bessere Performance des Interpreters, neue, ebenfalls kostenlose Entwicklungsumgebung Forte 2002: Java 2 SDK 1.4 Erweiterung der Sprache, Unterstützung von Assertions 2004: Java 5.0 Einfachere Eingabe, formatierte Ausgabe, Unterstützung für variable Argumentenlisten von Methoden, Unterstützung von generische Typen, Hilfsklassen für nebenläufige Programmierung im neuen Paket java.util.concurrent, Syntaktische Unterstützung für Aufzählungswerte, Statischer Import von Klassen 2006: Java 6.0 Integrierte Datenbank JDBC, Schnittstelle zu Skriptsprachen,...

Gliederung 24 / 33 1 Ziel der Vorlesung 2 Java oder C++??? 3 Was ist Java? 4 Geschichte von Java 5 Sommersemester 2009 6 Literatur

Vorlesungen im Sommersemester 2009 25 / 33 Einstieg in die Informatik mit Java Bohlender / Anic Di,11:30-13:00, HS37 und Mi, 9:45-11:15, Hertz-Hörsaal Schwerpunkte: Grundkonzepte von Java Einstieg in die Objektorientierte Programmierung Applets Weiterführende Themen in Java Rechnerhandhabung (Linux, Editor, Compiler, Entwicklungsumgebung NetBeans,...) Umsetzung einfacher mathematischer Konzepte und Algorithmen in Java Einstieg in die Informatik und algorithmische Mathematik Grüner / Feist Di, 11:30-13:00, Bauing, Gr. HS und Mi, 11:30-13:00, Tulla Schwerpunkte: Grundkonzepte von C++ Umsetzung einiger typischer Algorithmen aus der numerischen Mathematik Rechnerhandhabung (Linux, Editor, Compiler,...)

Vorkurs In diesem Semester bieten wir einen Vorkurs vor dem eigentlichen Praktikum an, in dem Teilnehmer/innen ohne Linux-Kenntnisse mit der Bedienung der Praktikumsrechner vertraut gemacht werden. Teil 1 (90 Minuten): Betriebsystem Linux: Oberfläche und wichtige Befehle. Teil 2 (90 Minuten): Ein erstes C++ Programm: Aufbau, selbst schreiben und übersetzen. Termine für den Vorkurs sind wahlweise Teil 1: Montag, den 20.04, 14:00-15:30 Uhr Teil 1: Dienstag, den 21.04, 15:45-17:15 Uhr Teil 1: Mittwoch, den 22.04, 14:00-15:30 Uhr Teil 2: Montag, den 20.04, 15:45-17:15 Uhr Teil 2: Mittwoch, den 22.04, 9:45-11:15 Uhr Teil 2: Mittwoch, den 22.04, 15:45-17:15 Uhr Ort: L-Pool des Rechenzentrums. Keine Anmeldung erforderlich. Die Teilnahme ist freiwillig. 26 / 33

Das Team Vorlesung/Übungen Dr. Gerd Bohlender, Allianzgebäude 3B-07.1, Tel. 2839 Praktikum/Aufgaben M.Sc. Branimir Anic, Allianzgebäude 3C-05, Tel. 8036 Praktikum/Anmeldung Dipl.-Ing. Wolfgang Maag, Allianzgebäude 3C-01, Tel. 2679 Sekretariat Frau Henriette Schreiber-Schmöger, Allianzgebäude 3C-04, Tel. 2680... und vor allem Ihre Tutorinnen und Tutoren 27 / 33

Webseite zur Vorlesung 28 / 33 Weitere Informationen siehe Merkblatt bzw. Webseite www.mathematik.uni-karlsruhe.de/ianm2/lehre/java2009s/ Materialien zur Vorlesung finden Sie unter ilias.rz.uni-karlsruhe.de

29 / 33 Anmeldung zum Praktikum Anmeldung bis Donnerstag, 23.4., 12:00 Uhr Wahl der Veranstaltung Java oder C++ Terminwahl Freitag, 24.4., 13:00 Uhr bis Dienstag, 28.4., 12:00 Uhr Praktikumsbeginn ab Mittwoch, 29.4. (je nach gewähltem Termin) Bitte beachten Sie das Merkblatt! Anmeldung ist nur an den Pool-Rechnern im Rechenzentrum möglich!

30 / 33 Eine kleine Umfrage Semester 2 4 6... Fach Etec, Mathe, Physik, Info, Mach, andere (WiMathe: Java, ChemieIng: C / alg. Math. im SS) Vorkenntnisse: Programmieren Java, C++, Basic, Pascal, andere Vorlesung WS06/07 oder SS07 nein, ja/wiederholer, ja/fortsetzung andere PC Vorkenntnisse Textverarbeitung, Web, Windows / Unix Mathematik Matrizen / Vektoren, HM, Numerik eigener PC vorhanden Java Compiler für eigenen PC erwünscht Windows, Linux Wahl von Java Studienplan, Internet, interess. Sprache, Berufsaussichten Sprache Deutsch, Englisch

Gliederung 31 / 33 1 Ziel der Vorlesung 2 Java oder C++??? 3 Was ist Java? 4 Geschichte von Java 5 Sommersemester 2009 6 Literatur

Literatur (eine Auswahl) 32 / 33 D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger: Grundkurs Programmieren in Java, Band 1, 4. Auflage, Hanser, 2007 D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger: Grundkurs Programmieren in Java, Band 2, 2. Auflage, Hanser, 2006 Regionales Rechenzentrum Niedersachsen: Java 2, Begleitmaterial zu Kursen, RRZN, Hannover, 2000, (Erhältlich bei BIT8000 im Rechenzentrum, 6,85 EUR) C. Ullenboom: Java ist auch eine Insel, 6. Aufl., Galileo Computing, 2007 (Online unter www.galileocomputing.de/openbook/javainsel6/)

Literatur (eine Auswahl) 33 / 33 C. Heinisch, F. Müller, J. Goll: Java als erste Programmiersprache, 4. Auflage, B.G. Teubner, 2005 G. Fischer, J. Wolff v. Gudenberg: Programmieren in Java 1.5, Springer, Reihe Xpert.press, 2005 E. Merker, R. Merker: Programmieren lernen mit Java, Vieweg, 2006. R. Schiedermeier: Programmieren mit Java - eine methodische Einführung, Pearson Studium, 2005 The Java Tutorials