Wie lerne ich am besten Java?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
(...) wie man sich am besten auf die Klausur vorbereiten kann (...)

Frage ihn, ob er dir die Prüfungsaufgaben vergangener Jahre zur Verfügung stellen kann. Alternativ kannst du dich bei älteren Kommilitonen erkundigen. Es ist nicht ungewöhnlich, dass sie schon einmal weitergegeben wurden.

(...) Mein Professor hat ständig nur Codes vor sich hin programmiert und wir mussten zuschauen (...)

Stellt Fragen, wenn ihr seinen Lehrstoff nicht versteht. Redet mit ihm, wenn ihr ihm nicht folgen könnt. Nur wenn ihr auf euch / das Problem aufmerksam macht, kann sich etwas ändern.

(...) sobald ich eine Aufgabe mache fängt es an einigen Stellen an zu hapern.

Bei der Programmierung ist eine strukturierte Herangehensweise hilfreich.

  1. Problem erfassen und möglichst kurz formulieren (Ziel, Anforderungen)
  2. Problem soweit zerlegen, bis jedes Teilproblem leicht lösbar erscheint
  3. Lösungsschritte für jedes Teilproblem formulieren
  4. Testen
  5. In Code übersetzen und erneut testen

Das ist etwas, was vor allem Übung erfordert. Als Hilfsmittel empfehle ich stets, Programmablaufpläne anzulegen. Die Programmierung in Codeform sollte auf jeden Fall erst im letzten Schritt vorgenommen werden. Wenn du von Anfang an versuchst, Lösungen in Java-Code zu formulieren, lenkst du dich tendentiell mit der konkreten Syntax ab.

Ein paar Aufgaben, die sich zum Üben von Grundlagenthemen gut eignen:

  • Ein Array anlegen, füllen und anschließend um n Elemente vergrößern
  • Diverse Übungen zu Arrays, Rekursion und Schleifen: https://codingbat.com/java
  • Ein Programm, welches doppelte Wörter aus einem eingefügten Text entfernt
  • Konversion einer Binärzahl (String) in eine Dezimalzahl (Integer)
  • Berechnung der Quersumme einer dreistelligen Zahl (versuche mehrere Lösungswege zu finden)
  • Eigenimplementationen zu String-Funktionen (reverse, replace, removeChar, addChar, insertChar, substring, indexOf, ...)
  • Ver-/Entschlüsselung von Nutzereingaben via Caesar-Chiffre, Vigenère-Chiffre oder ROT13
  • Zahlen raten (Zahl rät eine Zahl zwischen 0 und 1000 in möglichst wenigen Schritten, er darf dabei nur Ja-Nein-Fragen an den Nutzer stellen)
  • Ein Array mit verschiedenen Sortieralgorithmen sortieren: Bubblesort, Insertionsort, Selectionsort, Quicksort
  • Ein Programm, welches Wörter in einem Text mittels binärer Suche sucht
  • Rekursive Funktionen (Wort umdrehen, Berechnung einer Zahl aus der Fibonacci-Reihe, Palindrom-Prüfer, Pascalsches Dreieck)
  • (OOP) Die Worte eines eingegebenen Texts rückwärts ausgeben - implementiere dafür einen eigenen Stack, der auf Knoten (also keinem Array) aufbaut
  • (OOP) Implementiere eine doppelt verkettete, zirkuläre Liste

Des Weiteren empfehle ich gern Processing. Hierbei handelt es sich um eine vereinfachte Programmierumgebung und -sprache, die auf Java aufbaut. Sie stellt verschiedene Funktionen zum Zeichnen bereit. Du kannst kleine Minispiele entwickeln, die sich wieder sehr gut für Anfänger eignen:

  • Conways Game Of Life
  • Pong
  • Snake
  • Vier gewinnt
  • Hangman (würde aber als Konsolenprogramm ebenso genügen)
  • Peg Solitaire
  • Tetris
  • Pacman
Ich habe mir viele YouTube-Tutorials gemacht und auch einige Online-Kurse (...)
  • Erkundige dich, was die Hochschule für dich noch bereitstellt (Bibliothek, Online-Lernmaterialien)
  • Suche dir Hilfe bei Kommilitonen (Nachhilfe/Lerngruppen/Tutorials)
  • Die JetBrains Academy hat ziemlich ausführliche Kurse zur Programmierung

Das Problem bei Videotutorials (und auch Büchern) ist in der Regel, dass sie sich mehr auf die Sprache fokussieren und nur wenig Übungsaufgaben stellen, in denen es dann auch wirklich darum geht, eigene Algorithmen zu komplexeren Problemen zu entwickeln. Du könntest explizit nach Büchern suchen, die Programmieraufgaben stellen (Stichworte: Java Trainingsbuch/Exercises). Online gibt es ebenfalls Plattformen mit Übungsaufgaben (z.B. Codewars, Edabit, Exercism).

Vor ein paar Jahren habe ich mich mal damit befasst und nur online Videos auf youtube bzw. im Internet irgendwo eine DVD gefunden, die Java-Programmierung von Grund auf erklärt bis hin zu komplexen Rechenoperationen.

Parallel zu dem Stoff, den dein Dozent in seinen Vorlesungen durchgeht, kannst du dir die Themen auf youtube oder eben der DVD nochmals durchschauen. Die DVD ist in viele Kapitel aufgeteilt und ein nerdig aussehender Typ, der weiß wovon der redet, spricht alle Themen an und geht tief in die Materie, anstatt nur anzuschneiden.

Vielleicht gibt es die DVD irgendwo noch

Java für Anfänger

Woher ich das weiß:eigene Erfahrung

Erstmal die Grundkonzepte lernen und üben. Dazu gibt es gute online Tutorials, aber da gilt es vor allem auch Hand anzulegen. Du solltest dir dazu begleitend auch online Aufgaben mit Lösungen raussuchen und probieren, die möglichst alle selbstständig zu lösen. Dann solltest du außerdem probieren, zu verstehen, was dein Professor programmiert.