Warum empfehle ich Harvard' s CS50x Online-Kurs für jeden autodidaktischen Entwickler

CS50 Einführung in die Informatik ist ein kostenloser Online-Kurs, der auf einem der beliebtesten Kurse auf dem Campus der Harvard University basiert. In diesem Kurs lernen Sie grundlegende Konzepte der Informatik kennen, wie zum Beispiel:

  • Algorithmen – binäre Suche, Blasensortierung, Sortierung zusammenführen usw.
  • Datenstrukturen – verknüpfte Listen, Hash-Tabellen usw.
  • Speicher – Stack und Heap

Die verwendeten Sprachen sind C, Python, SQL und einige andere, je nachdem, was Sie für den letzten Track auswählen. Es gibt eine Vielzahl von kostenlosen CS-Kursen, die online verfügbar sind, aber dies ist der unterhaltsamste und ansprechendste, den ich bisher gefunden habe.

Ich schrieb „autodidaktischer Entwickler“ in den Titel, weil ich dachte, dass diejenigen ohne formale CS-Ausbildung weniger wahrscheinlich die Chance hatten, sich mit diesen Themen auseinanderzusetzen. Aber natürlich würde ich es jedem empfehlen, der sich für diese Themen interessiert.

Hier sind drei Punkte, die ich an diesem Kurs liebe, und zwei mögliche Nachteile.

Profis

  1. Ihre Philosophie
  2. Die Vorträge sind eine Freude zu sehen
  3. Die Aufgaben sind kreativ

( 2) Nachteile

  1. Möglicherweise nicht nützlich für Ihre tägliche Arbeit
  2. Sie erhalten keine von Mitarbeitern implementierten Lösungen für Aufgaben

Vorteile

1. Ihre Philosophie

Dieser Kurs richtet sich an Menschen aller Programmierstufen. Sie sagen dir in der ersten Woche:

Was letztendlich in diesem Kurs zählt, ist nicht so sehr, wo Sie im Verhältnis zu Ihren Klassenkameraden enden, sondern wo Sie im Verhältnis zu sich selbst enden, als Sie anfingen.

Nur als Referenz, ich habe 1 Jahr Berufserfahrung, obwohl keine in C oder Python. Einige der Aufgaben waren für mich immer noch sehr schwierig, und eine Woche Kursarbeit würde mich je nach Material etwa 10 Stunden in Anspruch nehmen (Als Ruby-Entwickler war das Python-Zeug viel intuitiver als C!).

Der Kurs ist anfängerfreundlich und herausfordernd zugleich, denn die Vorlesungen führen Sie gut durch den Inhalt, aber die Aufgaben erfordern, dass Sie wirklich nachdenken und mehr forschen. Außerdem haben Sie oft die Wahl zwischen zwei Aufgaben, je nachdem, ob Sie „bequemer“ oder „weniger komfortabel“ sind.

2. Die Vorträge sind eine Freude zu sehen

Die Vorträge von Professor David Malan sind nicht nur informativ, sondern auch schnell, animiert und kreativ. Sehen Sie sich einen von ihnen an, und Sie werden wahrscheinlich zustimmen (auch auf Youtube verfügbar).

3. Die Aufgaben sind kreativ

Anstatt langweilige Aufgaben wie „dieses Array in C durchlaufen“, können Sie Programme wie Fotofilter, Rechtschreibprüfung, Abstimmungssysteme und Hogwarts-Studentendatenbanken implementieren, wobei Sie Konzepte verwenden, die Sie auf dem Weg gelernt haben.

Eine andere Sache, die ich mag, ist ihr Testsystem namens Check50, das Ihnen sofortiges Feedback gibt, wenn Sie Ihren Code einreichen. Es ist erfreulich, wenn Sie endlich alle Tests erhalten, um ein grünes Smiley-Gesicht zurückzugeben 🙂

Beispiel:

( Potenzial) Nachteile

1. Kann für Ihre tägliche Arbeit nicht nützlich sein

Zum Guten oder zum Schlechten ist dies kein Crashkurs. Wenn Sie ein bestimmtes Thema schnell lernen möchten, wie zum Beispiel React, gibt es bessere Tutorials online (vollständiger Exkurs, aber ich empfehle Scrimba dringend, um Front-End-Sprachen / Frameworks einschließlich React zu lernen).

Davon abgesehen denke ich, dass das Erlernen dieser Kernkonzepte der Informatik für jeden Entwickler in irgendeiner Weise von Vorteil sein wird.
Zum Beispiel hatte ich lange Zeit Ruby-Hashes (Wörterbücher) verwendet, und ich wusste, dass das Finden eines Werts aus einem Hash anhand seines Schlüssels viel schneller war als das Finden eines Werts aus einem Array. Aber bevor ich diesen Kurs belegte, verstand ich nicht, wie Hashes unter der Haube implementiert wurden. Das Erlernen von Hash-Tabellen und die tatsächliche Implementierung einer Tabelle ermöglichten es mir, auch Ruby-Hashes besser zu verstehen.

2. Sie erhalten keine von Mitarbeitern implementierten Lösungen für Aufgaben

Wie bereits erwähnt, wird Ihr Code beim Online-Einreichen einer Aufgabe über ein System namens Check50 getestet. Sie sehen nicht die Lösung, die die Mitarbeiter im Sinn hatten, oder vergleichen Sie Seite an Seite mit Ihrer.

Dies war nicht immer ein Problem und ich verstehe ihre Gründe, aber es gab eine besondere Gelegenheit, bei der ich wünschte, ich könnte von Mitarbeitern implementierte Lösungen sehen: als ich SQL-Abfragen schrieb. Meine Abfragen funktionierten und bestanden die Check50-Tests, aber es gab keine Möglichkeit zu sagen, ob sie weiter optimiert werden konnten. Von Mitarbeitern implementierte Antworten zu sehen, hätte dort geholfen.

Wenn dieser Kurs für Sie interessant klingt, empfehle ich Ihnen dringend, ihn auf edX zu lesen. Und wenn Sie sich entscheiden, es zu nehmen, viel Glück für Sie.

Ich bin auch noch eingeschrieben, um den iOS-Track zu starten. Wünsche mir Glück!

Update – 28.12.2020

Das letzte Projekt hat einige Zeit gedauert, aber ich habe den Kurs abgeschlossen 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.