Gemeinsam in Gruppe programmieren lernen

Gemeinsam mit anderen lernen wenn Thematik und Lernziele für dich gerade relevant?

  • Nein, lerne alleine für mich selber mit Büchern + Tutorials.

    Stimmen: 22 78,6%
  • Ja, schon im Team Bücher + Tutorials durcharbeiten wenn effizienter.

    Stimmen: 6 21,4%

  • Umfrageteilnehmer
    28

Simple Man

Lt. Commander
Registriert
Sep. 2003
Beiträge
1.415
Hallo,

Ich habe hier eine kleine Umfrage erstellt und würde gerne etwas Feedback bzw. paar Meinungen zur folgenden
Idee hören. So eine Idee gab es vor einiger Zeit als Post im Forum, aber die Idee und die Ausrichtung haben sich nun etwas geändert.

Es geht darum, dass man als Softwareentwickler/Hobbyprogrammierer ständig dazu lernen muss/sollte.
Neue oder noch unbekannte Sprachen, Umstieg von Plattform X auf Y oder Einsatz neuer Technologien bzw. Frameworks.
Die Grundlagen kann sich jeder recht schnell aneignen aber ich habe irgendwie das Gefühl, dass man sehr schlecht sagen kann: Wenn ich das und jenes kann, diese 3 Bücher und noch 4 Tutorials durch habe, dann kann ich für eine längere Zeit eine ruhige Kugel schieben und brauche nichts Neues dazu lernen.

Ich persönlich muss und möchte auch im Grunde ständig dazulernen und nach einiger Zeit wird man immer flotter im "Lernen". Hier ein Buch, dort paar Tutorials und Fragen in einem Forum, jedoch hat mir die Erfahrung auch gezeigt, dass alles Zeit, Motivation und Ausdauer braucht. There is no free lunch. Ich habe auch gesehen, dass es unheimlich helfen kann sich mit anderen zu unterhalten, die sich gerade mit der gleichen Thematik/Problematik beschäftigen und den gleichen Wissenstand oder sogar etwas mehr Wissen besitzen. Erfahrungen sind eine der wenigen Dinge, die man im Leben IMMER gebraucht nehmen sollte. Ist offensichtlich, sonst würde es ja keine online Foren geben.
So weit alles klar.

Die Idee ist es eben nicht alleine zu "lernen" und sich ein Buch oder längere Dokumentationen durchzulesen, sondern mit Gleichgesinnten - welche sich das gleiche Wissen in einem konkreten Zeitrahmen aneignen möchten - und mit einem "Betreuer" der unterstützend zur Seite stehen kann. Es geht auch nicht darum eine einzelne konkrete Frage beantwortet zu bekommen, sondern sich schon etwas ausführlicher mit der Thematik auseinander zu setzen. Eine fixe Gruppe von Gleichgesinnten mit einem konkreten gemeinsamen Ziel. So ein Kurs hätte eine vorgegebene Route und bevor sich jemand entscheidet ober er/sie mitmachen möchte, kann auch jeder sehen was die einzelnen fixen Lernpunkte dieses Kurses sind. "Lernunterlagen" (sollte frei verfügbar im Internet sein) wären für alle gleich, wobei jeder Kursteilnehmer weitere Unterlagen in der Gruppe vorschlagen kann.
Wer ist der Betreuer? Jemand der sich auf diesem speziellen Gebiet auskennt, Erfahrung hat und die meisten der möglichen Fragen beantworten könnte. z.B. ein Kursteilnehmer, der den gleichen Kurs vor 2 Monaten gemacht hat und sich nun auskennt. Manchmal sind etwas Leitung und Führung besser als 3 Tutorials.

Wenn ich persönlich etwas Neues lerne und nicht weiter komme, dann denke ich mir immer, dass es doch nicht sein kann, dass ich der einzige auf der Welt bin, der in dieser oder nächster Woche XY lernen möchte.
Ich rede hier jetzt von keinen trivialen Dingen, die nach einer Stunde Recherche gelöst werden können oder wo die Lösung des Problems das simple Lesen von Kapitel X in Buch Y ist.


Solche Kurse würden konkrete Problemstellungen haben. Die Community und Teilnehmer können aber zu 100% selber bestimmten wie, wann sie lernen und welche Ziele sie erreichen möchten. Nach einiger Zeit würden sich schon "Standards" etablieren. Diese würden dann regelmäßig immer wieder stattfinden.

z.B.
# Wie funktioniert Threading in Sprache XY
# Wie erstelle ich einen web service mit XY features in Sprache XY
# Wie erstelle ich eine Polygonfigur in XY 3D Entwicklungsapplikation
# Wie erstelle bzw. parse ich komplexere XML/JSON Dokumente in Sprache XY
# Wie entwerfe und konzeptioniere ich eine kleine Datenbank in XY für ein kleines Projekt
# Wie erstelle ich kleines Spiel in HTML5 (Canvas+JavaScript)
# Wie arbeite ich mit webSockets in Sprache XY
# Wie arbeite ich am besten mit Schleifen und "Listen" in Sprache XY
etc

Es geht nicht darum ein eigenes konkretes praktisches Problem gelöst zu bekommen, sondern sich das Wissen anzueignen und mit anderen auszutauschen.

# Für Kurs XY könnte der Aufwand z.B. 10 Stunden betragen,
# Die Anforderungen und die Ziele des Kurses sind bekannt
# Es gibt einen vorgelegten Pfad wie und wo man sich das Wissen aneignen kann. z.B. Auflistung von Tutorials, freien Büchern, etc
# Es gibt Milestones/Checkpoints in jedem Kurs, welche garantieren dass alle Teilnehmer einen bestimmten Grad an Wissen besitzen. Abseits davon kann jeder zusätzlich noch lernen was ihm/ihr zusagt
# Es gibt Fragen mit denen man sein Verständnis überprüfen kann
# Es gibt ein "Forum" Diskussionsmöglichkeit
# Es gibt fixe Termine zu denen sich die Kursteilnehmer in einem Chat (schreiben/Headset+Micro) treffen können

Es ist nicht gemeint, dass alle in einem Chat nebeneinander sitzen und gleichzeitig die gleichen Seiten lesen.
Lesen kann jeder für sich alleine. Es geht darum relativ schnell Unklarheiten in der Gruppe zu erfragen und von den Erfahrungen der Anderen zu profitieren. Warum einen Wildfremden in einem Forum irgendwo fragen, wenn es der eigene Kollege in der Gruppe schon gelöst haben könnte.
Außerdem müssen sich die Kursteilnehmer nicht alleine mit der Materie beschäftigen, sondern sie bekommen Rat und Unterstützung von Personen, die sich auskennen oder schon vor einiger Zeit den "Kurs" selber abgeschlossen haben. Warum sollte dir jemand bei deinen Fragen/Unklarheiten während des Kurses helfen wollen?

# Weil sie helfen wollen
# Punkte bekommen um an Kursen teilzunehmen, die Punkte kosten
# Selber seit 2 Stunden irgendetwas lernen und dein Problem in 2 Minuten mit einem Kommentar lösen können
# etc etc eine Hand wäscht die andere


Es kann jeder abstimmen und kommentieren. Zuspruch + Kritik alles willkommen!
 
Zuletzt bearbeitet:
Persönlich mag ich Gruppenlernen nicht, ich brauche dazu meine Ruhe. Aber da mögen andere Menschen anders sein.

Generell gilt aber das große Problem von Gruppenarbeiten (das lustigerweise immer als deren Vorteil präsentiert wird): Der Fortschritt wird auf das Niveau des Langsamsten gebremst. Wenn man also nur Top-Leute in der Gruppe hat, könnte man durchaus schnell und effizient lernen. Je größer die Gruppe aber wird, desto höher die Wahrscheinlichkeit, dass sich dort auch Langsame (einer reicht ja schon) befinden. Das ist zwar großartig für die Langsamen, aber das war's dann auch schon.
 
Lernen kann jeder für sich wie er gerade möchte. Gemeinsam werden bestimmte Sachverhalte besprochen oder Fragen in den Raum gestellt. Wenn ein Kurs für n-Stunden ausgelegt ist, du aber nach n/2-Stunden fertig bist und alles verstanden hast, kann dich keiner aufhalten. Wenn du etwas diskutieren möchtest, eine Frage zur "letzte Seite" des Stoffes hast, musst du eben warten bis der Rest der Truppe auch den gesamten Stoff durch hat. Oder du fragst irgendwo anders nach.

Oder noch besser: Der Betreuer beantwortet deine Frage und der Rest der Nachzüglicher kommt in den Genuß deiner Frage+Antwort. Haben auch was gelernt.
 
Zuletzt bearbeitet:
Und wenn ich zwar schnell bin, aber zwischendurch nicht weiterkomme? ;)

Naja, ich sage ja nicht, dass das Konzept überhaupt nicht funktionieren kann, einen Versuch wäre es sicherlich wert!
 
Ich glaube, dass damals einige das Konzept und die Idee missverstanden hatten. Viele gingen davon aus, dass die Lernenden virtuell nebeneinander sitzen und sich jedes einzelne Wort gemeinsam laut vorlesen :evillol:

Es ist aber ein wesentlich autodidaktischer Prozess mit der Möglichkeit sich mit anderen über konkrete Themengebiete auszutauschen und bei Fragen eine Antwort zügig zu erhalten.
 
Ich verstehe den Sinn einer solchen Umfrage nicht ganz. Menschen sind verschieden. Was bei dem einen funktioniert, muss für den anderen nicht gut sein. Und es kommt darauf an, was man dazu lernt. Eine neue Sprache zu lernen heißt ja erst mal nicht unbedingt "Programmieren" lernen sondern eher "Syntax" lernen. Die kann man aber auch lernen ohne Verständnis für sie auf zu bringen.

Wenn es mal an das eigentliche Programmieren und dabei um Programmier-Stil geht, dann sind Einflüsse von anderen sehr hilfreich. Wie diese Einflüsse kommen, also über Gruppenlernen oder durch Lesen guter Lektüre, ist da auch irgendwo egal. Die Chance, dass jemand in einer solchen Lerngruppe sich allerdings einen wirklich guten Stil bereits angeeignet hat, ist wohl meist eher gering. Zu guten Büchern zähle ich Werke wie "Clean Code" oder "Effective Java". Ohne solche "Einflüsse" werden nur die wenigsten guten Code schreiben...

Wichtig ist aber vor allem, dass man selbst weiß, wie man lernt.
 
Überleg dir vor allem mal, wo der Anreiz für so eine Lerngruppe wäre. Was für Fragen könnte sie beantworten, die Google nicht deutlich schneller beantwortet?
Wenn ich wirklich ein spezifisches Problem hinsichtlich des Programmablaufs habe, dann überlege ich mir schnell ein passendes Stichwort und guck, was Google dazu ausspuckt. Bisher habe ich immer ein paar Lösungsansätze gefunden, mit mehr oder minder ausführlichen Codepassagen. Wenn ich hingegen grundsätzlich nicht verstehe, was eine Sprache macht (z.B.: ich komm aus der C-Ecke und habe auf einmal Prolog-Code vor mir), dann hilft mir eine Lerngruppe auch nicht mehr. Dann hilft nur ein gutes Lehrbuch und von 0 anfangen.
 
Daaron schrieb:
Überleg dir vor allem mal, wo der Anreiz für so eine Lerngruppe wäre. Was für Fragen könnte sie beantworten, die Google nicht deutlich schneller beantwortet?

Daaron, laut deiner Argumentation würde sich tagtäglich folgendes in unseren Bildungseinrichtungen zutragen: 2 Schüler/Studenten/Kursteilnehmer gehen in die gleiche Klasse/Vorlesung und bekommen die gleiche Hausübung. Der eine ist einen Tag vorher mit dieser fertig. Der andere Schüler fragt aber nicht seinen Kollegen aus der Klasse, welcher schon die Hausübung fertig hat und ihm diese ohne Probleme geben bzw. erklären könnte, sondern er versucht selber die Lösung im Internet irgendwo zu finden.

Mir ist noch nicht ganz klar wie mir eine Suchmaschine bei einer sehr spezifischen Frage mehr helfen kann als eine Person die zu 100% die Antwort auf meine Frage weiß, da sich diese Person mit der identischen Frage vor xy Stunden sowieso schon selber befasst hat. Falls keiner aus der Gruppe die Antwort hat, kann man noch immer die Suchmaschine anwerfen.
 
Wenn die faulen Blagen ihre Hausaufgaben selbst machen würden, statt nur vom Klassenprimus abzuschreiben, dann hätte Deutschland auch keinen (angeblichen) Fachkräftemangel.

Natürlich lohnt es sich, jemanden direkt zu fragen, der ebenfalls gerade an dem Problem arbeitet. Aber wie stellst du dir das vor? Wer vergibt bei dir die Aufgaben?
Wirkliche Lerneffekte erzielt man nur mit extrem praxisnahen Anforderungen, also Software, die auch tatsächlich eingesetzt wird oder werden könnte. Konstruierte Fälle laufen meist auf ein total realitätsfremdes Standard-Schema hinaus, das du wunderbar mit Google lösen kannst, da der Tutor auch nur Google verwendet hat, um das Problem zu konstruieren.


Oder mal ein realistisches Beispiel:
Ich hätte durchaus Interesse daran, mich mal mit Ruby bzw. RoR zu befassen. Genauso würde ich mir gern Node.JS mal genauer ansehen. Warum? Weil wir unter Umständen Problemstellungen in der Firma haben könnten, die sich mit solchen Mitteln eleganter lösen lassen als mit PHP.
Was müsste ich nun tun, um wirklich mal Ruby zu lernen? Tja... ich bräuchte nur ein interessantes Projekt und Zeit, um mich mit der Syntax und üblichen Konzepten vertraut zu machen. Ich muss nicht "programmieren" lernen. Wozu auch? Programmieren ist in erster Linie Algorithmierung und Datenmanagement. Da hab ich mehr als genug praktische Erfahrung. Programmiert wird im Zweifel mit Pseudo-Code oder einem Programmablaufplan.

Sag mir mal, welchen exakten Nutzen deine Kurse jetzt hätten.
 
Nun gut, dann vergessen wir für kurze Zeit das Wort "programmieren". Nennen wir es: diverse sinnvolle Konzepte der Softwareentwicklung.

Stelle dir vor es würde den folgenden Kurs geben:

# Erhalte eine strukturierte Einführung in Ruby on Rails innerhalb von 7 Stunden anhand von 3 praxisnahen Anwendungen

Nur zum Verständnis: Nicht ich oder eine andere spezielle Person erstellt die Kurse, sondern die "Community". Hat sich eine Gruppe schon durch eine Thematik durchgekämpft, dann kannst du deren Kurs einfach wieder für einen nächsten Termin vorschlagen/starten. Ihre "Unterlagen" sind ja an den "Kurs" gebunden. Gibt noch keinen Kurs zu einem Thema was dich interessierst, dann startest du nach dem folgenden Motto: Suche n-Leute, die in den nächsten 2-3 Wochen sich mit praktischen Beispielen und einer Einführung in Ruby on Rails beschäftigen wollen. Optionaler Treffpunkt jeden Montag, Mittwoch, Sonntag von 19:00-open end im chatRoom 1337.

Wer würde Fragen stellen um das Wissen zu überprüfen?
Sinnvolle Fragen können "upgevotet" werden und der Ersteller bekommt "Bonuspunkte".

Woher würde man 3 praxisnahe Anwendungsbeispiele erhalten?
Von Entwicklern die Ruby on Rails sehr schätzen und aus Spass und Freude einen kurzen Einblick in ihre Arbeit bzw. Erfahrung gewähren, damit andere Entwickler auch in den Genuss von RoR kommen können.


btw, ich habe selber vor ein paar Tagen mit Node.js angefangen. Bin gerade soweit mich an die ersten WebSocketsbeispiele mit Socket.io zu wagen. Weißt du wie überragend es wäre, wenn ich jetzt mit Leuten, die einen ähnlichen Wissensstand (oder einen tick mehr) haben, 30 Minuten unterhalten könnte?? In diesen 30 Minuten würde ich sicher mehr lernen, Horizont erweitern und was weiß ich erhalten als ich in den nächsten 5 Stunden durch tutorials durchackern bekommen werde.
 
Das Problem für diese anderen Leute ist es aber meist, dass die in den 30 Minuten entweder selbst nichts wissen oder dir bestehende Dokumentation nochmal neu vorkauen müssen.

Den Weg, den einige Onlinekurse gehen finde ich nicht so schlecht:
Theorieeinheit, Praxisbeispiel dazu und zu jeder Einheit ein eigenes Forum. Somit kann man sich Antworten mit der Zeit selber suchen, die besten Lösungen anpinnen etc. - allerdings nicht so geeignet um kreativ zu werden (z.B. "programmiere irgendeine Software mit node.js") sondern eher als Einstieg bzw. spezifischer Lerninhalt (z.B. sortierte Liste).
 
Das Umfrageergebnis bestätigt wohl das Vorurteil, dass Programmierer alle unsoziale Kellerkinder sind. :)

Gemeinsam in der Gruppe lernen klingt für mich nach vielen Leuten mit wenig Ahnung. Da sehe ich nur sehr wenig Potenzial, es sei denn es ist ein Naturtalent dabei, das den lahmen Rest mitschleift.

Zum Programmieren braucht es viel Erfahrung und die kommt eben durch Praxis, Fehler machen, daraus lernen und sich nach besseren Lösungen orientieren, statt sich zufrieden zu geben. Dabei beschleunigt es unheimlich den Lernprozess, wenn man Kontakte (z.B. erfahrenere Kollegen) hat, die einen schnell aufschlauen können. An der Stelle sehe ich die "Gruppe" also durchaus als sinnvoll an, aber ich glaube so war das hier nicht gemeint.
 
Zuletzt bearbeitet: (typo)
Tumbleweed schrieb:
Das Umfrageergebnis bestätigt wohl das Vorurteil, dass Programmierer alle unsoziale Kellerkinder sind. :)
Pft. So gut gefüttert wie das Forum hier ist KÖNNEN wir nicht vollkommen asozial sein. Wir mögen nur unsere Individualität.
 
TE: Wenn Du von der Idee überzeugt bist (und das scheinst Du zu sein - wozu dann eigentlich die Umfrage?), initiiere doch einfach mal so eine Lerngruppe. Sollte nicht allzu schwer sein, im örtlichen Bürgerhaus o.ä. unterzukommen. Und wenn es gratis ist, werden auch genügend Teilnehmer vorhanden sein.
 
Die "Treffen" sind nicht in der realen Welt, sondern online im Forum, Chat oder Teamspeak.
Die Umfrage habe ich nur gemacht um schnelles feedback zu erhalten, aber wesentlich interessanter wäre gut fundierte Kritik oder Anregungen. Ein großer Schwachpunkt der Idee scheint es wohl zu sein, dass ich diese nicht richtig kommuniziert habe und sich sehr viele gar nicht den Ablauf vorstellen können.

Das Umfrageergebnis bestätigt wohl das Vorurteil, dass Programmierer alle unsoziale Kellerkinder sind. :)

Gemeinsam in der Gruppe lernen klingt für mich nach vielen Leuten mit wenig Ahnung. Da sehe ich nur sehr wenig Potenzial, es sei denn es ist ein Naturtalent dabei, das den lahmen Rest mitschleift.

Was heißt da mitschleifen? Warum sollte sich jemand mitschleifen lassen wenn er gerne mit Spass etwas lernen möchte?? Du meldest dich ja freiwillig an, machst freiwillig mit, da dich XY interessiert. Das ist keine Schule wo du gezwungen wirst Hausübungen zu lösen und diese dann benotet werden...

Und natürlich sind die Kursteilnehmer Leute mit wenig Ahnung. Das ist ja die ganze Pointe!!!! Da kennt sich keiner aus, bis auf den Betreuer. Sie sind in dem Kurs um den Stoff zu lernen!
 
Online sollte es ja noch einfacher sein, einen Testlauf zu starten. Thread bei CB erstellen, vielleicht wird er sogar sticky gemacht, Technik auswählen und verteilen und los geht's..
 
Interessieren würde es mich definitiv. Ich bin nun mehr oder weniger blutiger Anfänger in der Welt der Programmierung (wenn ich das so nennen darf, ohne gleich erschossen zu werden). Besuche zudem die Schule (Fachgymnasium 12. Klasse Fachrichtung: Elektrotechnik) und habe dementsprechend nach der Schule relativ wenig Elan noch irgendetwas zu lernen, bin hingegen am Wochenende meist sehr gewillt, mal was zu machen, setze es dann aber nicht um, dass Pflichtgefühl fehlt mir da auch einfach. Mein Ziel ist es auf jeden Fall mal eine Programmiersprache zu beherrschen - ich möchte ja auch mal als FIAE oder, wenn ich mich doch noch zum studieren entscheide, irgendetwas anderes in diese Richtung machen (da eröffnen sich dann ja einige Wege so wie ich das mitbekommen habe).
Ich würde jetzt also sehr gerne mit Java anfangen, weil ich denke, dass ich damit recht gut zurecht komme und man damit auch durchaus etwas erreichen kann und relativ schnell gewisse Sachen realisieren kann.

Wenn ich nun also dieser Gruppe beitreten würde... ängstlich, schüchtern und unerfahren... mich also echt traue auf den TS zu kommen und mir dann von meinem Berater dieses Pflichtgefühl geben lasse... meint ihr, dass geht gut? Also so wie ich mich kenne, komme ich irgendwann einfach nicht mehr aufs TS und die Sache ist für mich gegessen. Dieses Pflichtgefühl verschafft bei mir auch nur jemand, der mir sympatisch ist, den ich somit auch etwas beeindrucken oder 'beweisen' möchte, oder es is nen Lehrer... wobei die das auch nicht immer schaffen (wenn ich da so an nen paar inkompetente Personen denke...).

Eine Plattform wie ein Forum oder sowas, wäre aber echt cool, ich denke, da würde ich auch öfters mal vorbei schauen.
 
Brocken95 schrieb:
Also so wie ich mich kenne, komme ich irgendwann einfach nicht mehr aufs TS und die Sache ist für mich gegessen.
Die Gefahr, dass langsamere Leute auf der Strecke bleiben, weil die schnelleren voller Euphorie den Rest zurücklassen, ist wohl auch sehr groß. Wer soll denn da die Gruppen zusammenhalten? Auf so viel Sozialkompetenz würde ich bei zufällig zusammengefundenen Gruppen nicht hoffen. Da würden sich wohl elitäre Grüppchen herausbilden.
Auch könnte die Kontinuität fehlen, wenn ständig einzelne Leute zur Gruppe stoßen oder wegbleiben, egal ob wegen mangelndem Interesse oder zeitlichen Problemen.
 
Eben, das übliche Problem des inneren Schweinehunds steht der Idee doch stark im Wege. Nicht jeder leidet darunter, aber viele. Ob genügend Immune übrig bleiben ist die Frage.
Ich für meinen Teil wäre auch so ein Kandidat. Während meiner Arbeitszeit erweitere ich ständig meine Kenntnisse in HTML5, CSS3, JS und PHP, einfach weil ichs brauche. Ich lern auch permanent etwas mehr darüber, was das Feintuning von Servern angeht, heut hab ich z.B. gelernt wieso bei einer MySQL Fulltext-Suche (MATCH AGAINST IN BOOLEAN MODE) nach dreistelligen Keywords (z.B. EUR, GBP, USD,...) keine Ergebnisse kommen. Sobald ich aber Urlaub habe und eigentlich endlich auch mal Zeit hätte, etwas abseits meines direkten Aufgabengebiets zu lernen, z.B. Ruby, Perl oder Python, hakts aus. Dann häng ich doch lieber irgendwo ab, süffel ein kühles Blondes und drück mit Gitarren-Geschrammel auf die Ohren.
 
Zurück
Oben