Donnerstag, 19. Februar 2015

Bits und Bytes verstehen dank CS50-MOOC

Harvard’s am besten besuchter Kurs war 2014 ein Informatikkurs: Computer Science 50 (CS50). 825 regulär eingeschriebene Studierende belegten den Kurs, der auch über edX – eine von der Harvard-Universität und dem Massachusetts Institute of Technology (MIT) gegründete Lernplattform – als Massive Open Online Course (MOOC) CS50x angeboten wurde. Für den MOOC hatten sich 366.231 TeilnehmerInnen aus aller Welt eingeschrieben* – ich war eine von ihnen. 

Wir leben inmitten der digitalen Revolution. Der Computer ermöglichte die Raumfahrt und verändert seit dem beständig unsere Arbeitswelt, unser Leben zuhause, wie wir miteinander kommunizieren und unsere Gesellschaft. Und die digitale Revolution ist noch längst nicht abgeschlossen: Viel wird sich noch durch die Realisierung vom „Internet der Dinge“ sowie durch die (Weiter-) Entwicklung von Robotern und so genannter künstlicher Intelligenz verändern. Doch was verbirgt sich eigentlich hinter dem Gehäuse von Computern, PCs, Notebooks, Smartphones oder Robotern? Wieso können sie, was sie tun?
Mein edX/HarvardX Honor Code Certificate
Seit Jahren befasse ich mich teils neben- und teils hauptberuflich mit Rechnern, Rechnernetzen, ihrer Administration und ihren Kommunikationsprotokollen. Trotzdem blieb da immer eine Ebene, nämlich die der Programmierung, die für mich noch zu viele Geheimnisse enthielt. Zwar hatte ich schon Webseiten programmiert, aber doch mehr über Learning by Doing und ohne die Grundlagen dahinter zu kennen. Nach und nach erschloss ich mir zwar über einen Semesterkurs und mehrere MOOCs Teilbereiche der Informatik: dynamische Webseiten, Datenbanken, Suchmaschinen, Blogs. Trotzdem blieb immer ein Gefühl des Schwimmens im Abstrakten – die Aufgaben waren für mich wie das Lösen von Kreuzworträtseln, danach ging es irgendwie nicht weiter, mir fehlte immer noch der Sinn dafür, wie man Ideen oder Probleme in Software umsetzen beziehungsweise sie damit lösen kann. Diesen Sinn für digitale Lösungen bekam ich erst durch die Teilnahme am CS50-MOOC 2014.

Durch CS50 lernte ich, Aufgabenstellungen in die "Denkweise" eines Computers zu übersetzen und darauf basierend Programme zu schreiben. Zu den im Kurs gestellten Aufgaben gehörten Programmierarbeiten im Bereich Spieleentwicklung und Computerforensik, interaktive Webseiten zu erstellen und vieles mehr. Das Abschlussprojekt bestand in der Aufgabe, selbst ein „Problem“ zu identifizieren und eine Lösung dafür zu programmieren – sei es für ein Smartphone oder einen Rechner, sei es für die Administration, für Vorgänge in den Programmtiefen oder an der (Endnutzer-) Benutzeroberfläche. Ich programmierte eine kleine Webanwendung für Hobbygärtner "Mein Pflanzenarchiv", die Hobbygärtnern das Erinnern an ihre Sorten, Pflanzungen und Erfahrungen erleichtern soll.

Es hatte geheißen, der Kurs sei für Anfänger und Fortgeschrittene geeignet, wobei empfohlen wurde, sich nicht an anderen Teilnehmern zu messen, sondern nur die eigene Entwicklung zu bewerten. Die gestellten Aufgaben zu lösen, war ab der dritten Lerneinheit nicht gerade einfach und teilweise ziemlich zeitaufwendig - auch für mich, obwohl ich einige Kenntnisse mitbrachte. Aber andererseits waren wir alle erstaunt, wie viel wir schon nach kurzer Zeit selbstständig fertigbrachten. Das liegt meiner Meinung nach daran, dass dieser CS50-Kurs/CS50x-MOOC die Themen spielerisch und anschaulich aufrollt und jedes Thema auf mehrere Arten erklärt wird. Nicht umsonst gehört David J. Malan, der Dozent, inzwischen zu den Rockstars unter den Informatik-Dozenten.

825 reguläre Studierende plus 366.231 MOOC-TeilnehmerInnen* zu betreuen, erfordert einiges an Organisation und Infrastruktur (und den Einsatz von neuen digitalen Medien), wenn man möglichst vielen Menschen Spaß an der Sache und außerordentliche Lernerfolge vermitteln will. Deshalb besteht das CS50/CS50x-Team inzwischen aus 100 Personen*. Die bekanntesten sind neben David Malan die Teaching Fellows (TF, mitwirkende Studierende älterer Semester) Rob Bowdon, Zamyla Chan, Jason Hirschhorn und andere, die viele der Erklärvideos erstellt haben, und auch sonst den Studierenden Hilfestellung leisten.

 CS50 bzw. CS50x wird auch 2015 wieder angeboten. Man kann:
  • völlig losgelöst die Online-Inhalte nutzen (OpenCourseWare) - kostenlos, 
  • mit formloser Bescheinigung bei erfolgreicher Bewältigung von Aufgaben und Abschlussprojekt (edX Honor Code Certificate) abschließen – kostenlos (mein Zertifikat siehe Abbildung oben), 
  • mit offizieller Bescheinigung bei erfolgreicher Bewältigung von Aufgaben und Abschlussprojekt (edX Verified Certificate) abschließen – 90 US$ Gebühr, 
  • mit offizieller Bescheinigung bei erfolgreicher Bewältigung von Aufgaben und Abschlussprojekt (Harvard University CS50 Certificate) beenden – 1000 US$ Gebühr, 
  • mit akademischen Leistungspunkten (Course Credits) bei erfolgreicher Bewältigung von Aufgaben, Prüfungen und Abschlussprojekt (Harvard University Course Credits) abschließen – 2.200 US$ Gebühr. 
Die teuerste Variante ist der offizielle Semesterkurs (Registrierung war bis 2. Februar 2015 möglich), an dem man „on campus“ oder online teilnehmen kann. Der hohe Preis erklärt sich durch die intensive Betreuung, Zusatzleistungen und sonstigen Mehraufwand. Alle Einzelheiten zu den verschiedenen CS50-Teilnahmemöglichkeiten hier.

Ich kann CS50 jedem, der sich mehr als nur theoretisches Wissen über Informatik aneignen möchte, empfehlen. Der Kurs ist alles andere als trocken, beinahe sogar süchtig machend. Man entwickelt ein besseres Verständnis für die digitale Welt, in der wir leben. Das ist nicht nur für die, die in die Softwareentwicklung gehen wollen, hilfreich, sondern auch für Journalisten, Wissenschaftler, eigentlich für alle neugierigen Menschen. Viele - so auch ich – hoffen sogar auf eine Fortsetzung von CS50. Wir wollen noch mehr wissen und in einem Rahmen, wie CS50 ihn bietet, macht das Lernen viel mehr Spaß und die Erfolge sind viel schneller da, als wenn man sich alleine durch Informationsangebote im Internet oder anderswo kämpfen muss.

* Die Zahlen stammen von David J. Malan im CS50 Reddit AMA (AMA steht für Ask Me Anything)

Das könnte Sie auch interessieren

Mittwoch, 4. Februar 2015

Achtung, die Mobilen kommen

Der Anteil an Nutzern, die mit Smartphone und Tablets auf Webseiten zugreifen, ist inzwischen so groß, dass es höchste Zeit ist, sich als Webseitenbetreiber mit dem Thema gerätegerechte Webseitendarstellung zu befassen. Andernfalls verprellt man wegen der nicht optimalen Nutzererfahrung beim Seitenbesuch seine Besucher und Kunden, rutscht in den Suchmaschinenergebnissen nach hinten und verschlechtert mit der Zeit seine Reichweite und alles, was daran hängt. Eine Lösung für das Problem heißt Responsive Webdesign. Aber wie geht man bei der Umstellung eines Konglomerats aus über Jahrzehnte entstandenen Webseiten und Blogs vor?

Nachtrag zum "Mobilegeddon": Google hat inzwischen in seinem Entwicklerblog veröffentlicht, dass die Mobile Friendliness (Nutzerfreundlichkeit für Mobilgeräte) ab dem 21. April 2015 als Ranking-Signal für die Suchergebnisse für Smartphones berücksichtigt wird.

Lange schien mir der Aufwand, mein Webangebot so umzustellen, dass die Webseiten sowohl mit einem Desktop-Computer als auch mit mobilen Endgeräten optimal dargestellt werden angesichts der sehr niedrigen Besucherzahlen mit mobilen Geräten wie Smartphone und Tablet zu hoch. Als mir vor ein paar Tagen das Google-Webmaster-Team schrieb: Beheben Sie Probleme der mobilen Nutzerfreundlichkeit auf www.tinto.de/, war das für mich Anlass, mich mal wieder genauer mit meinem Webseiten- und Blog-Traffic zu befassen.

In den letzten 12 Monaten (Kreisdiagramm oben) nutzten etwa 35 Prozent der tinto-Besucher ein Smartphone (rot) oder ein Tablet (blau). 65 Prozent nutzten einen Desktop-Computer. Im Jahr davor waren es noch wesentlich weniger Mobile (Kreisdiagramm unten).
Seit 1998 erstelle ich für tinto Webseiten und Blogs zu allem, wozu ich glaube, Wissen oder Erfahrungen beitragen zu können. Ich realisierte meine Vorstellungen mit Tools und Programmierkenntnissen, die ich zur jeweiligen Zeit hatte. Die Zahl meiner Seiten und der Besucher wuchs über die Jahre zu einem kleinen Imperium. Aber waren es bis vor wenigen Jahren fast ausschließlich Desktop-Nutzer, die meine Angebote nutzten, zeigt der jüngste Blick in mein Trafficanalyse-Tool Google Analytics, dass in den letzten 12 Monaten 35 Prozent der Besucher mit mobilen Endgeräten wie Smartphone und Tablet kamen. Im Jahr davor waren es noch knapp 23 %. Laut Statista surfen sogar 54 Prozent der Deutschen mobil.

Dabei sind meine Besucher keine "Digital Hipsters", sondern ganz normale Verbraucher aller Altersklassen, die sich für Garten-, Gesundheits- und andere Verbraucherthemen interessieren. Je nach Zielgruppe, wird bei anderen der Anteil der mobilen Nutzer auf ihren Webseiten noch wesentlich höher sein.

Infografik: 54% der Deutschen surfen mobil | Statista
Mehr Statistiken finden Sie bei Statista

Trafficanalyse, responsive Webdesign und Prioritätensetzung stehen jetzt auf meinem Stundenplan

Bei einem Responsive Webdesign passt sich die Darstellung der aufgerufenen Webseite oder des Blogartikels automatisch an den Nutzer, beziehungsweise an sein Gerät oder seine Bildschirm-/Fenstergröße, an. So werden beispielsweise Elemente auf einem Desktop mit seinem großen Bildschirm und entsprechend großen Fenstern nebeneinander gezeigt, auf einem Smartphone dagegen untereinander. Auch Schriftgrößen und Menüs können für verschiedene Besuchergeräte, deren Auflösung oder Fenstergröße unterschiedlich konfiguriert werden. Technisch wird das durch die Programmierung nach den neuen Möglicheiten und Standards von Hyper Text Markup Language (HTML5), Cascading Style Sheets (CSS3, Media Queries) und JavaScript umgesetzt.

Zwar habe ich meine neuesten "von Hand" programmierten, kleinen Projekte wie tinto-Horoskop gleich responsive umgesetzt oder sie nachträglich auf responsive umgestellt (beispielsweise Gartenblogs, Mein Pflanzenarchiv und Mein Outfitarchiv), sodass die Seiten bei Aufruf durch ein Smartphone anders angezeigt werden als bei Aufruf per Desktop. Dabei passt sich die Darstellung an die Fenstergröße an - man kann das ausprobieren, indem man die Seite aufruft und das Browserfenster verkleinert.

Auch meine Blogs ließen sich recht einfach so konfigurieren, dass Besucher mit einem mobilen Gerät eine andere Version der Seite gezeigt bekommen - sowohl mein tinto bloggt-Blog, den ich mit Wordpress (php und MySQL) erstellt habe, als auch die verschiedenen Blogger-Blogs wie dieser. Dank passender Vorlage (Theme) waren nur ein paar Klicks nötig, um das Feature zu aktivieren. Allerdings steckt hier der Teufel im Detail: Bei der Überprüfung mit einem Mobile-Phone-Emulator stellt man fest, dass das Ergebnis nicht auf jedem Endgerät optimal ist.

In welcher Reihenfolge auf Responsive Webdesign umstellen

Im Gegensatz zu Blogs oder anderen Content-Management-Systemen (CMS) lassen sich alte statische Webseiten, die oft mit proprietären Webdesign-Programmen erstellt wurden, nur aufwendig umstellen. Doch die Zeit drängt - so scheint mir -, wenn man nicht ausschließlich Desktop-Nutzer als Zielgruppe hat und seine mobilen Besucher nicht verlieren möchte.

Hilfreich: Der Emulator und der Punkt Nutzerfreundlichkeit
unter dem Reiter Mobile von Google PageSpeed Insights
Gerade wegen meiner über Jahre gewachsenen, nicht homogenen Projekte und wegen des hohen Aufwands muss ich eine sinnvolle Reihenfolge finden, wie ich bei der Umstellung vorgehe. Im Grunde geht es darum, Webprojekte/-seiten mit dem größten potenziellen Effekt zu identifizieren. Doch welcher Effekt ist mir überhaupt der wichtigste: Reichweitenverbesserung für bestimmte Botschaften, Erhöhung meines Bekanntheitsgrades, Erreichen potenzieller Auftragskunden (Werbekunden, Textaufträge-Kunden), sonstige Selbstvermarktungseffekte und/oder Affiliate-Werbeeinnahmen? Am liebsten natürlich alles.

Es gibt viele Möglichkeiten, eine Reihenfolge zu finden, beispielsweise:
  • entlang der hierarchischen Struktur
  • Webprojekte/-seiten nach Traffic-Kennzahlen sortieren und bei denen mit den höchsten Werten für alle Geräte beginnen. (Das kann allerdings davon beeinflusst sein, wie gut die Seiten bereits für die Ansprüche mobiler Geräte "versehentlich" optimiert sind). 
  • Webprojekte/-seiten nach Werbeeinnahmen-Kennzahlen sortieren und bei denen mit den höchsten Werten für alle Geräte beginnen. (Das kann auch davon beeinflusst sein wie gut die Seiten oder zumindest die Werbung darauf bereits für die Ansprüche mobiler Geräte optimiert sind). 
  • Webprojekte/-seiten danach sortieren, wie oft auf sie mit mobilen Geräten zugegriffen wird. (Es ist allerdings möglich, dass Suchmaschinen wie Google mobilen Geräten bevorzugt bereits "versehentlich" optimierte Seiten in den Suchergebnissen zeigt) 
  • Webprojekte/-seiten danach sortieren, wie oft sie von mobilen Geräten ohne Verweildauer verlassen werden 
  • Planen, welche Themen und Webseiten als nächstes gefeatured werden sollen und diese umstellen und updaten 
Während eine Vorgehensweise anhand der Struktur nur bei einem geschlossenen Projekt, das als Ganzes neu veröffentlicht wird, Sinn macht, muss man meiner Meinung nach zum Priorisieren von Projekten oder Einzelseiten, die alleine geupdated werden sollen, letztendlich (fast) all die anderen Möglichkeiten berücksichtigen - gewichtet entsprechend den persönlichen Prioritäten, um den größtmöglichen Effekt zu erzielen.

Da wartet ein riesiger Berg Arbeit. Packen wir es an.

Hilfsmittel 

Während der Umprogrammierung hilfreich:

Weitere Informationen
Anzeige