Java-Einführungskurs Informatik II (D-ITET) Vincent Becker,

Ähnliche Dokumente
Java-Einführungskurs Informatik II für D-ITET FS 2016, ETH Zürich

Java für C++ Programmierer

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Java Einführung Programmcode

Vorlesung Informatik II

Java - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue

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

Erste Schritte mit Eclipse

Programmierkurs Java. Grundlagen. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck

Java-Vorkurs Wintersemester 15/16

Distributed Computing Group

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung

Vorkurs Informatik WiSe 15/16

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

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

AKTUEL ZU JAVA 8 PROGRAMMIEREN IN JAVA. 7. Auflage. Im Internet: Alle Beispielprogramme und Lösungen

Java Programmierung auf der Konsole / unter Eclipse

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Primitive Datentypen

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

Tutorium Java Ein Überblick. Helge Janicke

Software-Engineering Grundlagen des Software-Engineering

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Programmentwicklung ohne BlueJ

Java-Schulung Grundlagen

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Übung Softwareentwicklung 1, WS0910 Gemeinsame Einführung

II.1.1. Erste Schritte - 1 -

Java für Anfänger Teil 1: Intro. Programmierkurs Manfred Jackel

Objektorientierte Programmierung OOP Programmieren mit Java

Grundlagen der Informatik Übungen 1.Termin

Hochschule Niederrhein Grundlagen der Prof. Dr. Nitsche Fachbereich 03 Java Programmierung Bachelor Informatik SS 2015 Übung 1. Grundlagen von Java

Eclipse 3.0 (Windows)

Übung zur Vorlesung Strukturiertes Programmieren WS 2014/15. Übungsblatt 1: JAVA - Erste Schritte Abgabe: Besprechung:

Grundlagen der Programmierung UE

Eclipse 3.0 (Mac) 1. Eclipse installieren. 2. Welcome Projekt schliessen

Grundlagen der Programmierung UE

Themen der Übung. Java. Java installieren. Java installieren. Installation (Fortsetzung)

Programmieren I. Dokumentation mit Javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik

Erster Kontakt mit Java und Pseudocode

Erste Schritte zum lauffähigen Java Programm

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging.

Java: Eine Übersicht. Dennis Giffhorn. Lehrstuhl für Programmierparadigmen Universität Karlsruhe

Vorkurs WS 2014/15 der Fachschaft 07. Eine Einführung in die Softwareentwicklung anlässlich des Vorkurses für die Erstsemester im WS2014/15

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Informatik II Übung 1 Gruppe 7

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein

Javakurs für Anfänger

Programmierung. Programme, Compiler, virtuelle Maschinen, Java

Einführung in Eclipse und Java

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

Einstieg in die Informatik mit Java

JAVA - Methoden

Repetitorium Informatik (Java)

1. Übung zu "Numerik partieller Differentialgleichungen"

Einführung zu den Übungen aus Softwareentwicklung 1

Prof. Dr. Heinrich Müller. Informatik VII Universität Dortmund. Organisatorisches zum Vorkurs Informatik

Ein erstes Java-Programm

Programmieren 3 C++ Prof. Peter Sommerlad Fredy Ulmer

PIWIN 1 Übung Blatt 5

Programmieren lernen mit Groovy Allgemeines Programme und ihre Ausführung

3. Grundlegende Sprachkonstruktionen imperativer Programme

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

C++ Kurs Teil 1. Architektur, Anwendungsspektrum, primitive Datentypen, Funktionsaufrufe, Referenzen, Klassen

Computeranwendung und Programmierung (CuP)

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

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Institut für Informatik

Testen mit JUnit. Motivation

JAVA. Ein kurzer Überblick. Thomas Karp

Begleitendes Praktikum zur Vorlesung Mustererkennung

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

Programmieren mit. Java. Lars Knipping. Februar 2002

Eine Einführung - FH Krefeld WS NetBeans IDE

Hello World in Java. Der Weg zum ersten Java-Programm

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Web und Mobile Apps Programmieren mit Dart

Übungsaufgaben Java. Vorlesung Cloud Computing SoSe Cloud Computing SoSe 2009 Dr. M.Kunze 1

Für die Erstellung von Javaprogrammen sind eventuell zwei Komponenten nötig. 1. Das Java-Develepment-Kit (JDK) und die 2. Java Runtime Engine (JRE)

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann

Musterlösungen zur Klausur Informatik 3

Java Virtual Machine (JVM) Bytecode

Begleitendes Praktikum zur Vorlesung Künstliche Intelligenz

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013

Teil 1: Grundeigenschaften von Rechnern und Software

1 Polymorphie (Vielgestaltigkeit)

3 Objektorientierte Konzepte in Java

Ziele. C und C++ Was ist C? Übersicht. Überblick. C und C++ im Vergleich zu anderen Programmiersprachen einordnen können

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Einführung in die Programmierung mit Java

Kapitel 02. Java was, wann, warum, wieso. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Transkript:

Java-Einführungskurs Informatik II (D-ITET) Vincent Becker, vincent.becker@inf.ethz.ch

Was haben wir heute vor? Vorbereitung auf die Übungen zu Informatik II Vorstellung des Teams Organisatorisches Theorie Java-Technologie und Sprache Praktisches Erstes Programm auf der Konsole ausführen Eclipse Debugging Testen Javadocs Vincent Becker 2/22/2018 2

+ Vincent Becker 2/22/2018 3

Übungsgruppen Mittwochs und Donnerstag, jeweils 13 14 Uhr Überschneidung mit KA Unbedingt für eine Gruppe eintragen (225/270 bereits eingetragen) Danach in die gleiche! Gruppe auf Code Expert eintragen Zwei Gruppen sind auf Englisch Englisch können oder lernen wollen (gute Übung!) Anwesenheit in den Übungsgruppen ist wichtig Fragen & Interaktion!!! Ebenso die Bearbeitung der Aufgaben Vincent Becker 2/22/2018 4

Bonusaufgaben Es wird zum ersten Mal spezielle Bonusaufgaben geben Um diese freizuschalten, ist das Sammeln von XP in den normalen Übungen notwendig Die Leistungen aus den Bonusübungen wird proportional in den Bonus von maximal 0.25 Notenpunkten umgerechnet Keine Plagiate! Wird automatisch überprüft 2/22/2018 Vincent Becker 5

Bearbeitung der Übungen führt zu gutem Klausurergebnis? Korrelation Codeboard-Score und Punkten in der Klausur: +0.57 Vincent Becker 2/22/2018 6

Reversi-Turnier Vincent Becker 2/22/2018 7

Which programming language should I use? Vincent Becker 2/22/2018 8

Konzepte sind wichtig! Vincent Becker 2/22/2018 9

(Java ist auch eine Insel) Vincent Becker 2/22/2018 10

Warum Java? Objektorientiert Java is C++ without the guns, knives, and clubs. - James Gosling Einfacher als C++ Umfangreiches Ökosystem: Tools, Bibliotheken,... Virtuelle Maschine: Compile once Run everywhere Vincent Becker 2/22/2018 11

Werdegang eines Java-Programms Program.java Quellcode: Menschenverständlicher Text javac Program.java Aufruf des Java-Compilers Program.class java Program Java-Bytecode: Maschinenverständlicher Code Ausführen mittels virtueller Maschine Plattformunabhängigkeit: Java-Bytecode ist ohne Änderung auf jeder Architektur lauffähig, auf welcher eine Laufzeitumgebung installiert ist. Vincent Becker 2/22/2018 12

Hello World! /** * Ein Programm */ public class HelloWorld { } public static void main(string[] args) { System.out.println("Hello World"); } Vincent Becker 2/22/2018 13

Installation von Java Java-Laufzeitumgebung (JRE): Hauptbestandteil ist das Programm java Java Virtual Machine (JVM) Standardklassen und weitere Programmbibliotheken JRE Java-Entwicklungswerkzeug: Enthält die Programme java, javac... Enthält die JRE JDK Wir brauchen das JDK! Wir verwenden Java 8 Vincent Becker 2/22/2018 14

Hinweis für Windows Nach der Installation setzen der Umgebungsvariablen Vincent Becker 2/22/2018 15

Aufsführen auf der Konsole Aufruf des Compilers Demo Ausführen des Programms Vincent Becker 2/22/2018 16

Java-Basics Primitive Typen können auf dem Stack angelegt werden, ihre Instanzen sind keine Objekte! boolean byte, char, short, int, long float, double Alle anderen Typen sind Objekttypen Vincent Becker 2/22/2018 17

Java-Basics: Überall Objekte! Objekt: Instanz einer Klasse Zugriff ausschliesslich über Referenzen! Erzeugung mit new Car c = new Car( Porsche, 300); Entfernung durch Garbage Collector, kein delete! Vincent Becker 2/22/2018 18

Java-Basics: Methoden Funktionen heissen in Java Methoden Jede Methode hat eine eindeutige Signatur public class Car { Zugriffsrechte Rückgabewert Name Parameter public void driveto(location destination, int speed) { System.out.println( Driving to + destination.tostring() + at a speed of + speed + km/h. ); } } Vincent Becker 2/22/2018 19

Eclipse (IntelliJIDEA, NetBeans, ) Integrierte Entwicklungsumgebungen bieten viele nützliche Tools Direktes Compilieren und Ausführen Syntaxhighlighting Automatische Checks: Syntax, Typen, Autoformat Debuggen Einfaches Testen Refactoring Anzeige von Javadocs Wir empfehlen die Verwendung von Eclipse, da der Tutor es auf jeden Fall kann WARNUNG: In der Klausur muss auf Papier programmiert werden! Vincent Becker 2/22/2018 20

Installation von Eclipse Vorbedingung: JDK installieren Eclipse herunterladen: http://www.eclipse.org/downloads/eclipse-packages/ Eclipse IDE for Java Developers Eclipse ausführen Vincent Becker 2/22/2018 21

Ein (bisschen) komplexeres Programm Aufgabe: Funktion zur Berechnung der Summe aller ungeraden Zahlen bis zur Zahl n Demo Achtung: Es gibt viel bessere Lösungen als die naive die wir implementieren Vincent Becker 2/22/2018 22

Debuggen Rechsklick auf den Rand bei der Zeile an der man anhalten möchte Toggle Breakpoint Debugger starten Step forward / step into (F6 / F7) Vincent Becker 2/22/2018 23

Testen Junit Tests: Test einzelner Programm-Komponenten Einfach durchführbar in Eclipse New -> JUnit Test Case Run Demo Vincent Becker 2/22/2018 24

Javadocs Strukturierte Kommentare für Java-Code Besonders nützlich in Eclipse /** * This method calculates the sum of all odd number up to n (inclusive). * * @param n The upper bound. * @return The sum of all the odd numbers up to n. */ public int sumodds(int n) { } Demo Vincent Becker 2/22/2018 25

Übungsblatt 0: Aufgabe 1 HelloWorld mit Texteditor Ausführen auf der Kommandozeile HelloWorld in Eclipse Runterladen der Source-Dateien von der Vorlesungswebseite Einbinden in Eclipse HelloWorld in Code Expert Generell empfohlen: Bearbeitung in Eclipse, dann zur Abgabe in Codeboard kopieren Vincent Becker 2/22/2018 26

Übungsblatt 0 Aufgabe 2 Erstes Java-Programm: Signum-Funktion Aufgabe 3 Automatisiertes Testen mit JUnit4 Eclipse CodeBoard.io Aufgabe 4 Modellbildung Vincent Becker 2/22/2018 27

Fragen? Vincent Becker 2/22/2018 28