Vorbereitung Studium
-
Einfach anfangen irgendeine der bekannteren Programmiersprachen zu lernen. Die Zeit reicht aus um sich auch OOP anzuschauen.
In meinem Jahrgang damals hatten die Leute ohne Vorerfahrung mit wenigstens einer Sprache die größten Probleme. Mathe kennt jeder von der Schule (wenn auch in anderer Form) aber die Denkweise beim Programmieren muss auch erstmal erlernt werden und das kann Zeit kosten. Unis sind nunmal keine Programmierkurse und nach kurzer Einführung muss man Aufgaben lösen.
LaksanSan schrieb:
Ich halte es jedoch für eine schlechte Idee, mich einfach blind an irgendeine Programmiersprache zu wenden, anzufangen Befehle auswendig zu lernen.
So ist das auch nicht. Der Einstieg in die Programmierung hat nur wenig mit auswendig lernen zu tun.
-
Ein wenig in die Programmierung reinschnuppern mit C++ anhand eines guten Buchs.
Der C++-Programmierer | ISBN: 3446438947 oder ähnlich gut sollte es schon sein.
Ohne gutes Buch lass den Versuch. Mal schauen, ob's dann sogar noch für Algorithmen | ISBN: 3868941843 und Programming Pearls | ISBN: 0201657880 reicht.
Ich halte es jedoch für eine schlechte Idee, mich einfach blind an irgendeine Programmiersprache zu wenden, anzufangen Befehle auswendig zu lernen.
Programmierenlernen ist was ganz anderes. Mathelernen ist ja auch nicht blindes Auswendiglernen von Zahlen. Alle Informatikthemen fielen mir leichter weil ich schon programmieren konnte. Bei der Systemanalyse hatte ich stets eine Richtschnur, weil ich wußte, was hinten rauskommt. Netzwerkprotokolle verstand ich besser, weil ich mir vorstellte, wie sie implementiert werden (gerade TCP/IP ist da genial). Und so weiter…
Falls englische Sprachkenntnisse hapern, schau lustige Serien ab jetzt auf englisch.
-
LaksanSan schrieb:
Ich halte es jedoch für eine schlechte Idee, mich einfach blind an irgendeine Programmiersprache zu wenden, anzufangen Befehle auswendig zu lernen.
Vielleicht kann mir jemand weiterhelfen... ich wäre natürlich bereit, mich mit c#, c++ java und co. zu beschäftigen, wenn mir das einer raten sollte.Für "Befehle" hat man beim Programmieren praktisch immer irgendeine Doku offen mit den Sachen die man braucht. Man lernt einiges auswendig, aber nur weil es nebenher passiert, nicht weil man es muss. Bei Prüfungen sieht das allerdings anders aus. Da wirst du schon ein paar Befehle wissen müssen, was aber gar kein Problem darstellt, wenn man sie schon öfter verwendet hat.
Es hilft auch ungemein ein Thema bereits informal angeschnitten zu haben, bevor man an der Uni mit Definitionen und Formeln um die Ohren gehauen bekommt.
Ich habe selber vor einem Jahr meinen Abschluss an der TU Dortmund gemacht. Die Hauptsprache zu Beginn des Studiums war Java, und ich denke nicht das sich daran inzwischen etwas geändert hat. Für C++ gibt es aber auch mindestens ein Tutorium, und wenn du dich später für Computergrafik und/oder Embedded Systems spezialisieren willst, wird es deutlich mehr.
-
LaksanSan schrieb:
Ich bin mir ziemlich sicher, dass diese Richtung genau das Richtige für mich ist, obwohl ich wenig bis keine Ahnung von Programmieren habe.
Ich programmiere seitdem ich neun bin. Als ich das Informatikstudium beendete, musste ich ein Praktikum machen. Das war für mich ein spannender Moment, denn hier entschied sich, ob ich 8 Stunden am Tag am Computer sitzen kann, 173 Tage im Jahr, für Aufgaben, die ich mir nicht ausgesucht habe.
Was macht Dich so sicher, wenn ich mit über 10 Jahren Programmiererfahrung vor dem Studium noch unsicher war? ^^
LaksanSan schrieb:
Ich habe schon von vielen Informatikern gehört, dass der Wille zum Lernen genüge, sofern auch Interesse für das Fach vorhanden ist. Es soll also möglich sein bei 0 anzufangen.
Ich war an einer FH, das Studium begann bei Null. Und das stimmte auch, die haben wirklich bei Null angefangen. Wir hatten montags Bruchrechnen und ich dachte, das hätte ich mir auch schenken können. Freitags waren wir dann bei Logarithmen, das fand ich dann schon ganz gut. Nach drei Wochen waren meine Mathevorkenntnisse dann soweit aufgebraucht (MatheLK).
Wir haben Delphi gelernt, dann mussten wir einen Linux-Treiber für eine PCI-Karte programmieren. Gut, das geht mit Delphi nicht, aber da wir offiziell programmieren konnten und die Programmiersprache nur ein Werkzeug ist, ist man da nicht weiter drauf eingegangen. Ich konnte C und C++ schon. Das war hilfreich, denn einen Linux-Treiber konnte ich nicht programmieren und das war die Aufgabe für's Labor, da wurde in der Vorlesung kein Wort drüber verloren. Während ich mich also mit Treiberprogrammierung beschäftigte, lernten andere C.
Wir haben dann später C++ gelernt mit allem drum und dran, einschließlich Templates, Mehrfachvererbung, Const-Correctness. Das war ein Vorlesungsblock, also 90 Minuten, mit Overhead-Folien, die der Dozent vorlas.
Ab da konnten wir offiziell C++ und haben anschließend Projekte damit umgesetzt. Auch da war hilfreich, dass ich C++ schon vorher konnte. Ich wusste zumindest, was wir nun können sollten. Ich gehe davon aus, dass andere da etwas Nachbereitung tätigen mussten.Die fangen wirklich bei Null an. Aber zumindest an meiner FH hast Du nach einer Woche soviel Stoff Dir selbst anzueignen, dass Du die Hälfte der Scheine lieber gleich weglässt, um bei der anderen Hälfte eine Chance zu haben. Im ersten Semester habe ich alle Scheine geschafft. Es war das einzige Semester, wo ich alle für das Semester geforderten Scheine geschafft habe. Und zumindet in meinem Umfeld war ich damit ziemlich erfolgereich.
LaksanSan schrieb:
Da ich jetzt noch 4-5 Monate nichts zu tun habe, wollte ich die Zeit nicht bei LeagueofLegends abspielen, sondern wollte wissen, mit was ich mich beschäftigen kann um den Einstieg in das Studium zu erleichtern.
Lerne Programmieren. Ich rate Dir zu C mit zügigem Übergang zu C++. Oder such Dir selbst was nach Deinen eigenen Kriterien aus.
LaksanSan schrieb:
Ich halte es jedoch für eine schlechte Idee, mich einfach blind an irgendeine Programmiersprache zu wenden, anzufangen Befehle auswendig zu lernen.
Es geht beim Programmieren nicht darum, viele Befehle auswendig zu können. C hat 32 Schlüsselwörter, die hat man schnell drauf. Spannend wird es, diese Schlüsselwörter in eine geschickte Reihenfolge zu bringen, so dass der Computer tut, was Du willst.
LaksanSan schrieb:
Vielleicht kann mir jemand weiterhelfen... ich wäre natürlich bereit, mich mit c#, c++ java und co. zu beschäftigen, wenn mir das einer raten sollte.
4-5 Monate Zeit - Was kann ich tun?
Viel, wenn Du die Zeit nutzt. Und wenn Du viel tust, wirst Du der Zeit auch viel Frust ertragen dürfen, denn Du lernst Programmieren nicht dadurch, dass Du etwas richtig machst, sondern dadurch, dass Du etwas falsch machst. Und man kann beim Programmieren sehr viel falsch machen. Je mehr Fehler Du lernst, herausfindest und verstehst, desto besser kannst Du Dein Problem um die Fallen herumschiffen und erfolgreich ans Ziel kommen.
Wenn Du in 4-5 Monaten einen Taschenrechner mit GUI in C oder C++ programmiert hast, der folgende beiden Aufgaben korrekt ausrechnet geb ich Dir ein High-Five:
a) 1+2*3
b) (1+2)*3Weil sowas gerne unterschätzt wird, stehen die Leute im Studium dann bei Null da und haben keine Vorstellung, wie sie solch ein Problem lösen können. Wenn Du das vor dem Studium schonmal selbst geschafft hast, hast Du entsprechend einiges an Vorsprung, was Dir auch hilft zu verstehen, was der Prof da vorne eigentlich erzählt.
PS: Du wirst in der Uni vermutlich mit Java konfrontiert. Warum empfehle ich dann C? C ist maschinennah und verlangt von Dir, dass Du die Maschine verstehst. Verstehst Du sie nicht, stürzt das Programm in der Regel ab: Klares Feedback, dass Du Deine Idee überdenken musst.
C ist klein, grundsätzlich gesehen sehr einfach und ziemlich kompromislos.
Ansonsten: C++ vs. Java
-
Xin schrieb:
Wenn Du in 4-5 Monaten einen Taschenrechner mit GUI in C oder C++ programmiert hast, der folgende beiden Aufgaben korrekt ausrechnet geb ich Dir ein High-Five:
a) 1+2*3
b) (1+2)*3*lach*
Da erwarte ich ein wenig mehr Fortschritt.
-
volkard schrieb:
Xin schrieb:
Wenn Du in 4-5 Monaten einen Taschenrechner mit GUI in C oder C++ programmiert hast, der folgende beiden Aufgaben korrekt ausrechnet geb ich Dir ein High-Five:
a) 1+2*3
b) (1+2)*3*lach*
Da erwarte ich ein wenig mehr Fortschritt.Es verlangt ein grundlegendes Verständnis von Datenstrukturen, er muss die Priorisierung darstellen können, braucht die Anbindung von Libraries, um die GUI zu gestalten und man braucht den entsprechenden Kleister, um das alles miteinander zu verbinden.
Es geht also auch schon in den Bereich von Software-Architektur.
Er muss sich in die IDE einarbeiten oder ein Make-Skript schreiben...
Und er muss gelegentlich mal Frust ablassen und wird in der Zeit nicht am Computer sitzen. ^^
Wenn man sich ausschließlich raussuchen lässt, was man für den Taschenrechner braucht, geht das schneller. Wenn er die Sachen raussucht, wird er auf dem Weg zum Taschenrechner mehr lernen.
Ich halte 4-5 Monate für realistisch, wenn man von Null kommt. Und wenn er nicht gerade top motiviert ist, sogar für herausfordernd.
-
Xin schrieb:
volkard schrieb:
Xin schrieb:
Wenn Du in 4-5 Monaten einen Taschenrechner mit GUI in C oder C++ programmiert hast, der folgende beiden Aufgaben korrekt ausrechnet geb ich Dir ein High-Five:
a) 1+2*3
b) (1+2)*3*lach*
Da erwarte ich ein wenig mehr Fortschritt.Es verlangt ein grundlegendes Verständnis von Datenstrukturen,
Ein rekursiver Abstiegsparser braucht genau 0 Datenstrukturen.
Xin schrieb:
er muss die Priorisierung darstellen können,
Dann würde er ja wie in den 60-er Jahren vorgehen.
Xin schrieb:
braucht die Anbindung von Libraries, um die GUI zu gestalten
Nu sind wir auf dem Nivau, in Word den Drucken-Knopf zu finden. Zum Glück halte ich GUI zunächst für irrelevant.
Xin schrieb:
und man braucht den entsprechenden Kleister, um das alles miteinander zu verbinden.
Jo, ein wenig nervt das.
Xin schrieb:
Es geht also auch schon in den Bereich von Software-Architektur.
Nö, beim besten Willen nicht. Es geht ein wenig in die Richtung gamecoding und das macht mir Angst.
Xin schrieb:
Er muss sich in die IDE einarbeiten oder ein Make-Skript schreiben...
Hoffentlich kann er schon Word, dann spart er siech viel Arbeit.
Xin schrieb:
Wenn man sich ausschließlich raussuchen lässt, was man für den Taschenrechner braucht, geht das schneller.
Dann nimmt er den neuen Struppi als Erstbuch, sein Taschenrechner ist wie immer drin und neuerdings auch GUI.
Xin schrieb:
Wenn er die Sachen raussucht, wird er auf dem Weg zum Taschenrechner mehr lernen.
Wenn er als Ziel den Taschenrechner hat, verschwendet er seine Zeit.
-
volkard schrieb:
Xin schrieb:
volkard schrieb:
Xin schrieb:
Wenn Du in 4-5 Monaten einen Taschenrechner mit GUI in C oder C++ programmiert hast, der folgende beiden Aufgaben korrekt ausrechnet geb ich Dir ein High-Five:
a) 1+2*3
b) (1+2)*3*lach*
Da erwarte ich ein wenig mehr Fortschritt.Es verlangt ein grundlegendes Verständnis von Datenstrukturen,
Ein rekursiver Abstiegsparser braucht genau 0 Datenstrukturen.
Wenn er den alleine mit Pointern auf den Eingabetext hinbekommt, hat er eine Datenstruktur, die ein (char ) enthält und eine Funktion, die die Länge des Tokens bestimmt, auf das eben dieses (char) zeigt.
Es ist eine einfache Datenstruktur, aber es ist eine. Und der darf man auch ruhig einen Namen geben und dafür ein struct drumrumschreiben. Und wenn er das Problem so lösen kann - als jemand, der Null Ahnung vom Programmierung hat - dann hat er in jedem Fall schon was gelernt.
volkard schrieb:
Xin schrieb:
braucht die Anbindung von Libraries, um die GUI zu gestalten
Nu sind wir auf dem Nivau, in Word den Drucken-Knopf zu finden. Zum Glück halte ich GUI zunächst für irrelevant.
Du findest das Anbinden von Librarys irrelevant? Oder dürfen nur Libs angebunden werden, die das volkard-Relevanz-Siegel erhalten haben?
Die GUI dient nicht dazu besonders relevant zu sein, sondern um sich mit Libraries zu beschäftigen und zwar in einer Form, wie es Anfänger in der Regel interessiert. Das sind gerne GUIs. Um GUIs irrelevant zu finden, muss man auch mal eine geschrieben haben, um zu erkennen, dass das, was man mit der GUI steuert, der relevante Code ist und man eine GUI bei Bedarf aus dem Ärmel schütteln kann.
Trotzdem ist die erste GUI immer auch ein sichtbares Erfolgserlebnis, weil das Fenster nunmal für den Normalsterblichen das Zeichen für ein laufendes Programm ist.
Spaß und Motivation sind vollkommen unabhängig davon, was Du oder ich als relevant empfinden.volkard schrieb:
Xin schrieb:
Es geht also auch schon in den Bereich von Software-Architektur.
Nö, beim besten Willen nicht. Es geht ein wenig in die Richtung gamecoding und das macht mir Angst.
Gamecoding? Ich verstehe die Aussage hier nicht. Ein Spiel ist eine stinknormale Anwendung?!
volkard schrieb:
Xin schrieb:
Er muss sich in die IDE einarbeiten oder ein Make-Skript schreiben...
Hoffentlich kann er schon Word, dann spart er siech viel Arbeit.
Der Gedanke, dass jemand sich in irgendetwas Neues einarbeiten muss und dafür eine gewisse Zeit benötigt, um sich zu orientieren, liegt Dir nicht sonders, oder?
volkard schrieb:
Xin schrieb:
Wenn man sich ausschließlich raussuchen lässt, was man für den Taschenrechner braucht, geht das schneller.
Dann nimmt er den neuen Struppi als Erstbuch, sein Taschenrechner ist wie immer drin und neuerdings auch GUI.
Wenn er das Buch soweit gelesen, verstanden und nachvollzogen bekommt spricht da absolut nichts gegen.
volkard schrieb:
Xin schrieb:
Wenn er die Sachen raussucht, wird er auf dem Weg zum Taschenrechner mehr lernen.
Wenn er als Ziel den Taschenrechner hat, verschwendet er seine Zeit.
Was soll er denn Deiner Meinung nach in 4-5 Monaten erreichen? Ein eigenes Betriebsystem? Ohne GUI natürlich...
Ein Taschenrechner ist für jemanden ohne Ahnung ein herausforderndes Ziel. Er wird bis zur Rente vermutlich noch ein paar weitere Ziele finden, aber auf dem Weg dahin einen Taschenrechner selbst entwickelt hat, ist das eine schöne Übungsaufgabe für den Einstieg.
-
Xin schrieb:
Ein rekursiver Abstiegsparser braucht genau 0 Datenstrukturen.
Wenn er den alleine mit Pointern auf den Eingabetext hinbekommt, hat er eine Datenstruktur, die ein (char ) enthält und eine Funktion, die die Länge des Tokens bestimmt, auf das eben dieses (char) zeigt.
[/quote]struct (Struktur) mit Daten drin != Datenstruktur (zumindest im allgemeinen Informatik-Sprachgebrauch)
-
Jester schrieb:
Xin schrieb:
Wenn er den alleine mit Pointern auf den Eingabetext hinbekommt, hat er eine Datenstruktur, die ein (char ) enthält und eine Funktion, die die Länge des Tokens bestimmt, auf das eben dieses (char) zeigt.
struct (Struktur) mit Daten drin != Datenstruktur (zumindest im allgemeinen Informatik-Sprachgebrauch)
Kinners... wollen wir wirklich jeden Furz hier ausdiskutieren. Hilft es dem Threadstarter, wenn ihr versucht mich hier in so einem Sch... zu wiederlegen?
Wikipedia schrieb:
In der Informatik und Softwaretechnik ist eine Datenstruktur ein Objekt zur Speicherung und Organisation von Daten. Es handelt sich um eine Struktur, weil die Daten in einer bestimmten Art und Weise angeordnet und verknüpft werden, um den Zugriff auf sie und ihre Verwaltung effizient zu ermöglichen.
Datenstrukturen sind nicht nur durch die enthaltenen Daten charakterisiert, sondern vor allem durch die Operationen auf diesen Daten, die Zugriff und Verwaltung ermöglichen und realisieren.
Struct + Funktion. Die weitere Implementierung ist die Rekusion.
Fertig ist die Laube oder wollen wir noch ausdiskutieren, ob und wo sich der Begriff Operation sich von Funktion unterscheidet?@Threadstarter: Informatiker sind auch immer irgendwo Korinthenkacker. Da gehöre ich auch zu. Das braucht man auch, um programmieren zu lernen. Was man zum Lernen nicht braucht sind Leute, die alles 1000%ig genau nehmen. 100% reichen auch. Und beim lernen muss auch nicht alles beim ersten Anlauf 100%ig sein.
-
Und es gibt auch Leute, die nennen sich Informatiker und wissen nicht was eine Datenstruktur ist. Und ja da drauf zu zeigen und zu sagen "nein, das ist keine erste Erfahrung mit Datenstrukturen" wenn man ein struct gebaut hat, ist hilfreich. In der Datenstrukturen-Vorlesung werden nämlich (oh wunder) keine structs gebaut. Sowas kann ich einfach nicht unwidersprochen stehen lassen, weil ich denke, dass es dem Threadersteller nicht hilft (im Gegenteil schädlich ist), wenn er glaubt dass Datenstrukturen structs sind.
-
...
-
LaksanSan schrieb:
Zum Wintersemester 2014 werde ich ein Informatikstudium an der TU Dortmund beginnen. Ich bin mir ziemlich sicher, dass diese Richtung genau das Richtige für mich ist, obwohl ich wenig bis keine Ahnung von Programmieren habe.
Mit Mathematik hatte ich schon in der Oberstufe keine Probleme.Ich habe schon von vielen Informatikern gehört, dass der Wille zum Lernen genüge, sofern auch Interesse für das Fach vorhanden ist. Es soll also möglich sein bei 0 anzufangen.
Da ich jetzt noch 4-5 Monate nichts zu tun habe, wollte ich die Zeit nicht bei LeagueofLegends abspielen, sondern wollte wissen, mit was ich mich beschäftigen kann um den Einstieg in das Studium zu erleichtern.
Ich halte es jedoch für eine schlechte Idee, mich einfach blind an irgendeine Programmiersprache zu wenden, anzufangen Befehle auswendig zu lernen.
Vielleicht kann mir jemand weiterhelfen... ich wäre natürlich bereit, mich mit c#, c++ java und co. zu beschäftigen, wenn mir das einer raten sollte.4-5 Monate Zeit - Was kann ich tun?
Ich habe auch an der TU Dortmund studiert. Vorher habe ich mich auch verrückt gemacht. Mein Tipp: Entspanne dich. Nimm dir ganz fest vor zu jeder Vorlesung zu gehen, nicht mit den "Laptop-Zockern" in der letzten Reihe zu sitzen und wirklich die Inhalte zu lernen (Jede Stunde Vorlesung braucht mindestens 2 Stunden Nacharbeit).Versuche alles so gut zu verstehen, dass du es jemand anderem erläutern könntest. (Mir hat es viel geholfen von jedem Kapitel der Vorlesungen Zusammenfassungen zu schreiben, PER HAND!!! und nicht in die Tastatur hacken. Für eine Zusammenfassung muss man nachdenken, was wohl wichtig ist und wie die Zusammenhänge sind. Ich hatte am Ende von jeder Vorlesung einen Ordner mit handgeschriebenen Din-A4 Seiten.) Mach die Übungen. Geh wirklich zu jeder Übungsstunde hin. Mach die erste Prüfung die jeweils angeboten wird. Die Nachprüfung ist immer X-mal schwerer, auch wenn man mehr zeit zum lernen hatte. Konzentriere dich auf DAP1 (heißt das noch so?) und die Mathe Vorlesungen. Und mach keinen Stress vorher. Eventuell etwas Java lernen. Aber alles andere als "Super-Duper" Vorbereitung vor dem Studienbeginn ist nur Stress, der nichts bringt. Du kannst in etwa inclusive den Vorlesungsstunden mit einer 40-Stunden Woche an Arbeit rechnen (Lernen, Übungen etc.).
Kein Computerspiel anfangen! Zwei Kollegen sind an WoW und einer an einem Spiel das Drulswars oder so in etwa hieß gescheitert.Möglicherweise bring es was, sich schon mal den Campus anzusehen. Mal in die Mensa zu gehen und sich auch "wohl zu fühlen". Und nein!!! Nicht zu viel Zeit im "Spunk" (Studentenkneipe im nahen Studentenwohnheim) verbringen.
...Und glaub nicht, dass du im Grundstudium viel mit einem Computer zu tun bekommen wirst, außer in den Praktika (Die als Quasi "Größere-Gruppenübung" an der Uni Stattfinden). Nahezu alles ist Stift und Papier bezogen. (Es könnte sein, dass ein Java-Anteil in die Veranstaltung "DAP 1" hinzugefügt wurde)
Eventuell kannst Du mal darüber nachdenken welches "Nebenfach" dir Spaß macht. So weit ich weiß wählt man immer noch ein Nebenfach um kein "Fachidiot" in der Informatik zu werden. Und auch wenn viele sagen: "Ja es wird Informatik bezogen sein". NEIN! Es ist nahezu eigenständig ohne Berührungspunkte zur Informatik.
Und keine Panik in den ersten Vorlesungen bekommen. Du wirst denken "Das ist unmöglich, so viel zu lernen". Doch es wird gehen! Wenn eine schriftliche Prüfung anliegt ist es wichtig die Übungen zu können. Natürlich auch abgewandelte Aufgaben erwarten. Hier muss man nicht unbedingt alles aus dem Skript bis ins Details erläutern können. Bei mündlichen Prüfungen ist das Skript wichtiger. Hier die Zusammenhänge erläutern können und nicht nur "ein paar Fakten auswendig lernen".
-
Zuerst mal danke an die ganzen Antworten. Ihr habt mir, auch wenn ihr es vielleicht nicht glaubt, sehr geholfen.
@Andreas XXL du hast mir echt verdammt Mut gemachtIn 3-4 Monaten einen Taschenrechner programmieren zu können, wird vielleicht nicht möglich sein. Darauf werde ich es jetzt aber auch nicht anlegen. Ich denke mir nicht "Ich muss in 3-4 Monaten diese Aufgabe erfüllen können".
Stattdessen denke ich, es ist gut mit einem Grundlagenbuch zu arbeiten.
Ein Bekannter von mir hat noch ein Buch für die Grundlagen von Programmiersprachen (glaube in Bezug auf Java). Ich lese mich einfach mal in das Fach ein und sehe dann wie weit ich komme.
Es kann ja sein, dass ich doch noch ein High-Five von Xin bekomme
Viel Stress mache ich mir dadurch also nicht.
-
LaksanSan schrieb:
In 3-4 Monaten einen Taschenrechner programmieren zu können, wird vielleicht nicht möglich sein. Darauf werde ich es jetzt aber auch nicht anlegen. Ich denke mir nicht "Ich muss in 3-4 Monaten diese Aufgabe erfüllen können".
Doch. Das kannst du jetzt nicht einschätzen, aber einen einfachen Taschenrechner kannst du nach ein paar Wochen, einen Taschenrechner wie hier im Thread diskutiert nach spätestens 2 Monaten. Daher war volkards erste Reaktion zu dem Vorschlag auch, dass er nach 4-5 Monaten mehr erwartet. Nach 4-5 Monaten solltest du über so eine Aufgabe nur müde lächeln. Wenn es nicht so ist, solltest du dir Sorgen machen. Nach 4-5 Monaten solltest du selbst eine schwere Sprache ziemlich gut beherrschen und - was noch viel wichtiger ist - allgemeine Kompetenz in Sachen Programmierung erworben haben. Das heißt, du hast sowohl ausgiebig Erfahrung mit den häufig vorkommenden Problemen und deren Lösung haben* (was es dir ermöglicht, solch ein Problem selber zu lösen) und solltest auch in der Lage sein, selbstständig Informationen zu bisher unbekannten Problemen zu finden (damit man nicht das Rad zum 32324ten Mal neu erfindet. Der Taschenrechner ist ein gutes Beispiel dafür). Wenn du hier im Forum aktiv bist, solltest du nach 4-5 Monaten zu den Personen zählen, deren Beiträgen man im jeweiligen Fachforum (positive) Beachtung schenkt.
*: Beim Lösen einer neuen Problemstellung zerlegen viele Programmierer das Problem in Teile, die sie schon kennen und in Teile, die sie noch nicht kennen. Man glaubt es als Außenstehender kaum, aber geschätzt 95% der meisten Problemstellungen bestehen aus altbekannten Teilproblemen. Ein guter Programmierer hat dann seinen Baukasten im Kopf, mit ihm schon bekannten Lösungen für diese Teilprobleme. Somit kann er sich mehr auf die interessanten 5% konzentrieren. Diese Bausteine einer Problemlösungsstrategie reichen von scheinbar trivialen Sachen, die man nach einer Woche Programmieren kennt ("Um eine Kette vollständig abzuarbeiten, geht man von vorne nach hinten vor") bis hin zu Vorgehensweisen in Themengebieten, auf die man sich spezialisiert hat ("Eine einfache Möglichkeit zum Parsen einer LL(k)-Grammatik ist ein rekursiver Abstieg" - um das Taschenrechnerproblem mal hochgestochen zu formulieren).
-
Andreas XXL schrieb:
Nimm dir ganz fest vor zu jeder Vorlesung zu gehen, nicht mit den "Laptop-Zockern" in der letzten Reihe zu sitzen und wirklich die Inhalte zu lernen
Alleine durch Anwesenheit sicher zu sein, welche Überschriften in der Vorlesung genannt werden ist schon die halbe Miete. Das möchte ich so einfach nochmal unterschreiben.
Auch wenn man einer Vorlesung fernbleiben darf - man kann den Stoff nie so gut nacharbeiten, als wäre man da gewesen.Andreas XXL schrieb:
Und keine Panik in den ersten Vorlesungen bekommen. Du wirst denken "Das ist unmöglich, so viel zu lernen". Doch es wird gehen!
Die Prüfungen haben sich meist als einfacher rausgestellt, als die Vorlesung vermuten ließe. Meistens. ^^
Um aus dem Studium maximalen Nutzen für Dich zu ziehen, bleibt mein Rat jedoch, Dich mit C zu beschäftigen, um besser mit der Frage umgehen zu können, wie man abstrakte Konstrukte maschinengerecht ausdrücken kann.
LaksanSan schrieb:
In 3-4 Monaten einen Taschenrechner programmieren zu können, wird vielleicht nicht möglich sein.
Ist es.
LaksanSan schrieb:
Viel Stress mache ich mir dadurch also nicht.
Brauchst Du Dir auch nicht zu machen. Es ist trotzdem möglich. Ich empfehle mal einfach meine Seite (s.u.) und Dich dort in C einzulesen. Du lernst dort nicht perfekt C, aber hoffentlich ein Verständnis dafür, warum eine Maschine Dinge berechnet.
Ich denke praktisch. Ich will wissen, warum man mir ein abstraktes Konstrukt präsentiert. Wenn ich das verstehe, verstehe ich das Konstrukt. Verstehe ich die Notwendigkeit für ein Konstrukt nicht, habe ich mehr Lernaufwand.
-
Xin schrieb:
LaksanSan schrieb:
Viel Stress mache ich mir dadurch also nicht.
Brauchst Du Dir auch nicht zu machen. Es ist trotzdem möglich. Ich empfehle mal einfach meine Seite (s.u.) und Dich dort in C einzulesen. Du lernst dort nicht perfekt C, aber hoffentlich ein Verständnis dafür, warum eine Maschine Dinge berechnet.
Xin, deine Seite ist neulich mal als Quelle im C-Forum aufgetaucht, bei einem Fragesteller, in dem ich zunächst ein Jürgen-Wolf-Opfer vermutet hatte. Das Tutorial dort ist ... nicht so gut. Um das mal höflich auszudrücken. Ich würde das auf gar keinen Fall weiter empfehlen, bevor das nicht gründlich überarbeitet wurde von jemandem, der sich wirklich auskennt.
Ich wollte den Autor eigentlich drauf ansprechen, war mir aber nicht sicher, wer der Autoren auf deiner Seite das C-Tutorial verfasst hat. Und irgendwie ist die Sache dann in Vergessenheit geraten. Aber jetzt, wo du es explizit empfiehlst, muss ich einschreiten.
(Dies ist kein Gebashe ohne Grundlage. Ich habe mir das Tutorial angeguckt und viele konkrete Fehler gefunden. Aber es gehört nicht hierher und wäre auch viel zu umfangreich, die hier im Thread alle zu nennen.)
-
LaksanSan schrieb:
Ein Bekannter von mir hat noch ein Buch…
Bist Du bekloppt? Die allermeisten Programmierbücher sind schlecht.
Ein schlechtes Buch am Anfang braucht 32 Bücher später, um die Schlechtigkeiten auszutreiben. Und Du verlierst Jahre. Deppenkind und so wirst Du genannt werden.
Deine Eltern haben Dir ein gutes Buch gefälligst zu bezahlen. Fertig. Basta.
Wenn sie jetzt dahingehend rumzicken, sollen sie sich sich mal Gedanken machen, OB sie Dein Studium bezahlen werden, das sind nämlich viele Monate mit viel mehr Ausgaben.
-
SeppJ schrieb:
Xin, deine Seite ist neulich mal als Quelle im C-Forum aufgetaucht, bei einem Fragesteller, in dem ich zunächst ein Jürgen-Wolf-Opfer vermutet hatte. Das Tutorial dort ist ... nicht so gut. Um das mal höflich auszudrücken. Ich würde das auf gar keinen Fall weiter empfehlen, bevor das nicht gründlich überarbeitet wurde von jemandem, der sich wirklich auskennt.
proggen.org ist eine Mitmachseite. Jede Seite steht jederzeit zur Diskussion und Kritik ist erwünscht, denn sie trägt zur Verbesserung der Tutorials bei. Die Seiten sind auch nicht statisch, sondern es ist ein Wiki, damit die Seiten überarbeitet werden.
Das Tutorial ist alles andere als perfekt, allerdings erhalte ich vorrangig positives Feedback, auch von Leuten, die sich auskennen (sollten), wie auch von Anfängern, die schwierige Kapitel als verständlich beschrieben.
Das ist sehr schön, trotzdem wird es weiter überarbeitet werden und dafür brauche ich eben auch negatives Feedback.Ich empfehle es, weil dort einige Dinge expliziter ausgearbeitet und beschrieben sind, als in den mir bekannten Fachbüchern und Tutorials und ich bei Tutorien gemerkt habe, dass das Verständnis häufig genau da streikt. Ohne Tutor sitzt man dann mit einem Buch oder Tutorial alleine da.
Dafür fehlen allerdings auch Teile. Das Tutorial soll den Einstieg bringen, es soll den Leser nicht zum allwissenden C-Fachmann werden lassen, er soll lediglich in der Lage sein, damit in eigene Programme starten zu können.Für alle folgenden Fragen, haben wir ebenso ein Forum, das lange nicht so gut besucht ist, wie c++.de, aber trotzdem eher positiv hervorgehoben wird. Mit den dort gestellten Fragen passen wir das Tutorial dann ebenfalls weiter an.
SeppJ schrieb:
Ich wollte den Autor eigentlich drauf ansprechen, war mir aber nicht sicher, wer der Autoren auf deiner Seite das C-Tutorial verfasst hat. Und irgendwie ist die Sache dann in Vergessenheit geraten. Aber jetzt, wo du es explizit empfiehlst, muss ich einschreiten.
Ich bin der Autor (zumindest der meisten Seiten). Ich bin offen für jegliche (konstruktive) Kritik und würde mich freuen, wenn Du mir per Mail oder auch öffentlich im Forum auf proggen.org mitteilst, was Dir konkret als Fehler aufgefallen ist. Da brauchst Du auch nicht höflich zu sein.
Wir hatten kürzlich eine ähnliche Kritik, leider ohne dass derjenige irgendetwas konkret ansprach. Wenn Du da konkreter werden möchtest, werde ich da sicher drauf eingehen und die Seiten anpassen, bzw. begründen und zur Diskussion stellen, warum ich Dinge beschrieben habe, wie ich es getan habe.
-
...