Organisatoren und Lehrassistenten über die Online-Programme des CS-Zentrums

Am 14. November startet das CS Center zum dritten Mal die Online-Programme „Algorithmen und effizientes Rechnen“, „Mathematik für Entwickler“ und „Entwicklung in C++, Java und Haskell“. Sie sollen Ihnen dabei helfen, in ein neues Gebiet einzutauchen und den Grundstein für das Lernen und Arbeiten in der IT zu legen.

Um sich einzuschreiben, müssen Sie in die Lernumgebung eintauchen und eine Aufnahmeprüfung bestehen. Weitere Informationen zum Programm, zur Prüfung und zu den Kosten finden Sie unter code.stepik.org.

In der Zwischenzeit erfahren Sie von Lehrassistenten und Kuratoren früherer Programme, wie die Ausbildung organisiert ist, wer zum Lernen kommt, wie und warum Assistenten während ihres Studiums Codeüberprüfungen durchführen und was sie durch die Teilnahme an den Programmen gelernt haben.

Organisatoren und Lehrassistenten über die Online-Programme des CS-Zentrums

Wie Programme funktionieren

Das CS-Zentrum verfügt über drei Online-Programme auf der Stepik-Plattform: „Algorithmen und effizientes Rechnen“, „Mathematik für Entwickler“ и „Entwicklung in C++, Java und Haskell“. Jedes Programm besteht aus zwei Teilen. Dies sind Kurse, die von erfahrenen Lehrern und Wissenschaftlern vorbereitet werden:

  • Algorithmen und theoretische Informatik im Rahmen des Studiengangs Algorithmen.
  • Mathematische Analyse, diskrete Mathematik, lineare Algebra und Wahrscheinlichkeitstheorie im Mathematikprogramm für Entwickler.
  • Kurse in C++, Java und Haskell im Online-Programm „Programmiersprachen“.

Sowie zusätzliche Aktivitäten, zum Beispiel Code-Review, Lösung theoretischer Probleme mit Beweisen, Beratungen mit Assistenten und Lehrern. Sie sind schwer zu skalieren, daher findet das Training in kleinen Gruppen statt. Aktivitäten helfen Ihnen, ein tieferes Verständnis des Themas zu erlangen und hochwertiges Feedback zu erhalten.

Artemy Pestretsov, Lehrassistent: „Mir scheint, dass die Codeüberprüfung das Hauptunterscheidungsmerkmal von Online-Programmen in Sprachen und Algorithmen ist. Um die Antwort auf Ihre Frage zu finden, können Sie einfach googeln. Es ist hart und lang, aber möglich. Da Google jedoch keine Codeüberprüfung durchführt, ist dies sehr wertvoll.“

Jeder Kurs im Rahmen des Programms dauert etwa zwei Monate. Im Finale müssen die Studierenden eine Prüfung bestehen oder Credits für alle Kurse erhalten.

Organisatoren und Lehrassistenten über die Online-Programme des CS-Zentrums

Wer sind unsere Schüler?

Studierende des Online-Programms:

  • Sie wollen Lücken in Mathematik oder Programmierung schließen. Zum Beispiel erfahrene Entwickler, die ihre mathematischen Kenntnisse verbessern möchten.
  • Sie beginnen, sich mit dem Programmieren vertraut zu machen und die Programme des Zentrums in ihren Selbstbildungsplan einzubeziehen.
  • Sie bereiten sich auf die Aufnahme eines Masterstudiengangs oder eines CS-Zentrums vor.
  • Studierende mit einer anderen Fachausbildung, die sich für einen radikalen Richtungswechsel entschieden haben. Zum Beispiel Chemiker oder Lehrer.

Artemy Pestretsov: „Wir hatten einen Studenten, einen Mann in der Blüte seines Lebens, der in einem Öl- und Gasunternehmen arbeitete und aufgrund von Fristen einen Aufschub in Anspruch nahm, weil er auf Geschäftsreise zu einem Bohrloch war. Es ist cool, dass Menschen mit ganz unterschiedlichem Hintergrund sehen, dass IT-Technologien und Mathematik an Dynamik gewonnen haben. Das sind versierte Menschen, die bereits ein wunderbares Leben führen können, aber versuchen, etwas Neues zu lernen und sich in anderen Bereichen weiterentwickeln wollen.“

Michail Weselow, vmatm: „Jedes Niveau ist anders: Jemand versteht die grundlegenden Dinge der Sprache nicht vollständig, während jemand als Java- oder Python-Programmierer kommt und man mit ihm ein Gespräch im Sinne von „Wie macht man es besser?“ führen kann. ” Die Hauptsache ist, sich nicht auf die Besten der Besten zu konzentrieren, sondern auf das Durchschnittsniveau, damit der Kurs für alle nützlich ist.“

Wie ist die Ausbildung organisiert?

Mehrere Tools helfen Organisatoren und Pädagogen beim Aufbau des Prozesses.

Korrespondenz per Post. Für wichtige und formelle Ankündigungen.
Chatten Sie mit Lehrern und Organisatoren. Jungs beginnen oft, sich gegenseitig im Chat zu helfen, noch bevor der Lehrer oder Assistent die Frage sieht.
YouTrack. Für Fragen und Abgabe von Aufgaben an Lehrkräfte und Hilfskräfte. Hier können Sie private Fragen stellen und die Lösung im Einzelgespräch besprechen: Studierende können untereinander natürlich keine Lösungen teilen.

Die Organisatoren kommunizieren mit den Studierenden und versuchen, Probleme schnell zu lösen. Kristina Smolnikova: „Wenn mehrere Studierende dasselbe fragen, bedeutet das, dass es sich um ein häufiges Problem handelt und wir alle davon erzählen müssen.“

Wie Assistenten helfen

Code-Review

Studierende der Programme geben Hausaufgaben ab und Assistenten prüfen, wie sauber und optimal ihr Code ist. So haben die Jungs die Rezension letztes Mal organisiert.

Artemy Pestretsov versuchte, Fragen innerhalb von 12 Stunden zu beantworten, da die Schüler ihre Aufgaben zu unterschiedlichen Zeiten einreichten. Ich las den Code, fand Probleme im Hinblick auf Standards und allgemeine Programmierpraktiken, ging den Details auf den Grund, bat um Optimierung und schlug vor, welche Variablennamen korrigiert werden mussten.

„Jeder schreibt Code anders, Menschen haben unterschiedliche Erfahrungen. Es gab Studenten, die es zum ersten Mal nahmen und schrieben. Mir gefällt alles, es funktioniert super und der Test dauert 25 Sekunden, weil alles perfekt ist. Und es kommt vor, dass Sie eine Stunde lang sitzen und versuchen zu verstehen, warum jemand solchen Code geschrieben hat. Das ist ein absolut adäquater Lernprozess. Wenn man im Leben Codeüberprüfungen durchführt, passiert Folgendes.“

Mikhail versuchte, den Prozess für jeden Schüler unabhängig aufzubauen, damit es nicht zu der Situation kam: „Ich habe das bereits jemandem erklärt, fragen Sie ihn.“ Er gab einen ersten ausführlichen Kommentar zum Problem ab, dann stellte der Student klärende Fragen und aktualisierte die Lösung. Durch sukzessive Ansätze erzielten sie ein Ergebnis, das sowohl den Mentor als auch den Studierenden qualitativ zufriedenstellte.

„In den ersten ein oder zwei Wochen des Trainings schreiben die Leute keinen sehr ordentlichen Code. Sie müssen sorgfältig an die Standards erinnert werden, die sowohl in Python als auch in Java vorhanden sind, und über automatische Code-Analysatoren für offensichtliche Fehler und Mängel informiert werden, damit sie später davon nicht abgelenkt werden und die Person nicht im Großen und Ganzen gestört wird Semester dadurch, dass seine Überweisungen fehlerhaft erfolgten oder das Komma an der falschen Stelle steht.“

Tipps für diejenigen, die Trainingscodeüberprüfungen durchführen möchten

1. Wenn ein Schüler problematischen Code geschrieben hat, besteht keine Notwendigkeit, ihn zu bitten, ihn noch einmal zu wiederholen. Es ist wichtig, dass er versteht, wo das Problem mit diesem speziellen Code liegt.

2. Lügen Sie Studenten nicht an. Es ist besser, ehrlich zu sagen „Ich weiß nicht“, wenn es keine Möglichkeit gibt, das Problem zu verstehen. Artemy: „Ich hatte einen Studenten, der sich viel tiefer in das Programm vertiefte, auf die Hardware-Ebene abstieg und dann wieder aufstieg, und er und ich fuhren ständig mit diesem Aufzug der Abstraktionen. Ich musste mir einige Dinge merken, aber es war sehr schwierig, sie sofort zu formulieren.“

3. Man muss sich nicht darauf konzentrieren, dass der Schüler ein Anfänger ist: Wenn jemand etwas zum ersten Mal macht, nimmt er Kritik ernster, weiß überhaupt nicht, wie es normalerweise gemacht wird und was ihm gelingt und was er nicht tut. Es ist besser, sorgfältig nur über den Code zu sprechen und nicht über die Nachteile des Schülers.

4. Es ist großartig zu lernen, wie man Fragen auf „pädagogische“ Weise beantwortet. Die Aufgabe besteht nicht darin, direkt zu antworten, sondern sicherzustellen, dass der Schüler die Antwort wirklich versteht und selbst findet. Artemy: „In 99 % der Fälle konnte ich die Frage eines Schülers sofort beantworten, aber nicht oft konnte ich sofort eine Antwort schreiben, weil ich viel abwägen musste. Ich schrieb fünfzig Zeilen, löschte sie und schrieb sie erneut. Ich bin für den Ruf der Kurse und das Wissen der Studierenden verantwortlich und das ist keine leichte Aufgabe. Ein sehr cooles Gefühl entsteht, wenn ein Schüler sagt: „Oh, ich habe eine Offenbarung!“ Und ich dachte auch: „Er hat eine Offenbarung!“

5. Es ist wichtig, aufmerksam zu sein und nicht zu viel zu kritisieren. Inspirieren Sie, aber nicht zu viel, damit der Schüler nicht denkt, dass er alles großartig macht. Hier müssen Sie lernen, das Niveau Ihrer Emotionen kompetent zu steuern.

6. Es ist sinnvoll, allgemeine Kommentare und Fehler derselben Art zu sammeln, um Zeit zu sparen. Sie können die erste Nachricht dieser Art aufzeichnen und sie dann einfach kopieren und als Antwort auf die gleiche Frage für andere hinzufügen.

7. Aufgrund der unterschiedlichen Kenntnisse und Erfahrungen scheinen einige Dinge offensichtlich zu sein, sodass die Assistenten sie in Kommentaren für Studierende zunächst nicht entschlüsseln. Es hilft, einfach noch einmal zu lesen, was Sie geschrieben haben, und etwas hinzuzufügen, was banal erschien. Mikhail: „Mir scheint, je länger ich bei der Lösungsüberprüfung helfe, desto verständlicher bin ich für die Studierenden des neuen Studiengangs von Anfang an. Ich würde jetzt die ersten Kommentare zum Code lesen und sagen: „Ich hätte vorsichtiger und detaillierter sein sollen.“

Der Unterricht und die Unterstützung sind großartig

Wir haben die Jungs gebeten, uns zu erzählen, welche nützlichen Erfahrungen sie bei der Durchführung von Codeüberprüfungen und der Kommunikation mit Studenten gemacht haben.

Artemy: „Das Wichtigste, was ich gelernt habe, war Geduld als Lehrerin. Das ist eine völlig neue Fähigkeit, ich beherrsche völlig neue, nicht-technische Bereiche. Ich denke, dass das Unterrichten sehr hilfreich sein wird, wenn ich auf Konferenzen spreche, mit Kollegen spreche oder Projekte auf einer Kundgebung vorstelle. Ich rate jedem, es auszuprobieren!“

Mikhail: „Diese Erfahrung hat mir geholfen, etwas toleranter gegenüber der Tatsache zu sein, dass jemand Code anders schreibt als ich. Vor allem, wenn Sie gerade erst anfangen, nach einer Lösung zu suchen. Ich habe selbst Kurse in Python und Java belegt und ähnliche Probleme anders gelöst. Variablen und Funktionen unterschiedlich benannt. Und die Lösungen der Jungs sind alle etwas unterschiedlich, denn in der Programmierung gibt es keine Standardlösung. Und hier braucht man etwas Geduld, um nicht zu sagen: „Das ging nur so!“ Dies hat später bei der Arbeit geholfen, die Vor- und Nachteile bestimmter Entscheidungen zu besprechen und nicht die Vor- und Nachteile der Tatsache, dass nicht ich es war, der sie getroffen hat.“

Erfahren Sie mehr über Online-Programme und Alumni-Bewertungen

Source: habr.com

Kommentar hinzufügen