edX startet durch & SaaS geht in die 4. Runde


Wie der Titel schon impliziert, bietet nun auch die dritte Online-Vorlesungsplattform edX die ersten Vorlesungen an. Wie schon berichtet, ist edX die jüngste der drei Plattformen; Udacity startete schon im Februar diesen Jahres als eigenständiges Unternehmen, und bietet mittlerweile 14 Vorlesungen. Coursera wiederum ist ein Zusammenschluss mehrerer Universitäten, und ist seit seiner Gründung im März mit  6 Kursen förmlich explodiert: mittlerweile sind es 36 Universitäten, darunter auch die ersten Universitäten außerhalb der USA. Kanada, England, Jerusalem, Indien, Hong Kong und die Schweiz stellen zusammen mit den vielen amerikanischen Universitäten mittlerweile 195 Vorlesungen (stand 22. September; allein im letzten Monat sind etwa 85 Kurse dazu gekommen, was in etwa 2,5 Kurse täglich bedeutet), die völlig kostenlos, online besucht werden können.

Längst kann dieser Trend zumindest in den USA von den anderen Universitäten nicht mehr ignoriert werden; Professoren wünschen sich ihren Lehrauftrag auszuweiten, und wollen anstatt 20-200 Studenten lieber mehrere 10.000 Studenten auf ein mal für ihren Forschungsbereich begeistern (auch das ist anders als in Deutschland, wo Professoren eher selbst forschen wollen und das Lehren oft als lästige Nebensache lustlos abhandeln). Universitäten wiederum sehen zwar das Problem, dass ihnen Studiengebühren entgehen könnten; daher stellt keine Universität einen offiziellen Schein aus. Allerdings gibt es von den Professoren ein signiertes Zertifikat, ein sogenanntes “Statement of Achievement”, dass auflistet, wie man sich im Kurs geschlagen hat. Andererseits möchten sich die Universitäten auch die positive PR natürlich nicht entgehen lassen und Bangen natürlich um die eigene Position auf dem Lehrmarkt – keiner möchte zurückbleiben! So hat der erste Stanford-Kurs, AI-Class, schon mit der ersten Ankündigungs-E-Mail in der Presse für internationales Aufsehen gesorgt; mehrere 100.000 Menschen weltweit haben sich für den Kurs angemeldet; 160.000 haben ihn zu Ende gebracht. Ich selbst habe von dem Kurs über das IT-Nachrichtenportal Golem von dem Kurs erfahren und konnte sofort in meinem direkten Freundeskreis 5 Leute dafür begeistern.

So hat dann auch das MIT eine eigene Online-Plattform ins Rennen geschickt, kaum dass AI-Class und ML-Class anfingen, riesige Erfolge zu werden. Ende 2011 noch als MITx bekannt, ist die Universität dann in Kooperation mit zwei weiteren Universitäten, Harvard University und UC Berkeley getreten um die Plattform edX ins Leben zu rufen. Zunächst bot das MIT nur den Kurs “Circuits and Electronics” an; seit Mai 2012 existierte dann die Plattform edX, zunächst ohne Inhalt. Nun finden sich dort 7 Vorlesungen vom MITx, HarvardX und BerkeleyX. Wieder dabei ist “Circuits and Electronics“, welcher schon Anfang September angefangen hat. Zwei Kurse, “Software as a Service” und “Introduction to Artificial Intelligence“, beide von der BerkeleyX werden jetzt in der kommenden Woche, also ab Montag starten. Die anderen vier Kurse, “Introduction to Computer Science and Programming“, “Introduction to Solid State Chemistry” vom MITx, sowie “Introduction to Computer Science I” und “Health in Numbers: Quantitative Methods in Clinical & Public Healt Research” von HarvardX starten dann ab Anfang Oktober.

Yet another free online course plattform?

Nach einem Artikel vom Spiegel erhofft sich edX Alleinstellungsmerkmal durch den elitären Status der teilnehmenden Universitäten; anders als Udacity, welches sich von allen anerkannten, klassischen Universitäten losgesagt hat, und anders als bei Coursera, bei denen die Kurse zwar von Professoren einzelner Universitäten angeboten werden, das “Statement of Achievement” allerdings ein signiertes Dokument ist, welches von Coursera ausgestellt wird und nicht den Namen der Universität enthält, sollen die Zertifikate von edX eben auch von den angehörigen Universitäten ausgestellt sein. Leider stimmt das so natürlich nicht so ganz, denn genau für diesen Zweck haben diese Universitäten eben MITx, HarvardX oder BerkeleyX gegründet. Echte Universitätszertifikate, die man sich anrechnen lassen könnte – und sei es bei der Universität selbst – sind auch das nicht! Hier widerspricht sich das Konzept dann irgendwie selbst, denn den elitären Status, der unter Anderem auch durch die hohe Selektion hervorgerufen wird, wollen die Universitäten dann doch nicht aufgeben, oder durch Online-Vorlesungen aufweichen. Dies berichtet auch Forbes:

Moreover, diplomas from either school will still only be granted to formally admitted students who attend classes in person.  According to Yahoo!, Harvard only accepted 5.9 percent of applicants to their undergraduate program this year. MIT only accepted 8.9 percent. In other words, if a name-brand credential is your aim, edX is not for you.

(Quelle)


(Bildquelle)

Auf lange Sicht planen die Universitäten hinter edX auch eine kommerzialisierung des Angebots. Wie lange diese kostenlose – von edX Testphase genannte – Phase anhält, ist noch nicht klar, genau so wenig, wie eine hinterher kostenpflichtige Version aussehen wird. Ob das Alleinstellungsmerkmal MITx/HarvardX/BerkeleyX sich auszahlen wird, und gegen den Riesen Coursera behaupten kann, der ja geplanter Weise auch kostenlos bleiben wird, muss wohl die Zukunft zeigen.

Ob es nun aber ein Zertifikat gibt, oder nicht, und welchen Wert dieses Zertifikat hat, sollte meiner Meinung nach eher zweitrangig sein. Denn unabhängig vom Zertifikat ist die Qualität der Vorlesung sehr hoch, und der persönliche Gewinn sehr viel wichtiger und wertvoller als solch ein Zertifikat! Und selbst wenn es nur heißt, das man an einer Online-Vorlesung von zwei Professoren teilgenommen hat – so etwas macht sich in jeder Bewerbungsmappe gut, zeigt es doch persönliches Interesse und Engagement, das über das Pflichtstudium hinaus geht! Wer seinem potentiellen Arbeitgeber in einem Bewerbungsgespräch erklären kann, wie er zu diesem Zertifikat gekommen ist, wird dadurch sicherlich Bonuspunkte erlangen, die anderen verwehrt bleiben.

Software Engineering for Software as a Service

Neben edX soll es hier auch um den Kurs gehen, der über UC Berkeley als “Software Engineering for Software as a Service” bei Coursera angefangen hat, und mittlerweile einfach nur noch “Software as a Service”, oder kurz SaaS heißt. Dieser geht nun nämlich überraschender Weise schon in die 4. Runde, und ist damit wahrscheinlich einer der erfolgreichsten Online-Vorlesungen der Coursera-Seite, mit wachsenden Teilnehmerzahlen nach jeder Iteration. Die einzige andere Wiederholung erlebt zur Zeit die Vorlesung Introduction to Machine Learning von Andrew Ng, die nach einem Jahr nun in die zweite Runde geht.

Gehalten wird die Vorlesung von den beiden UC Berkeley Professoren David Patterson, weltweit bekannt für die Entwicklung des ersten RISC-Prozessors, sowie dem Entwurf des RAID-Systems, und Armando Fox, der als apl. Professor in mehreren Forschungsprojekten der Universität tätig ist. Beide halten diese Vorlesung auch schon seit einigen Jahren an der UC Berkeley, also “offline”, zusammen mit dem Professor Koushik Sen als CS169: Software Engineering. Es entspricht daher also den Vorlesungen, die in Deutschland üblicher Weise als Software Engineering, Softwareproduktion oder Softwaretechnik betitelt werden. Patternson und Fox sind dabei der Meinung, dass “Software as a Service” die Zukunft der Softwareentwicklung sein wird; der aktuelle Trend scheint ihnen dabei Recht zu geben: Nicht nur wird immer mehr Software als Client-Server-Software entworfen – oft mittlerweile auch mit Unterstützung für mobile Geräte. Nein, es wird auch immer mehr Software in die “Cloud” ausgelagert (ich bin zwar kein Fan dieses Buzzwords, denn letztendlich ist die Cloud nur das Internet, Cloud-Computing nur die Auslagerung auf Server, die über das Internet angebunden sind und nicht über das lokale Netzwerk – Anwendungs– bzw. Terminalserver gibt es schon seit Jahren, ändern tut sich eigentlich nur, dass dieser Dienst jetzt ausgesourced wird. Die Cloud ist damit ein leeres Buzzword das vor allem Manager ködern soll, für etwas, dass es schon immer gegeben hat; aber man wird als Informatiker wohl mit diesem Begriff leben müssen). Und weil SaaS sich so schnell verbreitet, haben sie ihre Softwareengineering Vorlesung immer weiter für SaaS-Applikationen ausgelegt; das bedeutet natürlich nicht, dass die Vorgestellten Methoden nicht genau so Gültigkeit für die klassische Applikationsprogrammierung haben! Lediglich der Fokus und einige der Technik-Details hat sich geändert. Inhalte und Ziele der Vorlesung sind unter Anderem:

  1. Einführung in Software Engineering
  2. Software-Architekturmuster
  3. Internet-Techniken
  4. Programmieren mit Ruby
  5. Ruby on Rails Framework
  6. Behaviour-Driven Development
  7. Testing

Um das Programm abzurunden, gibt es neben den wöchentlichen Vorlesungen zuzüglich zugänglich gemachten Folien und Quizzes während der Vorlesung auch noch Hausaufgaben und Tests. Die Tests werden wöchentlich abgefragt, und sind einfache Wissensabfragen. Die Hausaufgaben wiederum erfordern, dass man selbst programmiert. Es wird ein Image für eine virtuelle Maschine zur Verfügung gestellt, die eine komplette Entwicklungsumgebung unter Linux bereit stellt, sodass man ohne viel Einrichtungsarbeit einfach loslegen kann. Die letzten Male gab es zusätzlich auch immer einen kostenlosen Account für den Amazon Cloud Service EC2, zu dem man einen Gutschein bekam, wenn man die erste, optionale Hausaufgabe mit mindestens 50% besteht.

Programmiert wird eine Applikation namens “Rotten Potatoes”, einer Filmseite, die sich stark an Rotten Tomatoes richtet. Eine Startversion ist auf der VM, man fängt also nicht von Scratch an – erweitert diese aber sukzessive. Als weiteres Nachschlagewerk für diesen Kurs haben die beiden Professoren außerdem ein Buch geschrieben, dass man – im Vergleich zu sonstiger Fachliteratur – relativ günstig erwerben kann: nur $10USD kostet die digitale Version, $20USD die Printversion.Engineering Long-Lasting Software: An Agile Approach Using SaaS and Cloud Computing (ELLS) ist ein unglaublich gut geschriebenes Buch, das neben dem eigentlichen Thema auch versucht, ein wenig “Allgemeinwissen” im Bereich Informatik zu schaffen. So startet jedes Kapitel mit der Vorstellung eines Turing Award Gewinners, der kurz vorgestellt wird, meist mit Bezug zum aktuellen Kapitel. Und – was ich ganz nett finde – auch mit Bild! Denn viele Namen, etwa Backus und Naur, Liskov, oder Dijkstra hat man als Informatiker bestimmt schon mal gehört – die wenigsten aber wissen, wer diese Personen sind, wie sie aussehen, warum sie so wichtig in der Informatik sind, oder haben gar schon mal ein Zitat von diesen gehört.

(Klar, dass ich mir das Bild eines meiner Idole, Alan Kay aussuche 😉 ).

Außerdem endet jedes Kapitel mit einer Zusammenfassung, mit einem Self-Check Quiz, und oft auch mit einem Teil namens “Elaboration”, indem bestimmte Sachverhalte, die im Kapitel vereinfacht dargestellt wurden, für den den es interessiert, näher ausgeführt werden, einem Excercise-Teil für praktische Übungen, einem “To Learn More” Teil mit vielen öffentlich zugänglichen Links, bekannten Pitfalls und geläufigen Falschwissen. Und, für alle für die das noch immer nicht genug ist, gibt es zum Buch auch einige Screencasts, beispielsweise um das Arbeiten mit Cucumber zu demonstrieren, die auf vimeo in einem extra Channel abgelegt sind. Und alle Code-Beispiele aus dem Buch sind digital auf pastebin.com abgelegt, wie bspw. der Reviews Controller. Die Professoren legen nämlich großen Wert darauf, dass man die Beispiele auch ausprobiert. Daher gibt es auch auf pastebin.com einen Channel, in dem sich ca. 550 Codebeispiele finden.

Rückblick auf die alten SaaS-Kurse und Spekulationen für den jetzigen

Das Besondere an dem SaaS-Kurs ist, dass er alleine in dem ersten halben Jahr ganze drei male auf Coursera wiederholt wurde. Ende Februar startete der Kurs das erste mal – zu der Zeit ignorierte ich ihn noch. Dank eines Kommilitonen, der auch schon einige der Lehrangebote auf Coursera mit Begeisterung wahrgenommen hat, wurde ich dann auf SaaS aufmerksam und war daher sehr erfreut, dass er im Mai wiederholt wurde. Natürlich schrieb ich mich sofort ein, besorgte mir das Buch und begann, den Kurs ernsthaft durchzuarbeiten. Leider ist es, wenn man sich die Zeit nimmt, das Buch ernsthaft durchzuarbeiten, sehr zeitaufwendig, und wenn man nebenbei studiert, arbeiten muss und auch einige persönliche Verpflichtungen hat, ziemlich schwer. So brach ich den Kurs leider nach 2 Woche schon wieder ab, weil ich schon in der zweiten Woche stark hinterher war, und nicht mehr mitkam. Leider.

Das dritte mal lief der Kurs dann im Juli, und ich versuchte ihn ein zweites mal. Diesmal bin ich ein ganzes Stück weiter gekommen aber wegen bevorstehender Klausuren mussten auch diese mal dann leider abbrechen. Dennoch habe ich in diesen ersten zwei malen einen ganz guten Eindruck von der Vorlesung bekommen. Wie man vor allem sieht: Der Kurs verlangt ein wenig arbeit. Selbst wenn man, wie ich, schon seit einem halben Jahr in Rails entwickelt, lernt man hier eine ganze Menge neuer Sachen. Wer bis zum Schluss am Ball bleibt, bekommt einige Methoden und Werkzeuge an die Hand gelegt, mit denen sich professionell saubere Software schreiben lässt; Beautiful Code, wie es die beiden Professoren nennen, ist das Ziel, dass sie mit dieser Vorlesung verfolgen.

Ich persönlich finde den Kurs herausragend! Ich habe mittlerweile in Summe wohl 4 Veranstaltungen besucht, die sich alle als Veranstaltung des Themenkomplexes Softwareengineering gesehen haben; Softwareproduktion und Internet-Anwendungsarchitekturen (beides an der Berufsakademie), sowie Softwaretechnik und das Softwareprojekt (beides an der Universität). Und dennoch lernte ich eine Menge mehr, als ich in allen Vorlesungen zusammen je gelernt hatte; vor allem über moderne Methoden der Softwareentwicklung.

Auch wenn die Vorlesung schon nach der ersten Iteration genial gewesen sein muss, wurde sie stetig verbessert und das Feedback der Teilnehmer nach den Kursen für die nächste Iteration eingebaut. Allerdings waren diese Änderung nie so weitreichend wie sie es für die nun folgende Iteration zu sein scheinen. Die zunächst auffälligste Änderung ist der Umzug von Coursera nach edX. In Anbetracht dessen, dass Berkeley eine der drei Universitäten ist, welche die Plattform edX betreiben, scheint es nur natürlich, und auch um so wundersamer, dass der Kurs davor in so vielen Iterationen auf Coursera lief. Fast erweckt es ein wenig den Eindruck, als wenn die Kurse auf Coursera ein Testlauf waren; nun da man genügend Erfahrungen und Feedback gesammelt hat, startet SaaS daher auf edX in einem sehr viel reiferen Stadium, was der eigenen Plattform zu gute kommt. In den FAQ heißt es, dass es mehrere Verbesserungen geben wird, die sich alle nach den Erfahrungen und dem Feedback richten. Einige davon sind:

  • Komplett neue Videos im HD Qualität und einem sehr viel interaktiverem Format
  • Längere Diskussionen und detailierte Erklärungen zu den “Self-Assessment” Fragen
  • Neue Anordnung und Schwerpunktsetzung der einzelnen Vorlesungen

Vergleich zu deutschen Vorlesungen

Es ist wohl kein Geheimnis, dass ich was diese Veranstaltung betrifft, kein großer Fan bin. Hierzulande orientieren sich die Vorlesungen zum Thema Softeareengineering nämlich noch erschreckend Stark an dem Standardwerk von Helmut Balzert, Lehrbuch der Softwaretechnik. Dieses erblickte 1996 das Licht der Welt und pocht noch sehr stark auf einem BDUF-Vorgehen. Auch ich musste das Buch an der Berufsakademie – 10 Jahre nach erscheinen! – lesen und habe es “als Standardwerk der Informatikausbildung” im Bücherregal stehen. Das Buch trichtert die Wichtigkeit der Planungsphase ein, stellt verschiedene Aufwandschätzungsmethoden vor, macht alle Phasen, die nach der Planung kommen, fast zur Nebensache. Wir mussten unterschiedliche Gliederungsmöglichkeiten eines Lasten– und Pflichtenhefts auswendig lernen – Balzert stellt hier unterschiedliche vor – und diese wurden dann in der Prüfung abgefragt! In meiner vorliegenden Version (etwas ältere Auflage) nehmen die Planungs- und Definitionsphase 630 Buchseiten ein, ehe es dann auf den Verbleibenden 350 Seiten um die Entwurfs-, Implementierungs-, Abnahme- & Einführungs-, sowie Wartungs- & Pflegephase geht! Agile Methoden werden garnicht oder nur am Rande erwähnt, genau so wenig, wie moderne Softwaresysteme zur Entwicklungsunterstützung. Meiner Meinung nach völlig unbrauchbar, da absolut nicht mehr am Zahn der Zeit. Folgende Amazon-Kritik fasst das, wie ich finde, ganz wunderbar zusammen.

Ich hatte die Hoffnung, das es an der Universität besser wird – immerhin sollte hier nicht der Balzert gelesen werden. Allerdings gab es auch hier starke Widerstände bezogen auf neuere Technologien, wie dezentrale Versionskontrolle (wer bitteschön benutzt heute in der Praxis noch SVN? Alle aktuellen Kontakte die ich zu Softwareentwicklern habe, berichten von einer Umstellung auf Git oder Konsorten!), und bei einem Softwareprojekt, in dem 50% der Zeit auf Dokumentation in Form von Pflichtenheft sowie Entwurf des kompletten System aufgewendet werden soll, kann man auch nicht wirklich von einer Besserung reden, selbst wenn dabei nach Scrum gearbeitet werden soll.

Ganz anders die Vorlesungen in Amerika. Der Schwerpunkt wird hier auf aktuelle Techniken gelegt. Anstatt theoretischer Überlegungen wird sehr viel Praxis gelehrt, es gibt sehr viel “Hands-on”, und es werden sich aktuelle Entwicklungen angeschaut (warum muss das Wasserfallmodell eigentlich in all seinen Details gelehrt werden? Sicherlich ist es interessant zu wissen, dass es das gibt, aber tut es not, zu wissen, welche Artefakte in welcher Phase erzeugt und in welcher anderen benötigt werden, und was wie im Detail in den einzelnen Phasen gemacht wird? Wenn mich das interessiert, kann ich das doch wunderbar nachlesen! Dazu gibt es doch Begleitliteratur beim Studieren, oder nicht?).

Aus diesen Gründen denke ich, das jeder, der sich ernsthaft mit Informatik beschäftigt, sich diesen Kurs antun sollte, vor allem wenn er Softwaretechnik in oben beschriebener Form erdulden musste. Hier lernt man etwas “für’s Leben”, es ist eine wunderbare Ergänzung zu universitären Vorlesungen, es ist allerdings auch eine wunderbare Vorbereitung für Praktika, in denen im Team größere Software entwickelt werden soll.

Und nach dem Kurs?

Ich hab in Erinnerung, dass, als ich meinen ersten Kurs machte, es in den Ansagen hieß, dass die Online-Vorlesung nur aus Teil 1 der Offline-Vorlesung an der UC Berkeley bestünde. Der zweite Teil nämlich sei nur den UC Berkeley Studenten vorbehalten; dort würde man dann zu bestimmten Themen weiter in die Tiefe gehen.

Dies hat sich scheinbar geändert, seit die UC Berkeley nun auf edX gelandet ist: In einer Videobotschaft künden Fox und Patterson an, dass der Kurs nach Berkeley verschoben wird, und dass es ende Herbst den zweiten Teil nun auch als Online-Vorlesung geben wird.

Teil zwei enthält einige weitere wirklich interessante Themen:

  • Legacy Code
  • Deployment
  • Operations
  • Security
  • Performance
  • JavaScript

Vor allem Legacy Code wird mich sehr interessieren. Legacy Code bezeichnet Code, der sehr alt ist, aber dennoch im Unternehmen läuft. In der Praxis findet man solche Systeme leider viel zu häufig. Die Problemstellung: Der Code realisiert unternehmenskritische Funktionen und das eventuell schon seit Jahrzehnten. Die Ersetzung des Codes würde einiges an Geld und wahrscheinlich einige Jahre an Arbeit verschlingen. Er ist aber so alt, dass von den Originalautoren meist niemand mehr zu finden ist. Aus dieser Zeit stammender Code ist zudem meist in so hässlichen prozeduralen Sprachen wie COBOL geschrieben (solche Systeme durfte sogar ich mir 2-3 male angucken!), und natürlich – noch aus dieser Zeit stammend – kein bisschen dokumentiert. Es ist hässlicher Code, der unverzichtbar ist. Und der jetzt erweitert werden soll!

Die Vorlesung soll zeigen, wie man Sinnvoll mit solchem Code umgeht. Ein Vergleichbares Thema soll es angeblich noch nicht geben (mit ein Grund, warum die zwei ein Buch geschrieben haben, dass dieses Thema ebenfalls umfasst). Legacy Code ist nämlich nichts, mit dem man sich gerne befasst. Aber eine Umfrage, die über UC Berkeley an die Unternehmen getragen wurde, hat ergeben, dass bei allen befragten Unternehmen an stelle eins die Fähigkeit mit Legacy Code umzugehen, gefordert wird. Ergo ein wichtiges – und bestimmt auch interessantes Thema!

Es sieht daher aber auch so aus, als wenn der SaaS Kurs Teil 1 nun nicht mehr so häufig wiederholt wird. Wie gesagt vermute ich eh, dass es sich bei der häufigen Wiederholung noch um die Testphase handelt. Wer also SaaS hören möchte, sollte dies nach Möglichkeit jetzt tun, wer weiß, ob, wann und unter welchen Voraussetzungen dies ein zweites mal möglich sein wird! Auch Fox und Patterson raten dazu – da der zweite Teil ende Herbst angeboten wird, wird SaaS jetzt noch einmal angeboten, um allen die Möglichkeit zu geben, vorher noch an diesem Kurs teilzunehmen (er wird als Voraussetzung für Teil 2 sehr empfohlen).

Advertisements

Please comment. I really enjoy your thoughts!

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s