Hallo,
ich bin Hobbyprogrammierer und habe meine erst Codezeile erst letztes Jahr im Oktober geschrieben und habe mich seitdem aber richtig reingehängt. Die Sprache habe ich mir im Eigenstudium beigebracht. Jetzt wollte ich wissen, ob ich noch ein Anfänger bin oder ob ich schon fortgeschrittene Kenntnisse in java habe. Ab wann gilt man eigentlich als fortgeschritten?
Also ich habe mal die Themen zusammengetragen, die ich bereits kann:
Java - Sprachmerkmale, Variablen, Bedingungen, Fallunterscheidungen
Schleifen: while, do-while, for, Berechnung der Fakultät, Berechnung des GGT
Java-Datentypen: Ganze Zahlen (byte, short, int, long), Gleitkommazahlen (float)
Java-Datentypen: Gleitkommazahlen (Fortsetzung), Boolean, Character, Typumwandlung, Konstanten
Felder: Feld von Ziffern, Feld von Daten, Feld von Zeichen, Feld von Wahrheitswerten
Felder: Feld von Indizes (Abzählreim), Feld von Zuständen (Endlicher Automat), Lineare Suche
Binäre Suche, Methoden: aktuelle + formale Parameter, Übergabe von arrays, Sichtbarkeit
Fehlerbehandlung, Rekursion, Fakultät, Potenzieren, Fibonacci, ggT, Türme von Hanoi
Komplexität, O-Notation, Analyse von Schleifen, Analyse eines rekursiven Programms
Verifikation, partielle Korrektheit, Terminierung, Halteproblem (Algorithmen-Fee)
Greedy, Divide-&-Conquer, SelectionSort, BubbleSort, MergeSort rekursiv, MergeSort iterativ
Quicksort, Median
Baum, Heap, HeapSort
Sortieren: Laufzeit und Platzbedarf, Untere Schranke für Sortieren durch Vergleichen, Bucket Sort
Objektorientierte Programmierung, Class Person, Vererbung, Class Student, Binden, Kinderabzählreim
ADT, Interface, ADT Liste
ADT Keller, Reverse, Klammerung, CharKeller, Infix-Postfix
Schlange, Baum, VerweisBaum
Traverse, TiefenSuche, BreitenSuche, PostfixBaumBau, Interface Enumeration, PreorderTraverse
SuchBaum, Comparable, Interface Menge, Insert, Delete, Lookup
Implementation von Lookup, Insert, SuchBaumTest, ausgeglichen, AVLBaum
Hashfunktion, Kollision, Sondieren, offenes + geschlossenes Hashing, HashSet, HashMap
Graphen: Modellierung, Fragestellungen, Implementation, All-Pairs-Shortest Path
Graphen: Vertex, Edge, Single-Source-Shortest-Path, Topologisches Sortieren, Hamiltonkreis
Graphen: Maximaler Fluss, Minimaler Cut, erweiternder Weg, Ford Fulkerson
Graphen: Spannbaum, Matching, Chinese PostmanBasiswissen Software-Entwicklung
Wichtige objektorientierte Konzepte
Fehlerbehandlung
Generizität
Klassenbibliotheken (JCF)
Iterator
JCF, InnereKlassen, Persistenz (Grundlagen, Datei- und Verzeichnisverwaltung)
Persistenz (I/O-Streams)
Decorator-Pattern, Serialisierung
Nebenläufigkeit (Grundlagen, Threads, Java Threads)
Thread Zustände, Threads und Fehler, Synchronisation
Nebenläufigkeit (Synchronisation: kritische Abschnitte, Monitore, Deadlocks, Synchronisation durch Kommunikation)
Grafische Benutzeroberflächen (AWT: Fenstertypen, Steuerelemente, Layout)
Grafische Benutzeroberflächen (Event Handling, Observer Pattern, Swing)
Grafische Benutzeroberflächen (Swing, MVC)
Netzwerkprogrammierung (Grundlagen, Protokolle, Adressierung)
Netzwerkprogrammierung (Adressierung, Sockets, Client/Server, UDP, Höhere Kommunikation)
Gibt es noch irgendwelche wichtigen Inhalte, die man zu java wissen sollte und ich noch nicht abgedeckt habe?
Ich habe jetzt vor mich in die jmonkeyEngine einzuarbeiten. Ansonsten lern ich jetzt noch nebenbei C/C++. Ich hätte nicht gedacht, dass mir programmieren soviel Spaß macht und ich habe es mir auch viel komplizierter vorgestellt.