====== Programmiervorkurs für Infos und Medien-Infos ======
\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ Diese Seite ist nicht mehr aktuell. Die neuesten Infos findet ihr auf unserer neuen Webseite unter \\ https://iwi-hka.de/vorkurs \\ \\ \\ \\ \\ \\ \\ \\ \\ \\
Im WS 2020/21 findet der Vorkurs in der Woche vom **21.09.2020** bis **24.09.2020** statt. Wir führen den Vorkurs dieses Semester online/remote durch. Aktuell arbeiten wir noch am genauen Konzept. Schaut regelmäßig auf diese Seite, um Updates zu erhalten. Antworten auf eure Fragen bekommt ihr jetzt schon auf unserem öffentlichen [[https://discord.gg/Ud5KQnz|Discord Server]]). Ihr könnt euch unter bereits für den Vorkurs anmelden.
===== Über den Kurs =====
Um Erstis, die zuvor noch nie etwas programmiert haben, den Einstieg zu vereinfachen, bieten wir einen Programmierkurs an. Keine Angst, in unserem Kurs wird nicht vorausgesetzt, dass ihr schon programmieren könnt! Trotzdem ist es hilfreich, wenn ihr schon ein wenig mit den Grundlagen vertraut seid, so lässt sich das Gehörte leichter einordnen und behalten.
Der Vorkurs wendet sich in erster Linie an absolute **Programmier-Neulinge**, verwendet wird die Programmiersprache **Java**. Natürlich sind auch alle anderen Info-Erstis eingeladen, die ihre Kenntnisse auffrischen wollen.
Für die Studiengänge Wirtschafsinformatik und Data Science ist eine Teilnahme auch möglich, die Veranstaltung ist aber aufgrund der verschiedenen Programmiersprachen nicht darauf abgestimmt.
===== Anmeldung =====
** Auch hier nochmal der Hinweis - Der Vorkurs ist nur für Studierende der Studiengänge Informatik und Medieninformatik an der Hochschule Karlsruhe ausgelegt! **
Der Vorkurs findet üblicherweise zwei Wochen vor Vorlesungsbeginn statt und dauert **4 Tage**, den genauen Termin findet ihr hier und in den Unterlagen, die ihr zugeschickt bekommen habt. Damit wir besser planen können, bitten wir euch, euch vorher per E-Mail an **anzumelden**. Bitte schreibt in die Mail auch noch euren Studiengang. Die Teilnahme ist **kostenlos**.
===== Ablauf =====
Morgens behandeln wir relevante Themen, die wir nach einer gemeinsamen Mittagspause mithilfe von Programmierübungen vertiefen werden, damit ihr euer Wissen direkt umsetzen könnt.
Behandelt werden unter anderem folgende Themen:
* Variablen
* Kontrollstrukturen
* Schleifen
* Funktionen
* Grundlagen der objektorientierten Programmierung
===== Programme =====
* Eclipse (inkl. JDK): [[https://ninite.com/eclipse-jdk/]] x86
* Eclipse (inkl. JDK): [[https://ninite.com/eclipse-jdkx8/]] x64
/**
* Netbeans [[http://netbeans.org/]]
* Netbeans (inkl. JDK): [[http://www.oracle.com/technetwork/java/javase/downloads/jdk-netbeans-jsp-142931.html]]
* Eclipse: [[http://www.eclipse.org/]]
Alternativ:
* Eclipse: [[http://www.eclipse.org/]]
* Java SDK (Achtung: Hier das JDK downloaden): [[http://www.oracle.com/technetwork/java/javase/downloads/index.html]]
**/
===== Unterlagen=====
Hier findet ihr während des Vorkurses die aktuellen Foliensätze und Aufgaben.
Die Unterlagen zu den einzelnen Tagen werden entsprechend nach und nach freigeschaltet.
Tags zum Auskommentieren
==== Tag1 ====
{{::vorkurs::vorkurs_tag1_ws20.pdf|Folien}}
{{::vorkurs::vorkurs_tag1_ws20_aufgaben.pdf|Aufgaben}}
{{::vorkurs::vorkurs_tag1_ws20_loesungen.pdf|Lösungen Java}}
{{::vorkurs::vorkurs_tag1_ws20_loesungen_csharp.pdf|Lösungen C#}}
{{::vorkurs::vorkurs_tag1_ws20_loesungen_python.pdf|Lösungen Python}}
==== Tag2 ====
{{::vorkurs::vorkurs_tag2_ws20.pdf|Folien}}
{{::vorkurs::vorkurs_tag2_ws20_aufgaben.pdf|Aufgaben}}
{{::vorkurs::vorkurs_tag2_ws20_loesungen_java.pdf|Lösungen Java}}
{{::vorkurs::vorkurs_tag2_ws20_loesungen_csharp.pdf|Lösungen C#}}
{{::vorkurs::vorkurs_tag2_ws20_loesungen_python.pdf|Lösungen Python}}
==== Tag3 ====
{{vorkurs:vorkurs_tag3.pdf|Folien}}
{{vorkurs:vorkurs_tag3_aufgaben.pdf|Aufgaben}}
Noch mal zu Arrays:
Java ist es egal, ob bei der Deklaration die eckigen Klammern [] beim Typ oder beim Bezeichner stehen.
Also sind beide folgenden Deklarationen korrekt:
String namen[] = new String[12];
String[] namen = new String[12];
{{vorkurs:vorkurs_tag3_loesungen.pdf|Lösungen}}
{{:vorkurs:vorkurs_tag3_loesungen_py.pdf|Lösungen Python }}
==== Tag4 ====
Hinweis: Es kann vorkommen, dass in Eclipse die Umlaute in den Aufgaben nicht richtig angezeigt werden. Um dies zu beheben, muss unter Window → Preferences → General → Workspace unten im Fenster das Text file encoding von Default auf UTF-8 eingestellt werden.
**Die Folien wurden aktualisiert! (um 12:30 Uhr)**
{{:vorkurs:vorkurs_tag4_ws20_2.pdf|Folien}}
{{:vorkurs:fs_iwi-bahnautomat.zip|FS_IWI-Bahnautomat.zip}}
{{:vorkurs:fs_iwi-bahnautomat_lösung.zip|FS_IWI-Bahnautomat_Lösung.zip}}
Alternative Aufgaben in Python:
* [[http://www.programmieren-mit-python.de/aufgaben-2]]
* [[https://pythonbuch.com/aufgabensammlung.html]]
Alternative Aufgaben in C#:
* [[https://www.programmierenlernen24.de/csharp-uebungen-bch/]]
* [[https://trainyourprogrammer.de/csharp]]
===== Bewertung =====
Ihr könnt uns helfen, den Vorkurs zu verbessern, indem ihr uns hier eure Meinung sagt.
Natürlich dürft ihr uns auch jederzeit ansprechen, falls ihr Anmerkungen, Kritik oder Ähnliches habt.
Die TANs für die Bewertung gelten für jeden Tag.
cfcd20 c4ca42 c81e72 eccbc8 a87ff6 e4da3b 167909 8f14e4 c9f0f8 45c48c d3d944 6512bd c20ad4 c51ce4 aab323 9bf31c c74d97 70efdf 6f4922 1f0e3d 98f137 3c59dc b6d767 37693c 1ff1de 8e296a 4e732c 02e74f 33e75f 6ea9ab 34173c c16a53 6364d3 182be0 e36985 1c383c 19ca14 a5bfc9 a5771b d67d8a d64592 3416a7 a1d0c6 17e621 f71771 6c8349 d9d4f4 67c6a1 642e92 f457c5 g815us x37tf8 7x112y 51f5lp #
| Wie verständlich war die Vorlesung inhaltlich? | Gar nicht | Sehr |
| War die Stoffmenge zu viel, genau richtig oder zu wenig? | Zu wenig | Zu viel |
| Wie gut fandet ihr die Übungen? | Schlecht | Gut |
| Wie viel habt ihr von dem Tag behalten? | Wenig | Viel |
| Wie gut bewertet ihr den gesamten Tag? | Schlecht | Gut |
[ Kommentar zum Tag: ]
cfcd20 c4ca42 c81e72 eccbc8 a87ff6 e4da3b 167909 8f14e4 c9f0f8 45c48c d3d944 6512bd c20ad4 c51ce4 aab323 9bf31c c74d97 70efdf 6f4922 1f0e3d 98f137 3c59dc b6d767 37693c 1ff1de 8e296a 4e732c 02e74f 33e75f 6ea9ab 34173c c16a53 6364d3 182be0 e36985 1c383c 19ca14 a5bfc9 a5771b d67d8a d64592 3416a7 a1d0c6 17e621 f71771 6c8349 d9d4f4 67c6a1 642e92 f457c5 g815us x37tf8 7x112y 51f5lp #
| Wie verständlich war die Vorlesung inhaltlich? | Gar nicht | Sehr |
| War die Stoffmenge zu viel, genau richtig oder zu wenig? | Zu wenig | Zu viel |
| Wie gut fandet ihr die Übungen? | Schlecht | Gut |
| Wie viel habt ihr von dem Tag behalten? | Wenig | Viel |
| Wie gut bewertet ihr den gesamten Tag? | Schlecht | Gut |
[ Kommentar zum Tag: ]
cfcd20 c4ca42 c81e72 eccbc8 a87ff6 e4da3b 167909 8f14e4 c9f0f8 45c48c d3d944 6512bd c20ad4 c51ce4 aab323 9bf31c c74d97 70efdf 6f4922 1f0e3d 98f137 3c59dc b6d767 37693c 1ff1de 8e296a 4e732c 02e74f 33e75f 6ea9ab 34173c c16a53 6364d3 182be0 e36985 1c383c 19ca14 a5bfc9 a5771b d67d8a d64592 3416a7 a1d0c6 17e621 f71771 6c8349 d9d4f4 67c6a1 642e92 f457c5 g815us x37tf8 7x112y 51f5lp #
| Wie verständlich war die Vorlesung inhaltlich? | Gar nicht | Sehr |
| War die Stoffmenge zu viel, genau richtig oder zu wenig? | Zu wenig | Zu viel |
| Wie gut fandet ihr die Übungen? | Schlecht | Gut |
| Wie viel habt ihr von dem Tag behalten? | Wenig | Viel |
| Wie gut bewertet ihr den gesamten Tag? | Schlecht | Gut |
[ Kommentar zum Tag: ]
cfcd20 c4ca42 c81e72 eccbc8 a87ff6 e4da3b 167909 8f14e4 c9f0f8 45c48c d3d944 6512bd c20ad4 c51ce4 aab323 9bf31c c74d97 70efdf 6f4922 1f0e3d 98f137 3c59dc b6d767 37693c 1ff1de 8e296a 4e732c 02e74f 33e75f 6ea9ab 34173c c16a53 6364d3 182be0 e36985 1c383c 19ca14 a5bfc9 a5771b d67d8a d64592 3416a7 a1d0c6 17e621 f71771 6c8349 d9d4f4 67c6a1 642e92 f457c5 g815us x37tf8 7x112y 51f5lp hasel #
| Wie verständlich war die Vorlesung inhaltlich? | Gar nicht | Sehr |
| War die Stoffmenge zu viel, genau richtig oder zu wenig? | Zu wenig | Zu viel |
| Wie gut fandet ihr die Übungen? | Schlecht | Gut |
| Wie viel habt ihr von dem Tag behalten? | Wenig | Viel |
| Wie gut bewertet ihr den gesamten Tag? | Schlecht | Gut |
[ Kommentar zum Tag: ]
**/
Hinweis: Es kann vorkommen, dass in Eclipse die Umlaute in den Aufgaben nicht richtig angezeigt werden. Um dies zu beheben, muss unter Window → Preferences → General → Workspace unten im Fenster das Text file encoding von Default auf UTF-8 eingestellt werden.
{{::vorkurs_tag4_ss20.pdf|Folien}}
{{:vorkurs:bahnticketautomat.zip|Abschlussaufgabe}}
===== Übungsaufgaben =====
* Weitere schöne Aufgaben mit unterschiedlichem Schwierigkeitsgrad:
[[https://wiki.freitagsrunde.org/Javakurs/%C3%9Cbungsaufgaben]]
===== Tipps =====
**String-Manipulation und Konsolenausgabe**
* String-Konkatenation: An Leerzeichen zwischen "//+//"-Operator denken: ("Die dritte " + i + " Fibonacci-Zahl ist: " + fibonacci[i])
* Alternative: Formatspezifizierer verwenden: ("Die dritte %d Fibonacci-Zahl ist: %d, i, fibonacci[i]): https://alvinalexander.com/programming/printf-format-cheat-
==== printf Format Specifiers ====
^ ID ^ Verwendung ^
| %c | char |
| **%d** | int, Dezimalzahl (Basis 10) |
| %e | float, Exponential-Angabe |
| **%f** | float, Gleitkommazahl |
| %i | int, (Basis 10) |
| %o | Oktalzahl (Basis 8) |
| **%s** | string |
| %u | int, unsigned (Dezimal) |
| %x | Hexadezimalzahl (Basis 16) |
| %% | //Pronzentzeichen ausgeben// |
| \% | //Prozentzeichen ausgeben// |