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.
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: 6740
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
Benutzeravatar
pillmuncher
User
Beiträge: 1484
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

Außerdem gibt es genügend OSS Projekte, wo man sich den Code ansehen und davon lernen kann.
In specifications, Murphy's Law supersedes Ohm's.
Dami123
User
Beiträge: 225
Registriert: Samstag 23. Februar 2013, 13:01

@bfm
Da liegst du leider wesentlich daneben.
Gerade jeder der eine Frage hat veröffentlicht diese im Internet. Dazu würde es auch ursprünglich ausgebaut, Informationsaustausch. Von Anfang an dabei Universitäten, Studenten.
Und jetzt hast du als Student die Möglichkeit mit mir einen weiteren Studenten zu kommunizieren und Informationen zu erlangen, indem du eine Frage gestellt hast.
Wie viele Leute haben auf diesen Beitrag geantwortet? Wie viele Leute stellen hier fragen und bekommen mehr als ausführliche Antworten?
Google, IRCs, Maillisten, Plattformen... soviele Fragen so viele Antworten, schwierig, dass du da nichts finden wirst.

Die Tutorials sind dazu da, dass du die Grundkenntnisse lernst. Mit den Grundkenntnissen kannst du dann deine eigenen Lösungen für Aufgabenstellungen finden. Wenn du die Grundkenntnisse aber nicht beherrscht, kannst du keine brauchbare oder im schlimmsten Fall gar keine Lösung prgrammieren.
Automatisatot
User
Beiträge: 7
Registriert: Dienstag 4. März 2014, 13:48

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?
ja, das kannst Du... ich finde die Tutorials auf Deutsch, schrecklich! ständig wird zahlen oder Autos(um Objektorientiert zu begreifen) als Beispiel genommen... in der Praxis (zb. in GUI Programmierung) kommt man dann langsam voran...(ist aber nur meine Erfahrung).
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.
Du vl. nicht, doch andere schon, so zb. ich... der sich als Python Anfänger fragt, warum bloß die Codes-Besipiele nicht so einfach, wie die (zb.) von Autoit oder Perl, PHP etc. präsentiert werden... und dann noch meistens Objektorientiert, muss das sein? nein muss es nicht! vieles wird Prozedural verständlicher als Objektorientiert... man erstellt Classen, welche im Fall X/Y nicht sein müssen, als Anfänger lernt man dann mehr Zeilen zu schreiben als es nötig ist.... ist nur meine Meinung.
BlackJack

@Automatisatot: In der Praxis benötigt man Zahlen, Mathematik, und Objektorientierung. GUI ist nur ein kleiner Teil der „Praxis”, zudem kein interessanter Teil. Und vor allem braucht man für GUIs Klassen. Du widersprichst Dir da also selber. Und bevor man zu GUIs kommt, wäre es besser OOP schon zu beherrschen, denn sonst kommen OOP und ereignisorientierte Programmierung auf einmal auf einen zu, was beides für sich genommen etwas ist was man erst einmal verstehen und anwenden lernen muss.

Bei Python sehe ich auch nicht, dass man dort dazu ermuntert wird unnötig Klassen zu schreiben.

Und das es nicht so tolle und viele Beispiele wie für PHP gibt, ist wahrscheinlich gut, denn die sind oft von fragwürdiger Qualität und werden von Leuten irgendwie in ihre Programme verbastelt die eigentlich gar keine Ahnung haben was sie da tun.

Bei Perl-Beispielen muss man auch aufpassen wie alt die sind, also ob das idiomatisches, modernes Perl ist vom Stil her, oder aus Zeiten oder von Leuten stammt die „um so kürzer und cleverer desto besser” als Wahspruch haben.
Dami123
User
Beiträge: 225
Registriert: Samstag 23. Februar 2013, 13:01

Kann BlackJack da nur zustimmen. GUI Anwendungen zu schreiben um OOP zu lernen oder ganz ohne OOP Kenntnisse ist im nachhinein betrachtet ein schreckliches Unterfangen :D
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

BlackJack hat geschrieben:GUI ist nur ein kleiner Teil der „Praxis”, zudem kein interessanter Teil.
Dem stimme ich definitiv zu. Ich programmiere jetzt schon relativ lange in Python und habe bisher außer zu Experimentalzwecken keine klassische GUI-Anwendung geschrieben.
mcdwerner
User
Beiträge: 113
Registriert: Donnerstag 7. Juli 2011, 14:27

weil hier kurz der "Fachinformatiker Anwendungsentwicklung" gefallen ist und ich letztes Jahr diese Ausbildung abgeschlossen habe, hier kurz meine Eindrücke, was den Teil angeht, der in der Berufsschule stattfindet. Was im Betrieb passiert sicher auch sehr wichtig, ist seeehhhr individuell...
In der Berufsschule hatte ich den Eindruck "von allem ein bisschen, aber nichts wirklich tiefgehend". Das ist sicher in der Kürze der Zeit nicht anders möglich, bietet aber gerade den motivierten und interessierten Leuten (wie von pillmuncher erwähnt) einen guten Ausgangspunkt sich weiterentwickeln zu können.
Die eigene Persönlichkeit spielt sicher in jedem Beruf eine gewisse Rolle, nach meiner Erfahrung spielt sie als (guter!) Programmierer eine wesentlich größere Rolle als in anderen Berufen.

Meine persönliche Quintessenz:
Als Programmierer bringt es viel mehr "selber zu kauen" als alles vorgekaut zu bekommen. Man muss aber wissen was einem am Besten schmeckt und mit anderen Rezepte austauschen.

(Sorry, hab früher in der Gastronomie gearbeitet ; -)
mcdwerner
User
Beiträge: 113
Registriert: Donnerstag 7. Juli 2011, 14:27

BlackJack hat ja schon die Online-Kurse erwähnt, diesen hier halte ich für eine Perle:
https://www.coursera.org/course/optimization

informativ, spaßig, abhängig machend

Die erste Version dieses Kurses hab ich vor ein paar Monaten (erfolgreich 8) ) absolviert und werde die 2. Version zumindest verfolgen

Für alle, die in Zukunft diesen Thread ausgraben:
Leider läuft dieser Kurs zeitlich eingeschränkt nur bis ca. Mai/Juni 2014, es gibt aber immer wieder Nachfolger, einfach danach suchen ;-)
Antworten