Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Ähnliche Dokumente
Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Vorkurs Informatik WiSe 17/18

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

RO-Tutorien 15 und 16

Einführung in die Programmierung mit VBA

Beschreibung des Angebotes. Java Programmierung. LernenimInternet. Ansprechpartner. Angebot-Nr Angebot-Nr Weiterbildung.

Welche Informatik-Kenntnisse bringen Sie mit?

Berichte aus der Informatik. Dieter Pawelczak. Start in die C-Programmierung

RO-Tutorien 3 / 6 / 12

Tutorium Rechnerorganisation

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

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

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

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

Java für C++ Programmierer

Einleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++

PROCESSING EINE EINFÜHRUNG IN DIE INFORMATIK. Created by Michael Kirsch & Beat Rossmy

JAVA-Datentypen und deren Wertebereich

Spieleentwicklung. Diane Hanke, Okan Danyeli & Toni Wirth

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

Einführung in die Programmierung 1

Die Programmiersprache C Eine Einführung

Praktische Informatik 1

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

Java. CoMa-Übung II TU Berlin. CoMa-Übung II (TU Berlin) Java / 28

Grunddatentypen, Ausdrücke und Variablen Typkonversion, Überprüfen und Auswerten von Ausdrücken

2 Eine einfache Programmiersprache

Die Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp

Prinzipien der Softwareentwicklung S. Strahringer

Algorithmen zur Datenanalyse in C++

Einführung in C. EDV1-04C-Einführung 1

Inhaltsverzeichnis 1 Der objektorientierte Ansatz 2 Elementare Objekte und Ausdrücke

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

Multimedia im Netz Wintersemester 2011/12

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Institut für Informatik und Angewandte Kognitionswissenschaften

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder

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

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 1

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java

Kurzeinführung in C/C++ Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Einleitung

Grundlagen der OO- Programmierung in C#

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Einführung zu den Übungen aus Softwareentwicklung 1

Objektorientierte Programmierung Studiengang Medieninformatik

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

1.3.1 Java-Compiler installieren

Grundlagen von C# - 1

EINFÜHRUNG IN DIE PROGRAMMIERUNG

Java Datentypen und Variablen

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

2. Programmierung in C

Einführung in das Programmieren

Einführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax

Einführung in Eclipse und Java

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15

Das erwartet dich in diesem Buch 8. Kapitel 1 Aufbruch ins Programmierabenteuer 14

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

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

Java I Vorlesung Imperatives Programmieren

Vorkurs: Java-Einführung

JAVA. Ein kurzer Überblick. Thomas Karp

Einführung in C#.NET. 1 Übersicht. 2 Typen (Types) Dieser Artikel stammt aus dem Magazin von C++.de (

Inhaltsverzeichnis. Kapitel i: Schnelleinstieg 13. Kapitel 2: Was sind Programme? 17. Kapitel 3: Wie erstellt man eigene Programme?

Programmierung 1 für Wirtschaftsinformatik Wintersemester 2015/16

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

EINFÜHRUNG IN DIE PROGRAMMIERUNG

Programmieren I + II Regeln der Code-Formatierung

Java-Vorkurs Wintersemester 15/16

Programmierung mit C Zeiger

Institut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme

Einstieg in die Informatik mit Java

Kurzeinführung in C99

Datenstrukturen und Algorithmen

Grundlagen der Informatik für Ingenieure I

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

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Fragenkatalog ESOP WS 16/17

Vorkurs Informatik WiSe 15/16

Eine praktische Einführung in die Programmierung mit der Programmiersprache C

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Informatik I - Einstiegskurs

Vorkurs Informatik WiSe 16/17

Grundlagen Internet-Technologien. Clientseitige Web-Programmierung

INFORMATIK TEIL: VBA. Infromatik WS 17/18 Teil: VBA. Allgemeines: - 4 Übungen á 3 Stunden

Grundlagen der Programmierung

PHP JavaScript Kapitel 4. Kommentare

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>

Programmierkurs C++ Variablen und Datentypen

Grundlagen der Programmierung

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

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Institut für Programmierung und Reaktive Systeme 20. November Programmieren I. 4. Übungsblatt

Tutorium Informatik 1. Aufgabe 2: Formatierte Ein- und Ausgabe

Elementare Konzepte von

Transkript:

Einführung in die Programmierung für Nebenfach Medieninformatik Beat Rossmy, Michael Kirsch

Direct Feedback - Socrative Eure Mitarbeit ist uns wichtig! Installiert Euch dazu die kostenlose App Socrative Student auf Eurem Smartphone oder nutzt das Webinterface unter http://b.socrative.com/login/ student/ Anonymer Login über den Raumnamen: MSMJ0KRQ 2

Direct Feedback - Socrative Frage 1 Wie zufrieden seid Ihr mit dieser Vorlesung und den Übungen? A: MSMJ0KRQ B: C: D: 3

Direct Feedback - Socrative Klausurtermin am 02.03.2017 Uhrzeit: tbd Raum: tbd 4

Direct Feedback - Socrative Frage 1: Wie zufrieden seid Ihr mit dieser Vorlesung und den Übungen? (Ergebnisse aus dem letzten Semester) 6 5 4 3 2 1 0 Sehr zufrieden Zufrieden Geht so Unzufrieden Sehr unzufrieden 5

Einführung in Java Beat Rossmy, Michael Kirsch

Inhalt I. Einleitung 1. Wie geht es weiter? 2. Java & Processing 3. Java Beispiele II. Theorie 1. IntelliJ 2. Aufbau von Java 3. Schlüsselwörter 4. Kontrollstrukturen 5. Hello World! III. Anwendung 1. Java in Action IV. Verknüpfung 1. Processing in Java 2. Videotutorials V. Ausblick 1. Nächste Vorlesung 2. Übung 7

Einleitung 8

Übersicht - Wie geht es weiter? Einführung in die Programmierung Processing Java Typen und Operatoren Kontroll- Strukturen Grundlagen aus Processing Klassen und Objekte Gültigkeit und Konventionen Methoden Arrays Konstruktoren Eingabenverarbeitung Animationen 9

Java & Processing Processing Java Java wurde 1995 von Sun Microsystems entwickelt und 2010 von Oracle gekauft und seitdem unter dem Namen Oracle Java geführt Java ist eine Programmiersprache UND eine Technologie Java war bei der Entwicklung von Processing das Vorbild Jedoch sollte Processing leichter zu verwenden sein Zielgruppe von Processing sind Visual Designers Zielgruppe von Java sind Softwareentwickler 10

Warum Java? Warum verwenden wir nicht weiterhin Processing? Processing ist mächtig, aber dennoch begrenzt Komplexere Anwendung bedürfen einer komplexeren Sprache und einer mächtigen Entwicklungsumgebung, die uns unterstützt Java bietet viele vorgefertigte Komponenten und erleichtert uns die Entwicklung von komplexeren Anwendung (Bspw. ein Spiel) 11

Java - Beispiele Interactive Audio Player http://cache.fxexperience.com/wp-content/uploads/2012/01/fxexperienceplayer-bg.png 12

Java - Beispiele Fancy Charts https://docs.oracle.com/javafx/2/best_practices/jfxpub-best_practices.html 13

Java - Beispiele Fancy Games - Brick Breaker 14

Java - Beispiele Fancy Games - Pacman http://www.javafxgame.com/screenshoot.png 15

JavaFX - Beispiele Benutzerdialoge docs.oracle.com 16

Java - Beispiele Industrial Webservices www.goertz.de/ 17

Schnittstellen & Kommunikation Ich bin aber kein Softwareentwickler Du wirst aber mit welchen zusammen arbeiten (müssen)! 18

The 2015 Top Ten Programming Languages z Verbreitung von Programmiersprachen 19

The 2015 Top Ten Programming Languages Vergleich 2015 (links) mit 2014 (rechts) http://spectrum.ieee.org/computing/software/the-2015-top-ten-programming-languages 20

News - 7 Gründe warum Coding- Skills den besseren Designer machen https://entwickler.de/online/development/7- gruende-coding-skills-designer-297235.html 21

Theorie 22

Java - Einführung Wie sieht Java aus? 23

Hands on Da Processing Java als Vorbild dient, ist es relativ leicht möglich Euer bisheriges Wissen von Processing auf Java zu übertragen In Processing wird ein rot ausgefülltes Quadrat wie folgt erstellt: Compile & Run 24

Hands on In Java wird das gleiche Ergebnis mit etwas mehr Aufwand wie folgt erreicht: Compile & Run 25

Die Vorteile von Java Java ist aufwendiger als Processing, aber dafür gewinnen wir deutlich mehr Flexibilität und mehr Möglichkeiten Java ist plattformunabhängig, ebenso wie Processing Java bildet die Grundlage für sehr viele moderne Programmiersprachen (JavaScript, Processing usw.) Java ist die Programmiersprache im akademischen Umfeld und sehr verbreitet in der Industrie. Demnach: Viele (gute) Lehrbücher, Anleitungen und Tutorials im Internet Sehr guter Toolsupport (Hilfssoftware) für die Entwicklung von Java Große Anzahl an modernen Bibliotheken und Erweiterungen 26

Wie entwickeln wir in Java? Processing enthält bereits eine Entwicklungsumgebung (Integrated Development Environment, IDE) bei der Installation Für Java gibt es viele IDEs. Die verbreitetsten sind Eclipse NetBeans IntelliJ Wir verwenden IntelliJ (IntelliJ 2016 (Community Edition)) 27

Anwendung 28

IntelliJ Installation Anleitungen zur Installation von IntelliJ / Java findet Ihr viele im Internet. Eine (unverbindliche) Auswahl gibt es hier: https://www.jetbrains.com/help/idea/2016.2/installing-and-launching.html IntelliJ Installation für alle Betriebssysteme (englisch) https://www.youtube.com/watch?v=m0y0t-s_mbq IntelliJ Installation und HelloWorld für Windows 29

Beispiele in IntelliJ Alle in der Vorlesung programmierten Beispiele werden Euch nach der Vorlesung zur Verfügung gestellt Versucht aufzupassen und/oder parallel selbst zu programmieren Kommentare und Erklärungen sind im Quellcode enthalten 30

Variablen In Processing wurden Variablen wie folgt definiert: int begin_x = 15; //Integer-Variable int begin_y = 25; int end_x = 70; int end_y = 90; Ausgabe: line(begin_x, begin_y, end_x, end_y); 31

Variablen In Java sieht es ganz ähnlich aus: int begin_x = 15; //Integer-Variable int begin_y = 25; int end_x = 70; int end_y = 90; Ausgabe: Graphics.drawLine(20, 100, 120, 100); 32

Datentypen in Java Ganze Zahlen Name Gleitkommazahlen Größe im Speicher Zahlenbereich byte 1 Byte -128 bis 127 (2^8) short 2 Byte -32768 bis 32767 (2^16) int 4 Byte 2.147.483.648-2.147.483.648 (2^32) long 8 Byte 2^64 Name Größe im Speicher Zahlenbereich float 4 Byte Genauigkeit: 7-8 Dezimalstellen double 8 Byte Genauigkeit: 15-16 Dezimalstellen 33

Was bedeutet Größe im Speicher? Java verwaltet seine Variablen in zwei Speicherbereichen Stack (Einfache Datentypen wie int, float) Heap (Komplexe Datentypen wie Objekte) JVM Memory Heap Stack bspw. Java.exe Windows Speichermanagement 34

Datentypen in Java Der besondere Datentyp String (Zeichenketten) Strings sind Zeichenketten, die aus Buchstaben, Zahlen und Sonderzeichen bestehen können Darstellung durch Anführungszeichen Beispiel: String mystring = Java is so cool! ; Ausgabe: Java is so cool! Besonderheit: Zeilenumbruch mit \n String mystring = Java is \n so cool! ; Ausgabe: Java is so cool! 35

Variablenzuweisung / Deklarationen Zuweisungen und Operationen (ähnlich zu Processing) 36

Kontrollstrukturen If / else 37

Kontrollstrukturen While und For-Schleifen 38

Verknüpfung 39

Direct Feedback - Socrative Quiztime :-) A: MSMJ0KRQ B: C: D: 40

Quiztime - Raumnummer MSMJ0KRQ Quiz: Was ist IntelliJ und wofür verwenden wir es? A: IntelliJ ist auch eine Programmiersprache und wir verwenden es nicht B: IntelliJ ist eine Entwicklungsumgebung, mit der wir Java programmieren C: So etwas gibt es nicht! D: IntelliJ ist die Laufzeitumgebung, ohne die Java nicht funktionieren würde 41

Quiztime - Raumnummer MSMJ0KRQ Quiz: Was ist IntelliJ und wofür verwenden wir es? A: IntelliJ ist auch eine Programmiersprache und wir verwenden es nicht B: IntelliJ ist eine Entwicklungsumgebung, mit der wir Java programmieren C: So etwas gibt es nicht! D: IntelliJ ist die Laufzeitumgebung, ohne die Java nicht funktionieren würde 42

Quiztime - Raumnummer MSMJ0KRQ Quiz: Welche der folgenden Aussagen über Java und Processing sind richtig? A: Java ist eine Programmiersprache und Processing nicht B: Beides sind Programmiersprachen, jedoch ist Java komplexer C: Java und Processing sind das gleiche D: Processing ist eine Verbesserung/Weiterentwicklung von Java 43

Quiztime - Raumnummer MSMJ0KRQ Quiz: Welche der folgenden Aussagen über Java und Processing sind richtig? A: Java ist eine Programmiersprache und Processing nicht B: Beides sind Programmiersprachen, jedoch ist Java komplexer C: Java und Processing sind das gleiche D: Processing ist eine Verbesserung/Weiterentwicklung von Java 44

Quiztime - Raumnummer MSMJ0KRQ Quiz: Wie oft wird die folgende Schleife durchlaufen? A: Kein mal B: 15 mal C: 16 mal D: 17 mal 45

Quiztime - Raumnummer MSMJ0KRQ Quiz: Wie oft wird die folgende Schleife durchlaufen? A: Kein mal B: 15 mal C: 16 mal D: 17 mal 46

Ausblick 47

Ausblick Die kommenden Übungen dienen als Beratungsstunde Besucht die Übungen und bearbeitet die Übungsaufgaben dort Der Verzug zwischen Vorlesung und Übung wird damit reduziert 48

Nächstes Übungsblatt Das nächste Übungsblatt enthält Aufgaben zum Einstieg in Java Löst diese Aufgaben im Team 49

Euer Projekt Nach einer Eingewöhnungsphase in Java, werdet ihr in den Übungen Stück für Stück das Spiel Pong entwickeln Komplexe Codefragmente werden von uns zur Verfügung gestellt Nach der letzten Übungsstunden wird die Musterlösung bekannt veröffentlicht Für alle, die Pong nicht kennen: https://www.youtube.com/watch?v=zmrj3obmfbm 50

Tutorials im Internet Eine Empfehlung eurer Vorgänger https://www.youtube.com/playlist?list=pl71c6dfddf73835c2 51

JVM/JDK installieren Bevor Ihr IntelliJ verwenden könnt, müsst Ihr Euch die Java Laufzeitumgebung für Entwickler installieren (Java JDK; Java Development Kit) http://www.oracle.com/technetwork/java/javase/ downloads/jdk8-downloads-2133151.html Verwendet dabei die zu diesem Zeitpunkt aktuelle Version 8u111 52

Fragen? 53

Vielen Dank für Eure Zeit! 54