[JAVA] Eine Geschichte darüber, wie sich die Designfähigkeiten junger Menschen jeden Morgen in einer 15-minütigen Lernsitzung verbesserten

1. Zuallererst

In diesem Artikel wird erläutert, wie die in meinem Projekt durchgeführte "Output Study Session" durchgeführt wird (ein Veteran, zwei junge Menschen mit weniger als einem halben Jahr Entwicklungserfahrung). Seit dieser Studiensitzung haben sich die Design- und Implementierungsfähigkeiten junger Menschen verbessert. Ich war in der Vergangenheit an der Ausbildung von ungefähr 8 Neuankömmlingen beteiligt, und ich denke, dies ist die effektivste. Es gibt zwei Arten von "Output Study Session", "Book Edition" und "Design / Implementation Edition". In diesem Artikel wird jedoch "Design / Implementation Edition" erläutert. Das Format der "Book Edition" finden Sie im folgenden Artikel. Eine Geschichte darüber, wie sich das Verhalten junger Menschen bei einer 15-minütigen Lernsitzung jeden Morgen überraschend verbessert hat

Dieser Artikel richtet sich an folgende Personen.

Das Folgende ist ein Beispiel für die Ausgabe der tatsächlichen Lernsitzung. Erinnerungsmuster-Klassendiagramm und C # -Programm.

2. Annahmen

2.1 Mit wenig Erfahrung gemildert

Dies ist eine Hypothese aus meiner Erfahrung. Wenn Sie wenig Erfahrung mit dem Entwerfen und Implementieren haben, erstellen Sie Entwurfsdokumente und Quellcode, die elementare Probleme enthalten, die Sie aus Sicht einer erfahrenen Person nicht denken würden. Auch wenn Sie in einer Überprüfung darauf hinweisen, kann diese häufig nicht korrekt korrigiert werden. Aus der Sicht einer erfahrenen Person fragen Sie sich vielleicht: "Warum können Sie nicht den rudimentären Inhalt machen, der im ersten Kapitel des Lehrbuchs geschrieben ist?" Sie mögen auch denken: "Ich habe den gleichen Punkt oft gemacht, aber er ist nicht gelöst", aber dies ist auch auf mangelnde Erfahrung zurückzuführen. Mit Erfahrung werden Sie in der Lage sein, Ihre Gedanken zu beruhigen und zu organisieren, so dass viele rudimentäre Probleme mit Erfahrung gelöst werden (20 Mal Design und Implementierung lösen sie normalerweise). Ich denke, das schlechte Muster ist, das Geschäft mit unzureichender Erfahrung entwerfen und implementieren zu lassen und viel Nacharbeit zu verursachen __. Wenn Sie nicht über genügend Erfahrung verfügen, sollten Sie entweder mit der Paarprogrammierung trainieren oder Erfahrungen mit den in diesem Artikel vorgestellten Methoden sammeln.

2.2 Bedeutung der Ausgabe

Im Allgemeinen wird gesagt, dass die Qualität und Effizienz des Lernens höher ist, wenn es von einer Ausgabe begleitet wird, als wenn ein technisches Dokument allein still gelesen wird. Mit anderen Worten, es ist effektiv, die Entwurfs- und Implementierungsfähigkeiten zu verbessern, indem Ausgaben wie "Schreiben eines Entwurfsdokuments", "Schreiben eines Quellcodes" und "Erklären des schriftlichen Ergebnisses" verwendet werden. Weitere Informationen zur Bedeutung der Ausgabe finden Sie im vorherigen Artikel (https://qiita.com/kojimadev/items/cd5dd5332e33b3ef46a6).

3. Wie man eine Lernsitzung abhält

3.1 Übersicht

Basierend auf dem GoF-Entwurfsmuster erstellt der Lernende ein Klassendiagramm und einen Code. Der Ausbilder überprüft und führt die Ergebnisse jeden Morgen in 15 Minuten. (Das Thema muss kein Entwurfsmuster sein, aber für objektorientierte Sprachen wird das Entwurfsmuster als erschwingliches Thema für Anfänger empfohlen.)

3.2 Vorbereitung

Legen Sie zunächst das Zielentwurfsmuster für den nächsten Tag fest. Stellen Sie sich Ihr eigenes Beispielprogramm vor, das dieses Muster anwendet, und erstellen Sie im Voraus ein Klassendiagramm und einen Quellcode. Es liegt an Ihnen, auf Papier zu schreiben oder eine elektronische Datei daraus zu machen. In meinem Projekt sind beide Klassendiagramme Papier, ein Quellcode ist Papier und eines ist elektronisch.

3,3 Stunden

Es findet jeden Morgen 15 Minuten lang statt. Mein Projekt wird unmittelbar nach der 15-minütigen Morgensitzung eine 15-minütige Lernsitzung haben. (Wenn die morgendliche Sitzung vorzeitig endet, nehmen Sie Anpassungen vor, z. B. eine Verlängerung der Lernsitzungszeit.)

3.4 Einzelheiten der Umsetzung

Wir werden den heutigen Moderator entscheiden. Der Präsentator erklärt das Klassendiagramm und den Quellcode des von ihm erstellten Beispielprogramms. Das Wichtigste dabei ist, die "Vorzüge und Verwendungen des Musters" in eigenen Worten zu erklären. Andere Mitglieder schauen sich die Ergebnisse an und weisen auf Punkte hin, die für das Muster nicht geeignet sind, und drücken ihre eigenen Gedanken aus.

3.5 Fortschrittstempo

Bei meinem Projekt dauert es zwei Tage, bis zwei Personen studiert haben, sodass ein Entwurfsmuster in zwei Tagen fertiggestellt ist. Die Vorbereitung der Schüler auf das Studium dauert durchschnittlich 1 Stunde pro Tag (1,5 Stunden für die Vorbereitung am ersten Tag, 0,5 Stunden für die Hausaufgaben am zweiten Tag).

3.6 Verantwortlichkeiten des Ausbilders

Vorbereitungen

Wenn Sie mit Entwurfsmustern vertraut sind, ist keine vorherige Vorbereitung erforderlich. Ich bin nicht mit allen Mustern vertraut, daher werde ich jedes Zieldesignmuster in Büchern und Webartikeln einstudieren, damit ich richtig unterrichten kann.

Fortschritt der Studiensitzung

Ich werde versuchen, den Moderator so weit wie möglich dazu zu bringen, über das zu sprechen, worüber er nachgedacht hat (auch wenn zu Beginn der Erklärung ein rudimentäres Problem vorliegt, hören Sie es sich vorerst an). Da Motivation wichtig ist, werden wir sie durch Hinzufügen von Punkten bewerten und loben. Um uns auf diejenigen zu konzentrieren, die keine Präsentationen halten, möchten wir "vor dem Ausbilder darauf hinweisen" und dort manchmal Fragen stellen. Darüber hinaus werden wir die Effizienz der Informationsübertragung in 15 Minuten prüfen, z. B. Hausaufgaben bis zum nächsten Mal, wenn wir selbst darüber nachdenken.

Erzwinge nicht

Diese Lernsitzung basiert auf der Idee, dass die Zielperson "lernt, weil sie ihre Fähigkeiten verbessern möchte". Daher erzwingt der Ausbilder keine Vorbereitungen. Wenn es Tage gibt, an denen ich nicht bereit bin, werde ich nichts darüber sagen. Das Thema der Studiensitzung ist das Thema des Studiums. Die beiden jungen Leute in meinem Projekt scheinen viel Spaß daran zu haben, daran zu arbeiten, und sie bereiten sich normalerweise sehr gut vor.

3.7 Ich kann nicht lernen, auch wenn ich nur das Klassendiagramm schreibe

Zuerst habe ich versucht, nur das Klassendiagramm zu zeichnen, aber es hat nicht funktioniert. Wenn Sie wenig Erfahrung mit der Implementierung haben, können Sie sich anhand des Klassendiagramms nicht vorstellen, um welche Art von Implementierung es sich handelt. Daher schreibe ich manchmal ein Klassendiagramm, das wahrscheinlich nicht kompiliert wird. Daher habe ich die Methode zum Schreiben sowohl des Klassendiagramms als auch des Quellcodes geändert. Durch das Schreiben des Quellcodes wurde ich auf die oben genannten Probleme aufmerksam, änderte das Klassendiagramm in gewissem Maße und nahm an der Lernsitzung teil. Darüber hinaus ist es den Lernenden zufolge nun möglich, die Vorzüge jedes Musters zu verstehen, was nicht nur durch Zeichnen eines Klassendiagramms gut verstanden wurde.

4. Wirkung

Nachdem ich alle Entwurfsmuster implementiert hatte, sammelte ich 23 Klassendiagrammkreationen und ungefähr 3000 LOC-Codierungserfahrungen. Diese Erfahrung hat die rudimentären Probleme, "unerfahren und temperiert" zu sein, fast beseitigt. In der Vergangenheit kann es mehr als ein Jahr dauern, bis solche elementaren Probleme fast vollständig beseitigt sind. Während der parallelen Arbeit konnte ich in 2 bis 3 Monaten den gleichen oder einen höheren Erfahrungswert erreichen und die Grundlagen von Entwurfsmustern erlernen.

5. Zusammenfassung

Die beiden jungen Leute meines Projekts haben unabhängig voneinander ihre Design- und Implementierungsfähigkeiten verbessert und dabei Spaß an dieser Lernsitzung gehabt.

Dieses Mal sind die Referenzen für jedes Mitglied, um das Entwurfsmuster im Voraus zu lernen, für jedes Mitglied aufgrund verschiedener Umstände kostenlos. Ich denke, es war für die Mitglieder aufgrund der unterschiedlichen Referenzen einfach, Aussagen über unterschiedliche Verdienste und Verwendungen zu machen. Einige Artikel im Web sind jedoch nicht geeignet. Daher war es möglicherweise besser, zu entscheiden, welches Buch als Referenz verwendet werden soll. Wenn andere Mitglieder es das nächste Mal implementieren, werde ich das Buch "Einführung in in Java-Sprache erlernte Entwurfsmuster" verwenden, das für Anfänger leicht zu lesen ist. Der Titel ist Java, aber ich empfehle dieses Buch auch in C #. Weitere Informationen zum Buch finden Sie in den folgenden Artikeln. Vier technische Bücher, die ich leider als Neuling hätte lesen müssen

Ich mache Lightning Review, ein Tool zur Unterstützung von Überprüfungen, indem ich den Inhalt dieses Artikels verwende. Informationen werden auch auf Twitter veröffentlicht → @kojimadev

Recommended Posts

Eine Geschichte darüber, wie sich die Designfähigkeiten junger Menschen jeden Morgen in einer 15-minütigen Lernsitzung verbesserten
Eine Geschichte darüber, wie sich das Verhalten junger Menschen bei einer 15-minütigen Lernsitzung jeden Morgen überraschend verbesserte
Eine Geschichte über das Schreiben einer Verhältnisberechnung in einer internen Lernsitzung
Eine Geschichte über das Schreiben einer Dichotomiemethode in einer internen Lernsitzung
Die Geschichte des Besuchs der Docker + k8s-Lernsitzung [JAZUG Women's Club x Java Women's Club]