Empfehlungen zum Einstieg in Programmierung und kognitiver Modellierung
Sie haben Interesse, Programmieren zu lernen oder einen Blick in die Modellierung von psychischen oder sozialen Prozessen zu werfen?
Hier haben wir für Sie einige Link-Empfehlungen zum Einstieg in diese spannende Welt gesammelt. (Bitte beachten Sie, dass diese Links zu Ressourcen außerhalb der TUD führen und wir keine Verantwortung für die dort bereitgestellten Inhalte übernehmen.)
Videoeinstieg in die Thematik
Aufwand: Ca. 45 Minuten
Kosten: Netflix Abonnement muss vorhanden sein
Beschreibung: Ein ‚sanfter‘ Einstieg, um eine erste Idee von der Materie zu bekommen. Die Dokumentation „Programmieren“ liefert in einer knappen halben Stunde ein gutes Grundverständnis über die (technischen) Grundkonzepte und die Geschichte des Programmierens. Darauf aufbauend vermittelt das Video „How to Learn to Code“ von YouTuber CheersKevin ein gutes Grundgefühl dafür, wie man den eigenen Lernprozess gestalten kann.
Vorteile: Geringer Zeitaufwand; guter Startpunkt, um den weiteren Lernprozess zu gestalten
Nachteile: Bietet vorab noch keine Möglichkeit, sich selbst am Programmieren zu versuchen
CS50’s Introduction to Computer Science
Aufwand: ca. 12 Wochen, 6 – 18 Stunden pro Woche
Kosten: kostenlos
Beschreibung: Harvard University stellt auf der Lernplattform edX.org ihren Einführungskurs in die Informatik kostenlos zur Verfügung. Er beinhaltet die aufgezeichneten Vorlesungen sowie sogenannte Problemsets, bestehend aus 1 bis 3 Programmieraufgaben, die man nach Schauen der einzelnen Vorlesungen zu lösen hat. Hierfür erhält man nach ‚Abgabe‘ innerhalb von Sekundenschnelle Feedback, ob die eigene Lösungsvariante erfolgreich war. Mithilfe dieser Aufgaben lernt man im Verlauf des Kurses neben den allgemeinen Grundlagen fürs Programmieren auch den Umgang mit den Programmiersprachen C und Python.
Der Kurs ist zeitaufwendig, kann allerdings in einem selbstgewählten Tempo problemlos absolviert werden.
Vorteile: Ermöglicht ein sehr solides Grundlagenwissen; es gibt zahlreiche Social Media Kanäle, in denen Fragen gestellt werden können, wenn man nicht weiterkommt; man braucht sich am Anfang nicht selbst herauszusuchen, was man lernen möchte; Problemsets ermöglichen einen realitätsnahen und zugleich angenehmen Einstieg ins Programmieren
Nachteile: Hoher Zeitaufwand, da bereits relativ tiefer Einstieg ins Thema
Hinweis: Der Kurs steht kostenlos zur Verfügung. Für einen Aufpreis von 82€ kann nach Abschluss des Kurses ein Zertifikat erworben werden, dieses ist aber nicht verpflichtend. Alle Ressourcen des Kurses stehen frei zur Verfügung, der Nichterwerb des Zertifikats führt an keiner Stelle während des Lernprozesses zu einer Benachteiligung!
Den Zugang zur Ressource finden Sie hier.
Online Tutorials, Bücher, etc.
Aufwand: individuell
Kosten: individuell, i.d.R. allerdings gering bis keine
Beschreibung: Wenige Fertigkeiten lassen sich so gut kostenlos durch das Internet lernen wie Programmieren. Es stehen zahlreiche Online-Kurse zur Verfügung, viele hiervon sogar kostenlos.
Es empfiehlt sich also, Eigenrecherche zu betreiben. Mögliche Anlaufpunkte sind z.B. die Websiten Brilliant, Tutorialspoint, edX, und SoloLearn. Jede dieser Websites hat ihren eigenen Ansatz, um Wissen zu vermitteln, es kann sich also jeder etwas aussuchen, das zu den eigenen Lernbedürfnissen passt.
Eine weitere Möglichkeit stellen Bücher dar. Die SLUB selbst stellt hier viele Ressourcen zur Verfügung, einige sind sogar online verfügbar. Bucherempfehlungen finden Sie unter Programmiersprachen.
Vorteile: Individuelles Lernen, so wie es am besten zu einem passt
Nachteile: Qual der Wahl!
Hinweis: Für den Einstieg ins Programmieren muss man sich i.d.R. vorab für eine Programmiersprache entscheiden. Hinweise hierzu unter Programmiersprachen.
Eigenes Projekt suchen
Aufwand: individuell
Kosten: individuell, i.d.R. allerdings gering bis keine
Beschreibung: Wenn man Programmieren lernen möchte, ist es oft sinnvoll sich ein eigenes Projekt zu suchen, das man umsetzen möchte. Grundlegendes Wissen über Programmierung sollte hier vorab gegeben sein, darauf aufbauend kann aber das allermeiste im Selbststudium mit (Online) Ressourcen gelernt werden.
Vorteile: I.d.R. höchster Lernerfolg, höhere Motivation da eigenes Projekt
Nachteile: Kann stellenweise sehr frustrierend sein hierbei lohnt es sich, jemanden mit mehr Programmierkenntnisse zu haben, den man um Rat fragen kann, wenn man auch mithilfe der gewählten Ressourcen nicht mehr weiterkommt.
Hinweis: Projekte können wirklich alles sein, was einem in den Sinn kommt. Ein einfaches Programm, mit dem man Tic Tac Toe spielen kann bis zur eigenen App.
Django Girls e.V.
Aufwand: 1 Tag
Kosten: kostenlos
Beschreibung: Während eines eintägigen Workshops können Frauen in einer angenehmen Atmosphäre erste Erfahrungen mit Programmierung sammeln.
Vorteile: Relativ geringer Zeitaufwand, Einstieg wird erleichtert durch die Anwesenheit von Mentoren
Nachteile: Nur erstes ‚Schnuppern‘, für Grundlagen muss danach selbstständig weitergelernt werden.
Hinweis: Nur für Frauen zugänglich
Den Zugang zum Verein Django Girls Dresden finden Sie hier.
TechLabs e.V.
Aufwand: ca. 1 Semester (~3-4 Monate), ca. 10 Stunden / Woche
Kosten: kostenlos
Beschreibung: TechLabs ist ein junger Verein, den es inzwischen in acht Städten weltweit (Stand: Mai 2020) zu finden gibt. Ihr Ziel ist es, jungen Menschen ‚state-of-the-art tech education‘ zukommen zu lassen - unabhängig von ihrem akademischen Hintergrund. Jedes Semester gibt es die Möglichkeit, sich an einer der acht Locations zu bewerben, für einen von vier Tracks: Artificial Intelligence, Web Development, User Experience und Data Science (für Python oder R). Je nach gewähltem Track lernt man ein Semester lang zusammen mit den anderen Teilnehmern und mithilfe von online zusammengestellten Lernmaterialien die notwendigen Grundlagen, um dann in der 2. Hälfte des Semesters zusammen ein eigenes Projekt umzusetzen.
Vorteile: Lernen in der Gruppe, Möglichkeit ein eigenes Projekt umzusetzen, Mentoren die einen auf der Lernreise begleiten
Nachteile: Hoher Zeitaufwand, nächste Location von Dresden aus: Berlin
Hinweis: TechLabs ist nicht an den Studierendenstatus gebunden, d.h. Berufstätige, Schüler, etc. können sich ebenfalls problemlos bewerben.
Alle Tracks (Ausnahme: Artificial Intelligence) können ohne jegliche Vorkenntnisse belegt werden. Einzige Voraussetzung: Motivation zu lernen!
Den Zugang zum Verein TechLabs finden Sie hier.
Um Programmieren zu lernen, muss man sich i.d.R. vorab für eine Programmiersprache, die man lernen möchte, entscheiden. Es gibt hierfür nicht „die eine“ Sprache zum Einstieg, und es spricht absolut nichts dagegen später mehrere weitere zu lernen. Da sich die meisten Programmiersprachen in ihren Grundlagen stark ähneln, ist das Erlernen zusätzlicher Sprachen i.d.R. sehr überschaubar im Aufwand.
Wenn Sie bereits ungefähr wissen, wofür Sie Programmieren lernen möchten
Hat man bereits eine Idee, für was man seine Programmierfertigkeiten einmal anwenden möchte, sollte man vorab recherchieren, welche Sprache hierfür am geeignetsten für ist. Meistens offenbaren sich bei dieser Recherche auch zahlreiche Ressourcen, über welche die gewählte Sprache gelernt werden kann.
Einstiegssprachen für noch Unentschlossene
Scratch
Scratch stellt einen leichten und spielerischen Einstieg in die Welt des Programmierens dar, schafft es dabei allerdings dennoch, wichtige Programmier-Konzepte wie Schleifen und if-Statements einzuführen. Scratch ist auf diese Weise eine gute Vorbereitung auf das ‚echte‘ Programmieren und bietet dabei noch einiges an Spielspaß.
Den Zugang zur Ressource finden Sie hier. Weitere ‚spielerische‘ Angebote finden Sie hier. Ein auch für Kinder geeignetes Buch zum Einstieg mit Scratch (und Python) finden Sie hier.
Python
Python wird sehr gerne als Einstiegssprache empfohlen. Python ist kostenlos, leicht zu lernen und vielseitig einsetzbar. Dank der sehr großen Community stehen zahlreiche Ressourcen zum Lernen und Fragenbeantworten zur Verfügung, was den Lernprozess erheblich erleichtert. Zum Einstieg empfehlen wir Ihnen dieses Video. Den Zugang zur Ressource finden Sie hier.
Um mit Python programmieren zu können, muss man sich vorher eine Distribution installieren. Hierfür empfehlen wir Anaconda.
Wer sich anfangs den Umgang mit einer Distribution noch nicht zutraut, kann stattdessen Google Colab verwenden. Hierbei handelt es sich um eine kostenlose Ressource von Google, mithilfe der man innerhalb seines Browser Pythoncode schreiben sowie ausführen kann.
Materialempfehlungen zum Einstieg mit Python:
Typ |
Ressource |
Anmerkungen |
Literatur |
Kostenloser Zugang über die Website des Autors. |
|
Sehr sanfter sowie spielerische Einstieg ins Programmieren mit Scratch und Python. Auch für Kinder geeignet. |
||
Kostenloser Zugang über die SLUB |
||
Video |
Kostenloser Zugang über YouTube. Für Einsteiger vorgesehene, ausführliche Videoreihe. |
|
Kostenloser Zugang über YouTube. Einstiegskurs (ca. 6h) für absolute Anfänger. |
||
Websiteformat |
Kostenlos, sehr ausführlich. |
R
R stellt den Standard für Statistiker dar. Es lassen sich leicht aussagekräftige Graphiken erstellen, es ist kostenlos und eignet sich gut für einfache bis mittelkomplexe Datenanalysen. Auch wenn die Syntax der Sprache etwas außergewöhnlich ist, lässt sie sich auch als Anfänger gut lernen. Den Zugang zur Ressource finden Sie hier. Um mit R programmieren zu können, muss man sich vorher eine Distribution installieren. Hierfür empfehlen wir RStudio.
Kostenlose Tutorials finden sie unter anderem auf der Website Tutorialspoint und YouTube. Eine interaktive Möglichkeit, den Umgang mit R direkt in RStudio zu lernen, bietet swirl.
Matlab
Matlab stellt den Standard in den Neurowissenschaften dar. Es eignet sich sehr gut für komplexe Datenanalysen und Modellierung. Gelernt werden kann Matlab durch gute (Selbst-) Schulungsmöglichkeiten. Matlab ist kostenpflichtig, allerdings lässt sich durch die TU Dresden einen kostenlosen Zugang zu erhalten.
Zum Einstieg mit Matlab empfehlen wir Matlab for Behavioral Scientists und MATLAB for brain and cognitive scientists. Beide Ressourcen sind über die SLUB verfügbar.
Julia
Julia ist eine relativ junge Programmiersprache, die sowohl unter Informatikern wie Neurowissenschaftlern empfohlen wird. Sie hat ähnlich wie Python eine benutzerfreundliche Syntax, die leicht zu erlernen ist. Den Zugang zur Ressource finden Sie hier. Eine Sammlung von Selbstlernmöglichkeiten finden Sie hier.
Wer mit dem Programmieren anfängt, wird i.d.R. schnell an einen Punkt kommen, an dem er nicht mehr weiterkommt. Meistens liegt das an sogenannten Bugs (Programmfehlern), die sich in der Form von Fehlermeldungen äußern. Das ist vollkommen normal und passiert auch den erfahrensten Programmierern regelmäßig. Gerade am Anfang ist es nicht immer leicht zu erkennen, was genau schiefgegangen ist.
In solchen Fällen kann man wie folgt vorgehen:
- Die Fehlermeldung kopieren und googeln. Zahlreiche Websites wie Stack Overflow sind zum Austausch über Probleme beim Programmieren gedacht und bieten communitybasierte Antworten zum Lösen der Probleme.
- Die Dokumentation zur Sprache lesen. Jede Programmiersprache hat in der Regel eine Dokumentation, in der genau beschrieben wird, wie sie zu verwenden ist. Oft lassen sich Probleme hierüber lösen. Um die Dokumentation zur gewünschten Sprache zu finden, einfach „[Programmiersprachenname] Documentation“ googeln (z.B. „Python Documentation“).
- Achtung: Am Anfang können Dokumentationen noch etwas überfordernd wirken. Es empfiehlt sich daher, erst mit diesen zu arbeiten, wenn man sich schon etwas mit dem Programmieren bekannt gemacht hat.
- Persönlich um Rat fragen. Viele Probleme, die man Anfang hat, lassen sich von Menschen mit mehr Programmierkenntnissen (selbst wenn diese von anderen Sprachen stammen) leicht lösen.