Programmieren selber bei bringen?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
xRevu
User
Beiträge: 4
Registriert: Montag 3. März 2014, 10:34

Hey Leute ich hab mal eine frage und zwar kann man Programmieren aus dem Internet und durch Bücher lernen also ohne das man Studiert? Seit einigen Wochen versuche ich Python zu lernen hab mir Bücher gekauft und versuch es auch aus dem Internet zu lernen uns es läuft sehr gut ich verstehe alles und versuche es auch umzusetzen, hatte auch keine Schwierigkeit rein zu kommen.
anogayales
User
Beiträge: 456
Registriert: Mittwoch 15. April 2009, 14:11

Du hast doch deine Frage gerade selbst beantwortet.

Man muss nicht studieren um programmieren zu lernen.

Grüße,
anogayales
xRevu
User
Beiträge: 4
Registriert: Montag 3. März 2014, 10:34

:D Danke für deine antwort. hast schon recht, wollte jedoch eure meinungen hören wie ihr das denkt ob es geht oder nicht.
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

xRevu hat geschrieben:Hey Leute ich hab mal eine frage und zwar kann man Programmieren aus dem Internet und durch Bücher lernen also ohne das man Studiert?
Was glaubst du, wie wir vor 30 Jahren beim C=64 das Programmieren gelernt haben? Bücher, Zeitschriften und ganz besonders wichtig: Ausprobieren.
BlackJack

Wobei ich mir gerade wieder mal ein eigenes Programm aus der Zeit angeschaut habe, und da fehlte mir eindeutig Wissen und Erfahrung aus der Softwaretechnik die damals nicht in den Büchern und Zeitschriften vermittelt wurden. :-) Teilweise eher im Gegenteil, damals war es noch schick alles so kurz und ”clever” wie möglich zu formulieren. Das rächt sich wenn man 25 Jahre später wieder in den Quelltext schaut. :-)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

xRevu hat geschrieben:kann man Programmieren aus dem Internet und durch Bücher lernen also ohne das man Studiert?
Natürlich, wie denn sonst? Beim Studium wird einem Programmieren nicht beigebracht.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
snafu
User
Beiträge: 6732
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

BlackJack hat geschrieben:Wobei ich mir gerade wieder mal ein eigenes Programm aus der Zeit angeschaut habe, und da fehlte mir eindeutig Wissen und Erfahrung aus der Softwaretechnik die damals nicht in den Büchern und Zeitschriften vermittelt wurden. :-)
Würde ich nämlich auch sagen. Man kann zwar im Selbststudium lernen, relativ kleine Programme zu schreiben. Für große Projekte und ordentlichen Code (gerade für nicht-triviale Aufgaben) braucht es aber häufig ein Wissen über bestimmte Hintergründe, welches durch das häppchenweise Aufschnappen von Online-Tutorials und Code-Beispielen in aller Regel nicht erlangt werden kann. Der Umkehrschluss gilt allerdings nicht unbedingt: Es gibt ja reichlich Informatiker, die trotzdem beschissene Programme schreiben... ;)
Benutzeravatar
snafu
User
Beiträge: 6732
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Leonidas hat geschrieben:
xRevu hat geschrieben:kann man Programmieren aus dem Internet und durch Bücher lernen also ohne das man Studiert?
Natürlich, wie denn sonst? Beim Studium wird einem Programmieren nicht beigebracht.
Das stimmt nur bedingt. Denn Einführungsmodule für Programmiersprachen vermitteln ja durchaus gewisse Programmiertechniken. Die Umsetzung zu einem kompletten Programm muss man natürlich im Selbststudium machen. Und in aller Regel reichen aber die in den Vorlesungsunterlagen vermittelten Kenntnisse nicht aus, um völlig ohne jede Vorerfahrung tatsächlich Programme schreiben zu können (auch wenn gerne mal das Gegenteil behauptet wird), was durchaus frustrierend für Anfänger sein kann. Ich würde aber trotzdem sagen, dass man mit einem abgeschlossenem Studium tendenziell mehr Wissen und bessere Fertigkeiten beim Programmieren erlangt hat als ohne Studium.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

snafu hat geschrieben:Ich würde aber trotzdem sagen, dass man mit einem abgeschlossenem Studium tendenziell mehr Wissen und bessere Fertigkeiten beim Programmieren erlangt hat als ohne Studium.
Ich würde hier ein wenig differenzieren. Mit dem Zusammensammeln von Onlinetutorials wird sicher niemand besonders weit kommen, zumindest muss am Ende etwas theoretischeres Material stehen. Viele von den Selbstlernen enden wahrscheinlich irgendwo bei OOP, damit lassen sich die meisten Probleme auch erschlagen. Bei grob vorgegebenem Lösunsweg kommen da wahrscheinlich recht brauchbare Lösungen raus, auch wenn diese mitunter umständlicher gelöst sind als notwendig.

Ab einem gewissen Level geht es meiner Meinung dann nicht mehr ohne Studium. Alleine deshalb, weil so viele Themengebiete angeschnitten werden, auf die die meisten alleine wohl nie stoßen würden. So nach dem häufigen Motto: Funktionale Programmierung kann ich, ich benutze doch Funktionen. Aber irgendwann geht es ohne gewisse theoretische Hintergründe und einen ordentlichen Batzen an Mathematik nicht mehr. Zumindest nicht dann, wenn recht offene Probleme mit einem nicht-vorgegebenen Lösungsweg gelöst werden müssen.

Klar, es gibt sicherlich für beide Richtungen (die mit Studium und die ohne) Ausnahmen.
Das Leben ist wie ein Tennisball.
Benutzeravatar
snafu
User
Beiträge: 6732
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

@EyDu: So in etwa meinte ich das auch. Du hast es aber nochmal anschaulicher ausformuliert. Danke dir. :)
BlackJack

Die Frage ist vielleicht auch ein wenig was man als Studium ansieht. Ich denke man kann durchaus ohne in einer Uni oder Fachhochschule eingeschrieben zu sein, ein guter Programmierer werden. Es gibt ja zum Beispiel immer mehr Online-Kurse, auch von Universitäten und zum Teil kostenlos, wo man auch Dinge lernen kann, die über die übliche Einsteigerliteratur zu Programmiersprachen für „Laien” hinaus geht.

Und ein Hochschulstudium macht keinen automatisch zum guten Programmierer. Vor allem auch weil das Erfahrung braucht, und die kann man nicht ausschliesslich mit kleinen in sich geschlossenen Übungsaufgaben erwerben und vielleicht einem oder zwei etwas grösseren Projekten. Ich kenne sowohl Absolventen die gute Programmierer sind, als auch welche die eher schlechte Programmierer sind, und auch gar keine Freude am Programmieren haben.
xRevu
User
Beiträge: 4
Registriert: Montag 3. März 2014, 10:34

Also man kann schon eine sprache im internet lernen. Jedoch kann man sichnnicht viel wissen aneignen als in einem studium? Hab ich es richtig verstanden
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

xRevu hat geschrieben:Also man kann schon eine sprache im internet lernen. Jedoch kann man sichnnicht viel wissen aneignen als in einem studium? Hab ich es richtig verstanden
Ich weiß ja nicht genau wie du dir ein Studium vorstellst, aber darin kommt sehr viel Eigenarbeit vor. Natürlich können dir Vorlesungen einen gewissen Hintergrund und neue Ideen geben, aber im Endeffekt musst du dann doch selber lernen.

Um es an einem praktischen Beispiel zu sagen: Um so etwas wie Facebook zu bauen brauchst du kein Studium. Um es flexibel genug zu bauen und zu betreiben brauchst du allerdings Wissen das über die reine Beherrschung der Syntax einer Programmiersprache hinausgeht und so etwas kann man u.a. in einem Studium lernen.
JonasR
User
Beiträge: 251
Registriert: Mittwoch 12. Mai 2010, 13:59

Gibt übrigens auch eine "Ausbildung zum Programmierer". Heißt Fachinformatiker Anwendungsentwicklung
Benutzeravatar
pillmuncher
User
Beiträge: 1483
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

Ich habe nicht studiert. Ich habe nicht mal Abitur. Mein Mittlere-Reife-Zeugnis ist schlechter als 3.0. Meine Mathe-Note war eine 3, und das nur, weil ich sie durch die Abschlussprüfung retten konnte.

Ich halte mich nicht für einen Superprogrammierer, bloß für einen brauchbaren. Als solcher habe ich studierte Programmierer gesehen, die Concurrency, Design Patterns oder funktionale oder logische Programmierung nicht mal ansatzweise verstanden haben. Leute, die die mathematischen Grundlagen unserer Zunft (also insbesondere Diskrete Mathematik, abstrakte Algebra und mathematische Logik) nicht wirklich kannten. Die nicht mal in der Lage waren, die Zeitkomplexität der von ihnen programmierten Algorithmen zu bestimmen.

Natürlich habe ich auch sehr gute Programmierer kennengelernt. Mein Eindruck war allerdings, dass ein absolviertes Informatikstudium kein Indiz für die Programmierfähigkeiten einer Person sind. Manche von den sehr guten Programmierern waren ausgebildete Informatiker, manche waren E-Techniker, Physiker oder Maschinenbauer, einer war ein Doktor der Philosophie, eine war Linguistin. Andere waren, so wie ich, Autodidakten.

Mein Fazit: mit Interesse, Fleiß, Hirnschmalz, etwas Talent und vor allem Disziplin kann man sehr weit kommen in unserem Beruf. Ein Informatikstudium schadet nicht, aber ohne die genannten Eigenschaften hilft es auch nicht.

Außerdem: was /me gesagt hat. Für Facebook braucht man Graphentheorie, und man muss wissen, wie man auf Graphen operierende Algorithmen so auf zigtausende Maschinen verteilt, dass man Freunde von Freunden nicht erst in hundert Jahren findet.
In specifications, Murphy's Law supersedes Ohm's.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

snafu hat geschrieben:Das stimmt nur bedingt. Denn Einführungsmodule für Programmiersprachen vermitteln ja durchaus gewisse Programmiertechniken.
Ich weiß ja nicht wie es bei dir war, aber ich wäre völlig erstaunt wenn bei meinen Einführungsvorlesungen nach dem Semester irgendwer programmieren hätte können in einem Umfang der über "Tutorial lesen und selbst ausprobieren" hinaus geht. Mehr als ein grundlegendes Verständnis von der Syntax und in etwa der Semantik wird da nicht gefordert. Die Klausur beinhaltet Code auf Papier schreiben, in einer Syntax die nicht 100% stimmen muss. An keiner Stelle wird jemals ein funktionsfähiges Programm gefordert. Man kann durch das komplette Bachelorstudium ohne programmieren zu können und ich denke ein guter Anteil der Absolventen würde mit einfachen Aufgaben nach 6 Semestern Schwierigkeiten haben.

Und das wäre allein die Syntax und simple Programme. Von moderner Programmierpraxis wie sinnvoller Modellierung, Refactoring, Dokumentation, Versionsverwaltung, etc. komplett zu schweigen. Das muss man sich selbst beibringen und kommt mit Erfahrung. Für Erfahrung ist in den paar Vorlesungswochen nicht genug Zeit, also muss man selbst Zeit reinstecken. Also ob man jetzt nen didaktisch vielleicht guten, vielleicht weniger guten Vortrag hört, wie if Funktioniert kann man meiner Meinung auch ein didaktisch brauchbares Buch lesen.

Den Vogel abgeschossen hat eine Vorlesung die C-Kenntnisse vorrausgesetzt hat, ohne dass C gelehrt wurde. Ich würde auch nicht sagen dass der Schritt von Java nach C so trivial wäre, dass ein Student das mal eben als Vorbereitung macht. Typischer Beweisanfang: Man nehme an der Student könne C…
snafu hat geschrieben:Ich würde aber trotzdem sagen, dass man mit einem abgeschlossenem Studium tendenziell mehr Wissen und bessere Fertigkeiten beim Programmieren erlangt hat als ohne Studium.
Hängt von der Person ab. Man wurde vielleicht mit mehr Theorie in Kontakt gebracht, was man vielleicht nicht von selbst gelernt hätte, aber unterm Strich kann man sich in kürzerer Zeit mehr relevante Dinge beibringen, als Autodidakt. Da halte ich es ähnlich wie pillmuncher. Wichtig ist halt die Motivation was zu lernen und sich zu verbessern. Wenn man mit der Prämisse "it runs, ship it" (oder bei Haskell "it compiles, ship it" *g*) ran geht, dann hilft einem auch das Studium nicht. BlackJack bringt aber da auch einen guten Punkt: es gibt immer mehr Material zum Selbststudium und dieses wird auch immer besser.

Wie das als Fachinformatiker aussieht, da habe ich keine Ahnung. Vielleicht wird einem da sowas beigebracht, aber ich denke jemandem ordentlich Programmieren beibringen ist nun einmal schwer und langwierig. Viele der Forums-Regulars sind ja hier auch schon Jahre und wissen ja wie das manchmal aussieht :-)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
snafu
User
Beiträge: 6732
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Leonidas hat geschrieben:
snafu hat geschrieben:Das stimmt nur bedingt. Denn Einführungsmodule für Programmiersprachen vermitteln ja durchaus gewisse Programmiertechniken.
Ich weiß ja nicht wie es bei dir war, aber ich wäre völlig erstaunt wenn bei meinen Einführungsvorlesungen nach dem Semester irgendwer programmieren hätte können in einem Umfang der über "Tutorial lesen und selbst ausprobieren" hinaus geht. Mehr als ein grundlegendes Verständnis von der Syntax und in etwa der Semantik wird da nicht gefordert. Die Klausur beinhaltet Code auf Papier schreiben, in einer Syntax die nicht 100% stimmen muss. An keiner Stelle wird jemals ein funktionsfähiges Programm gefordert. Man kann durch das komplette Bachelorstudium ohne programmieren zu können und ich denke ein guter Anteil der Absolventen würde mit einfachen Aufgaben nach 6 Semestern Schwierigkeiten haben.
Ist bei uns anders. Wir mussten von Anfang an regelmäßig Programme in Form von Hausarbeiten abgeben (zum Teil wöchentlich). Ab dem zweiten Semester waren schon etwas anspruchsvollere Aufgabe wie etwa die Verwaltung für eine Autovermietung gefordert (nur auf's Handling der Vermietungstermine und Beachtung der Standorte des Mietwagens beschränkt, aber immerhin). Und ab dem dritten Semester ging's los mit kleinen Web-Auftritten (Webseite für fiktive Bewerbung mit späteren Arbeitgebern), Programmierung von Konvertern von einem XML-Format ins andere, Programmierung der Datenbank-Anbindung für eine vorgegebene GUI-Schnittstelle, etc. Also ich habe jetzt den Vergleich zu anderen Hochschulen nicht, aber ich finde schon, dass man bei uns im Studium so nach und nach auf größere Projekte eingestimmt wird. Es gehen zwar nicht zwangsläufig Top-Programmierer hervor, aber ich bin recht sicher, dass der Großteil von uns spätestens als Absolvent auch tatsächlich Programmieren kann.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

snafu hat geschrieben:Wir mussten von Anfang an regelmäßig Programme in Form von Hausarbeiten abgeben (zum Teil wöchentlich). Ab dem zweiten Semester waren schon etwas anspruchsvollere Aufgabe wie etwa die Verwaltung für eine Autovermietung gefordert (nur auf's Handling der Vermietungstermine und Beachtung der Standorte des Mietwagens beschränkt, aber immerhin). Und ab dem dritten Semester ging's los mit kleinen Web-Auftritten (Webseite für fiktive Bewerbung mit späteren Arbeitgebern), Programmierung von Konvertern von einem XML-Format ins andere, Programmierung der Datenbank-Anbindung für eine vorgegebene GUI-Schnittstelle, etc.
Ja, das ist bei euch also deutlich anders. Ich würde sagen, dass das deutlich eher dazu beiträgt dass man danach einigermaßen programmieren kann.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
bfm
User
Beiträge: 88
Registriert: Donnerstag 14. März 2013, 09:42

Hallo zusammen,

sich das Programmieren selber beizubringen hat halt den entscheidenden Nachteil, dass niemand da ist, der sich mal die "Ergebnisse" anschaut und ggfs mal korrigierend eingreift. Man arbeitet Anleitungen, Tourtorial usw durch, teilweise in Englisch und fragt sich dann manchmal: "Was will der (Autor) da von mir?". Im einen Tourtorial ist es "links" rum beschrieben, im anderen wieder "rechts" rum. In einem Tourtorial im Internet kann man halt lesen, aber keine Fragen stellen, wenn man es nicht versteht. Und letztendlich muss man auch verstehen, wieso etwas jetzt gerade so funktioniert und nicht anders oder warum das gerade so gemacht wird und nicht so. Mit einfach machen Hauptsache es funktioniert, kommt man irgendwann an eine Grenze, wo dann nichts mehr geht.

In der Schule oder im Studium hat man Lehrer, Dozenten, Profs, Mitschüler, Studienkollegen, die man bei Problemen fragen und mit denen man sich auch austauschen kann.
Aber auch hier kommt es auf die Lehrer/Dozenten/Profs drauf an, welches Engagement die an den Tag legen. Stoff erarbeiten, Klassenarbeit/Klausur/Projekt, Notengebung und Job erledigt.

Meiner Meinung nach ist so eine Klassenarbeit/Klausur/Projekt eigentlich dazu da, um zu prüfen, ob die Lernenden den Stoff verstanden haben. Wenn nicht ==> Wiederholung. Aber in dieser Hinsicht gab es bei mir in der Schule schon erhebliche Unterschiede bei den Lehrern. Den einen war es egal, bei den anderen hat man auch schon mal eine Klassenarbeit in zwei Schulstunden nochmals durchgesprochen und den Stoff wiederholt.

Ich bin kfm. Angestellter und bringe mir Python in der Freizeit bei. Ursprünglich zum Privatgebraucht, aber zwischenzeitlich immer mehr auch für die Firma. Ich bin da immer ganz froh, wenn ich zu Problemen auch mal unsere Programmiererin in der IT fragen kann. Die hat einiges drauf und kann auch "schwere Kost" gut verdaulich erklären.

bfm
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

bfm hat geschrieben:sich das Programmieren selber beizubringen hat halt den entscheidenden Nachteil, dass niemand da ist, der sich mal die "Ergebnisse" anschaut und ggfs mal korrigierend eingreift. Man arbeitet Anleitungen, Tourtorial usw durch, teilweise in Englisch und fragt sich dann manchmal: "Was will der (Autor) da von mir?". Im einen Tourtorial ist es "links" rum beschrieben, im anderen wieder "rechts" rum. In einem Tourtorial im Internet kann man halt lesen, aber keine Fragen stellen, wenn man es nicht versteht. Und letztendlich muss man auch verstehen, wieso etwas jetzt gerade so funktioniert und nicht anders oder warum das gerade so gemacht wird und nicht so.
Mit selbst lernen hat niemand gemeint dass man Einsiedler werden sollte. Das Internet existiert und es gibt zu nahezu jeder halbwegs relevanten Sprache mindestens eine Community bei der man Fragen stellen kann sowie Code-Reviews bekommt oder Tipps. Nicht zuletzt auch dieses Forum. :-) Ich habe hier auch viel Python gelernt, in meiner Anfangszeit. Einfach durch Fragen stellen, aber auch durch Fragen beantworten sowie einfach Threads zu lesen.
bfm hat geschrieben:In der Schule oder im Studium hat man Lehrer, Dozenten, Profs, Mitschüler, Studienkollegen, die man bei Problemen fragen und mit denen man sich auch austauschen kann.
Richtig, aber oftmals ist da ein "funktioniert" schon ausreichend, weil Professoren eh keine Zeit haben und Tutoren auch nur bedingt viel Freizeit opfern wollen. Kommilitonen sind in der Regel auf einem ähnlichen Stand wie man selbst, da lohnt es sich eher "erfahrene" Leute zu fragen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten