1. Lernen basierend auf der Praxis

Java-Lernen basierend auf der Praxis

Es gibt Menschen, die CodeGym von ganzem Herzen lieben, und es gibt Menschen, die es von ganzem Herzen hassen. Aber selbst der schärfste Kritiker von CodeGym wird bereitwillig zustimmen, dass es eine beeindruckend große Anzahl an Aufgaben bietet. Und der Grund dafür, dass es so viele davon gibt, liegt darin, dass jedes CodeGym-Training auf der Praxis basiert .

Programmieren ist eine Fähigkeit. Niemand sagt: „Ich kann programmieren“. Jeder Programmierer sagt: „Ich kann programmieren“. Es ist eine praktische Fähigkeit, wie Schwimmen oder Schachspielen. Und Sie können diese Fähigkeit nur durch ständiges Üben weiterentwickeln.

Aus diesem Grund besteht der gesamte CodeGym-Kurs aus einer Abfolge immer schwieriger werdender Aufgaben. Sie beginnen mit sehr einfachen, primitiven Aufgaben und enden mit den schwierigsten und interessantesten. Der Schwierigkeitsgrad steigt mit jedem Level ein wenig. Genau dieser Weg führt Sie zu Ihrem Ziel, Programmierer zu werden.


2. Arten von Aufgaben

Auf CodeGym erwartet Sie eine ganze Reihe verschiedener Arten von Aufgaben. Lassen Sie uns die wichtigsten auflisten:

Aufgaben, bei denen Sie ein Programm schreiben

Dies sind die wichtigsten Aufgaben im Kurs. Ihr Schwierigkeitsgrad variiert stark: von den einfachsten Aufgaben bis hin zu solchen, über die Sie viel nachdenken müssen.

Das Ziel dieser Aufgaben besteht darin, ein Programm zu schreiben, das bestimmte Bedingungen und Anforderungen erfüllt. Die meisten Aufgaben fallen in diese Kategorie. Zur Vereinfachung für CodeGym-Schüler markieren wir diese Aufgaben nach ihrem Schwierigkeitsgrad: EINFACH , MITTEL , SCHWER und EPISCH .

EPIC-Aufgaben basieren oft auf zukünftigem Lernmaterial in Lektionen, die Sie noch nicht freigeschaltet haben. Sie sind bei CodeGym-Studenten beliebt, die der Meinung sind, dass der Kurs zu einfach für sie ist. Andere können diese Aufgaben einfach überspringen und später darauf zurückkommen, wenn sie bereits mit der relevanten Theorie vertraut sind.

Projekte

Der Nachteil gewöhnlicher Aufgaben ist, dass sie klein sind. Fertig und vergessen, wie man so schön sagt. Daher ist es selten möglich, sie hochinteressant zu gestalten. Aber ein großes Programm ist schwer zu testen: Es gibt einfach zu viele Möglichkeiten, es umzusetzen.

Aus diesem Grund hat CodeGym Projektaufgaben eingeführt – große Aufgaben, die in 5–35 normale Unteraufgaben unterteilt sind. Sie führen alle Teilaufgaben nacheinander aus und erhalten am Ende ein großes Programm.

Am Ende jedes Levels nach Level 20 steht eine große Projektaufgabe, die in zwanzig Teilaufgaben unterteilt ist. Dazu kommen noch 6 weitere Spielaufgaben, die ebenfalls Projekte sind. Und für die Aufnahme in ein Online-Praktikum gibt es eine Projektaufgabe. Insgesamt gibt es im gesamten Kurs 27 Projektaufgaben.

Quiz

Lange Zeit gab es bei CodeGym keine Tests oder Tests. Der Erfinder von CodeGym ist der Meinung, dass bestandene Tests bei Menschen die „Illusion von Wissen“ erzeugen. Die Leute können zwar nicht wirklich programmieren, sind aber durch die bestandenen Prüfungen völlig vom Gegenteil überzeugt. Solche Leute hören auf zu lernen, weil sie „schon alles wissen“.

Anschließend wurden Quizfragen hinzugefügt, um CodeGym-Studenten die Möglichkeit zu geben, Lernlücken leicht zu erkennen. Für Programmierer ist es nützlich, die Nuancen der Dinge zu kennen, mit denen sie in ihrem Beruf täglich arbeiten.


3. Aufgabenstatus

Jede Aufgabe auf CodeGym hat einen besonderen Status. Der Status kann sich ändern, während Sie Aufgaben lösen.

Jede CodeGym-Aufgabe ist mit einer Lektion verknüpft. Zunächst haben Sie keinen Zugriff auf Aufgaben und können diese daher nicht lösen.

Wenn Sie die nächste Lektion öffnen, stehen alle Aufgaben der Lektion zur Lösung zur Verfügung, dh ihr Status ändert sich auf „Verfügbar“.

Wenn Sie eine Aufgabe mindestens einmal zur Überprüfung eingereicht haben, ändert sich ihr Status von „Verfügbar“ auf „In Bearbeitung“.

Wenn Sie schließlich alle Anforderungen erfolgreich erfüllt haben und der Validator Ihre Einreichung akzeptiert, ändert sich der Status der Aufgabe auf „Abgeschlossen“.

Benutzer mit einem Premium Mentor-Abonnement haben drei weitere Tage Zeit, um zu versuchen, andere Lösungen für die Aufgabe zu schreiben. Nach Ablauf dieses zusätzlichen Zeitfensters wechselt die Aufgabe in den Status „Geschlossen“, und dieser Status ändert sich nicht mehr.


4. Anforderungen

In den Anfangsjahren von CodeGym erhielt man bei der Überprüfung jeder Aufgabe ein einfaches Ergebnis: Ja oder Nein. Entweder hat das Programm alle Tests bestanden oder nicht. Super einfach, aber nicht super hilfreich.

Wenn Menschen lernen, ist es sehr wichtig, dass sie verstehen, was sie falsch machen und wie sie anfangen können, es richtig zu machen. Dementsprechend macht es durchaus Sinn, dass Sie sich fragen, was daran falsch ist , wenn der Server Ihre Lösung nicht akzeptiert .

Um eine Antwort auf diese Frage zu erhalten, benötigen Sie jemanden, der sich mit Ihrer Lösung befasst, sie analysiert und Ihnen sagt, was daran falsch ist. Dies würde lange dauern und teuer sein. Das Schöne an der sofortigen Aufgabenüberprüfung ist, dass Sie sich um 2 Uhr morgens zum Lernen hinsetzen können und alles wie zu jeder anderen Zeit funktioniert.

Deshalb haben wir alle Aufgaben auf CodeGym neu geschrieben . Jetzt hat jede Aufgabe nicht nur Aufgabenbedingungen, sondern auch eine Liste von 5–10 Anforderungen, die die Bedingungen konkretisieren. Am wichtigsten ist, dass jede Anforderung separat überprüft wird.

Das heißt, wenn Sie heute eine Aufgabe zur Überprüfung einreichen, erhalten Sie eine erweiterte Antwort: Neben jeder Aufgabenanforderung sehen Sie ein spezielles Symbol, das anzeigt, ob Ihr Programm diese Anforderung erfüllt oder nicht. Beispiel:

Anforderungen

Dieser Ansatz vereinfacht das Leben erheblich, wenn Sie an Aufgaben arbeiten, für die Sie mehrere Klassen oder Methoden schreiben müssen. Sie können immer sehen, welche Methoden oder Klassen Sie richtig geschrieben haben und welche nicht.


5. Empfehlungen

Kann man die Aufgaben irgendwie noch besser machen? Wäre es nicht großartig, wenn Sie nach jeder Überprüfung erfahren würden, was genau in Ihrem Programm falsch ist, und Hinweise zur Behebung erhalten würden? Ja, das wäre cool! Rate mal? Genau das machen wir auf CodeGym 🙂

Wir erkennen Dutzende häufiger Fehler, indem wir jede Aufgabenanforderung überprüfen. Wenn Ihr Programm einen Fehler macht, der dem Validator bekannt ist, gibt er eine Empfehlung ab – einen Hinweis, wie Sie Ihre Lösung so korrigieren können, dass sie alle Anforderungen erfüllt.

Denk darüber nach. Mittlerweile gibt es auf CodeGym etwa 1.200 Aufgaben mit insgesamt etwa 10.000 Anforderungen. Und mit jeder Anforderung sind mehrere Empfehlungen verbunden. Bei manchen Anforderungen gibt es Dutzende davon. Der Validator von CodeGym ist bereit, über 50.000 Empfehlungen für Benutzerlösungen abzugeben.

Darüber hinaus geschieht dies alles, während Ihre Lösung validiert wird, was in den meisten Fällen weniger als eine Sekunde dauert. Kein Mensch könnte das tun. Dies ist ein echter virtueller Mentor.

Empfehlungen

6. Gemeinschaft

Bei CodeGym steht viel Übung im Vordergrund , die mehr als 80 % des gesamten Lernprozesses ausmacht . Wir haben das Lernen in eine große, spannende Aufgabe verwandelt (eigentlich eine Reihe von Aufgaben).

Aber jeder ist anders: Manche lernen schnell, andere langsamer. Manche Menschen finden neues Material einfach, andere finden es schwieriger. Aber unsere Aufgabe ist es, dass jeder unserer Schüler die Ziellinie erreicht. Zumindest streben wir danach.

In dieser Welt sind Programmierer nicht nur ein paar Millionen Menschen, die in ihrer Freizeit Code in verschiedenen Sprachen schreiben und Startups gründen. Sie bilden ein globales Netzwerk, teilen ihr Wissen ständig mit anderen, beantworten gerne Fragen und helfen Ihnen, komplexe Themen zu verstehen.

Die weltweit größte Entwickler-Community – die StackOverflow-Website – entstand aus dem Bedürfnis der Programmierer heraus, voneinander zu lernen. Das Konzept ist einfach: Sie stellen eine Frage und jeder Programmierer auf der Welt kann sie beantworten. Praktisch, oder? 🙂

Wir bei CodeGym glauben, dass der Wissensaustausch zwischen Schülern äußerst wertvoll ist. Wenn Programmierer anderen helfen, wachsen sie selbst . Und es gibt keinen besseren Weg, etwas selbst zu verstehen, als es jemand anderem zu erklären. Aus diesem Grund haben wir auf unserer Website spezielle Bereiche eingerichtet, die allen unseren Schülern die Möglichkeit geben sollen, ihr Wissen zu teilen und sich gegenseitig beim Lernen zu helfen.

Was tun Sie also, wenn Sie bei der letzten Aufgabe nicht weiterkommen? Es ist keine gute Idee, im Internet nach einer fertigen Lösung zu suchen. Natürlich erhalten Sie Anerkennung für die Aufgabe, wenn Sie einfach die Lösung einer anderen Person kopieren oder unsere korrekte Lösung verwenden. Aber Sie werden Ihre Wissenslücke nicht schließen, und das wird Ihnen in Zukunft sicherlich noch einmal in den Hintern beißen.


7. Fragen zu Aufgaben

Die Anforderungen , Empfehlungen und der virtuelle Mentor sind super cool. Aber was ist, wenn der Prüfer Ihre Lösung immer noch nicht akzeptiert und Sie nicht sicher sind, wo das Problem liegt?

Auch in diesem Fall gibt es noch einen Ausweg. Lernen Sie den Hilfebereich kennen . In diesem Bereich der Website können CodeGym-Schüler Fragen zu Aufgaben stellen, die Lösungen der anderen erkunden und auch Ratschläge und Tipps geben. Das Posten von Komplettlösungen ist nicht gestattet!

Es klingt sehr einfach und grundlegend, ist aber tatsächlich ziemlich anspruchsvoll.

Erstens kann jeder Frage eine Aufgabe zugeordnet sein . Das bedeutet, dass es keinen Sinn macht, alle Fragen durchzugehen, wenn Sie an Fragen zu einer bestimmten Aufgabe interessiert sind. Sie können jederzeit einen Filter verwenden, um ganz einfach nur die Fragen anzuzeigen, die sich auf die Aufgabe beziehen, die Sie interessiert. Geben Sie einfach den Aufgabennamen in die Suchleiste ein:

Fragen zu Aufgaben

Zweitens: Wenn Sie beim Lösen einer Aufgabe auf die Schaltfläche „Community-Hilfe“ klicken, werden Sie sofort zum Hilfebereich weitergeleitet, wo Sie nur Fragen zu der Aufgabe sehen, an der Sie gerade arbeiten. Wenn Ihre Lösung die Aufgabenüberprüfung nicht besteht, werden die Fragen auf hilfreiche Weise sortiert: Die häufigsten Fragen beziehen sich auf die nicht erfüllten Anforderungen, die zum Scheitern Ihrer Lösung geführt haben.

Hilfe-Schaltfläche

Drittens bietet das IntelliJ IDEA- Plugin eine ähnliche Funktionalität. Sie können auf die Schaltfläche „Hilfe“ klicken oder die Tastenkombination Strg+Alt+W drücken, wodurch sofort der Hilfebereich in Ihrem Browser geöffnet wird. Und natürlich zeigt der Filter nur Fragen zu der Aufgabe an, die Sie in IntelliJ IDEA lösen .

IntelliJ IDEA-Hilfe

8. Eine Frage erstellen

Wenn Sie im Hilfebereich keine gute Analyse Ihres Fehlers finden, können Sie jederzeit eine eigene Frage erstellen. Das geht ganz einfach – Sie müssen nur auf die Schaltfläche „Frage stellen“ klicken und die erforderlichen Felder ausfüllen:

Eine Frage erstellen

Im Gegensatz zu vielen anderen Diensten wie StackOverflow, Code Ranch usw. müssen Sie bei CodeGym nicht alle wichtigen Informationen in den Titel der Frage packen. Formulieren Sie Ihre Frage so, wie Sie möchten.

Und übrigens müssen Sie Ihren Code nicht von WebIDE oder IntelliJ IDEA kopieren und Ihrer Frage hinzufügen. Wenn Sie eine Frage zu einer Aufgabe erstellen, wird der Code Ihrer Lösung zusammen mit den Status der verschiedenen Aufgabenanforderungen automatisch hinzugefügt , d. h. welche Anforderungen Ihre Lösung derzeit erfüllt und welche nicht.

Erstellen einer Frage 2

Dadurch sehen andere CodeGym-Schüler sofort alle relevanten Informationen zur Lösung des Fragestellers, was eine gute Beratung deutlich erleichtert.


9. Lösungscode

Auf vielen Websites müssen Sie beim Erstellen einer Frage zum Code entweder ein Archiv mit Programmdateien an die Frage anhängen oder alle diese Dateien zum Text der Frage selbst hinzufügen. Das Ergebnis ist ein großes Durcheinander, in das sich die Menschen entweder nicht einmischen wollen oder können.

Eine Frage schnell und effizient zu stellen ist eine ganze Kunstform. Auf normalen Websites müssen Sie entweder eine halbe Stunde damit verbringen, Ihre Frage zu formulieren, oder Sie akzeptieren die Tatsache, dass Ihnen niemand antworten wird. Eine gute Frage zu einer Aufgabe muss unbedingt folgende Informationen enthalten:

  • Link zur Aufgabe, die der Fragesteller löst
  • Die Aufgabenbedingungen sind so, dass andere sie nirgendwo aufspüren müssen
  • Lösungscode – dieser kann viele Dateien umfassen
  • Status jeder Aufgabenanforderung, d. h. was derzeit funktioniert und was nicht.
  • Text der Frage: Das ist normalerweise ganz klar – meine Lösung funktioniert nicht und ich bin mir nicht sicher, warum.

CodeGym zeigt diese Informationen mithilfe eines speziellen Widgets an, das dem WebIDE- Widget sehr ähnlich ist. Schließlich ist es bereits darauf ausgelegt, all diese Informationen anzuzeigen. Na ja, vielleicht mit Ausnahme der Frage selbst.

Lösungscode

Tatsächlich haben wir ein spezielles Widget geschrieben, damit Sie die Lösungen anderer Benutzer bequem studieren können. Und um es anderen Benutzern einfach und angenehm zu machen, Ihre Lösungen in den von Ihnen gestellten Fragen zu prüfen.