Frage:
Was macht einen MSc in Informatik für jemanden schwierig, der keinen bestimmten Hintergrund hat, aber 10 Jahre Erfahrung als Programmierer?
MNRC
2014-08-07 07:14:52 UTC
view on stackexchange narkive permalink

Ich habe mich letztes Jahr an meinem derzeitigen MSc in Informatik eingeschrieben, nachdem ich noch nie einen einzigen Informatikkurs am College abgeschlossen hatte. Ich habe mich für eine Bewerbung entschieden, weil ich 10 Jahre nach dem College eine ziemlich erfolgreiche Karriere als Front-End-Webentwickler hatte und dachte, es wäre großartig, einen Abschluss zu haben, um wie ein legitimerer Programmierer auszusehen, als meine Anthropologie B.A. Grad könnte bedeuten. Ich hatte mehrere Mathematik- und Physikkurse am College besucht und war gut, daher dachte ich, dass ein Informatik-Abschluss überschaubar sein könnte.

Nun ist es über ein Jahr her, seit mein Programm begonnen hat (ich besuche Teilzeit). . Ich habe in meinem ersten Semester eine Kernklasse in grundlegenden Algorithmen abgebrochen, weil ich Algorithmen nicht verstehen konnte, und mich entschlossen, mich für denselben Kurs einzuschreiben, der diesen Sommer angeboten wurde. Ich hatte gehofft, diesen Sommer gut abzuschneiden, aber es sieht so aus, als würde ich kaum vorbeikommen, wenn ich vorbeikomme. Es fühlt sich so an, als ob es allen viel besser geht als mir und sie können Probleme schneller und genauer lösen. Wenn Sie ich wären, würden Sie das Programm beenden? Ich bin mir nicht sicher, ob es sich um Folgendes handelt:

  • fehlender Hintergrund in der Informatik im Grundstudium
  • die Tatsache, dass ich ein älterer Student bin, der fast 40 Jahre alt ist
  • mangelnde Eignung für dieses Fach

Alle Gedanken anderer in den Bereichen Informatik, Ingenieurwesen und Mathematik wären sehr willkommen.

BEARBEITEN: Es ist 7 Monate her, seit ich dies gepostet habe und ich habe das Problem erkannt. Front-End-Webentwicklung ist ehrlich gesagt nichts wie Informatik. Viele Konzepte in meinem Kurs über grundlegende Algorithmen erfordern ein gutes Verständnis der Rekursion, das ich vor dem Aufrufen des Programms nicht hatte. Alles, was ich in der Vergangenheit programmiert hatte, war iterativ. Sobald ich in der Lage war, die Rekursion von Towers of Hanoi bis zur dynamischen Programmierung zu verstehen und (was noch wichtiger ist) richtig anzuwenden, wurde der Algorithmuskurs viel einfacher. Für jeden, der mit dem Studium der Informatik beginnt - unterschätzen Sie niemals die Bedeutung der Rekursion! Selbst wenn Sie glauben, es zu verstehen, testen Sie sich mit anderen Schülern, um sicherzustellen, dass Ihr Verständnis solide ist!

Im Allgemeinen rate ich jedem, der in der Informatik anfängt, herauszufinden, worin Sie schwach sind, und daran zu arbeiten, darin stärker zu werden. Dies kann anfangs schwierig sein, wenn Sie von dem Material überwältigt sind und alles nur sehr schwierig erscheint. Sprechen Sie jedoch mit Ihrem Professor und bitten Sie ihn, Ihre Schwachstellen zu identifizieren, niemals aufzugeben, und Sie werden in der Lage sein, diese zu meistern das Material bald.

Übrigens habe ich einen einjährigen Einführungskurs in CS für Studenten ohne Ingenieur- / Mathematik-Hintergrund absolviert, der sich jedoch hauptsächlich auf objektorientierte Programmierung konzentrierte und die Rekursion beschönigte.

Haben Sie Ihr Programm mit CS-Kursen für Studenten begonnen, um sich auf den neuesten Stand zu bringen, oder sind Sie direkt in die Kurse für Absolventen eingetreten? Wenn letzteres der Fall ist, sollten Sie sich meiner Meinung nach zuerst für die erforderlichen Grundkurse anmelden.
Als Anthro-Major ohne formale CS-Erfahrung und mit minimaler Back-End-Erfahrung ist es nicht verwunderlich, dass Algen eine Herausforderung darstellen. Es ist sicherlich eine der mathematisch intensivsten Kernklassen im typischen MS-Pfad (das Erraten von Grafiken ist ein Wahlfach). Hast du es in anderen Kursen besser gemacht? Wenn es nur Algen sind, müssen Sie vielleicht zu den Bürozeiten gehen und eine Selbsthilfegruppe einrichten, anstatt direkt zu kündigen. Sie haben nie angegeben, was Sie in Algen versucht haben, denke ich, ist das, was ich sage.
@rch Ich denke, das ist es, was mich abschreckt - ich bin gut in Mathe. Ich beendete multivariable Kalkül und lineare Algebra und sie waren überhaupt keine Probleme. Ich nahm diskrete Mathematik und liebte Beweise. Also dachte ich, Algorithmen wären ein Kinderspiel, aber ich habe Probleme. Wir verwenden das Buch Cormen Leiserson Intro to Algorithms, das wirklich schwer zu verstehen ist, aber ich habe keine besseren Bücher als dieses gefunden. Ich kann rekursive Gleichungen wie das Konstruieren von T (n) = log (n) + O (1) aus einem Algorithmus nicht verstehen. Ich bin übrigens in den Top 25 der US-Schule, wenn das ein Hinweis auf den Schwierigkeitsgrad ist.
"Ein CS-Abschluss macht mich zu einem legitimen Programmierer" - das könnte genau dort der Kernfehler sein. CS (die Wissenschaft) und Programmierung (das Handwerk) haben wenig miteinander zu tun (obwohl beide vom anderen profitieren können). Trotzdem bin ich verwirrt, dass Sie Probleme mit Algorithmen haben. Das ist normalerweise das Thema, das Programmierern am einfachsten fällt (ohne formale Analyse). Was / wie hast du programmiert?
@Raphael Ich habe meistens in Javascript programmiert und das könnte der Grund sein, warum ich so schlecht darin bin. Ich habe mit Schülern gesprochen, die sagten, sie könnten den Kalkül nicht bestehen, hätten aber keine Probleme mit dem Algorithmus. Es ist komisch. Obwohl Programmierung und CS ziemlich unabhängig sind, legen Arbeitgeber leider großen Wert auf einen CS-Abschluss. Viele Unternehmen sehen sich Ihren Lebenslauf nicht einmal an, wenn Sie keinen haben.
@user3912481 Undergraduate CS besteht in der Regel aus ~ 2 Jahren strenger Theorie und ~ 6 Monaten Praxis. Keine Berufserfahrung in irgendeinem Bereich zwingt Sie dazu, die (unpraktische und fast nie angewandte) Theorie selbst zu erlernen. Ihr Masterstudiengang ist ein Marathon, auf den sich die anderen Studenten vorbereitet haben. Sie werden mit keiner Anstrengung Schritt halten, wenn Sie nicht einige Grundlagen schaffen (und Sie können dies entweder tun, indem Sie die von Ihnen benötigten Grundstudiengänge belegen oder indem Sie die besten CS-Theoriebücher kaufen und sich selbstständig machen).
@MR: Um ehrlich zu sein, wenn Sie sagen "Ich bin gut in Mathematik / Physik", ist der Eindruck, den ich bekomme, ** nicht ** * "Ich hatte keine Probleme mit linearer Algebra und multivariabler Berechnung" *. Dies sind * Einführungskurse * für Mathematik, die für so ziemlich jedes Hauptfach erforderlich sind, das irgendeine Art von Mathematik benötigt (einschließlich CS). du * solltest * ziemlich gut in ihnen abschneiden. Haben Sie darüber hinausgehende Kurse besucht? Haben Sie sich zum Beispiel mit Funktionalen, der Lagrange-Mechanik und der Euler-Lagrange-Gleichung befasst? Oder statistische Mechanik? Oder haben Sie Expectation-Maximization in Wahrscheinlichkeit / Statistik gesehen?
(Fortsetzung) ... Viele * Konzepte * in Mathematik und Naturwissenschaften sind für die Informatik sehr relevant, einige auf nicht so offensichtliche Weise - zum Beispiel sind "Funktionale" mehr oder weniger das Äquivalent von "Lambdas" "in der Informatik. Wenn Sie zuvor mit Funktionalen gearbeitet haben, ist das Zeichnen der Verbindung möglicherweise möglich. Aber wenn Sie nur lineare Algebra und multivariable Berechnungen durchgeführt haben, wird es Ihnen nicht leichter fallen, CS zu erlernen - das sind auch ziemlich Einführungskurse für CS-Majors.
Nun, ich habe mein Jurastudium abgeschlossen (also überhaupt kein Mathematikunterricht). Da ich mit Computern arbeite und einen elektroniktechnischen Kurs hatte, habe ich auch einen MsC ausprobiert. War schwer, aber ich habe es verstanden, mein Wissen verbessert und jetzt promoviere ich ... Es ist viel mühsamer als wenn Sie in diesem Bereich graduiert wären, aber es ist nicht unmöglich.
@Mehrdad Es gibt viele Stufen von "gut in Mathe" und man kann "gut (genug)" für das sein, was sie tun wollen, ohne das Äquivalent eines B.S. oder höher in Mathematik. Jetzt gibt es Felder, die für das OP mehr und weniger hilfreich sind. Lineare Algebra und diskrete Mathematik würden der Informatik sehr helfen. Die Tatsache, dass das OP nicht mit ihnen zu kämpfen hat, ist ein gutes Zeichen.
In den Kursen für Systemtechnik gibt es viele Programmierer, die besser als ich programmieren können, und ich bin begeistert von den Abschnitten Wahrscheinlichkeit und Optimierung. Die Tatsache, dass ich "gut in Mathe" bin, macht mich nicht zu einem besseren Programmierer (obwohl es hilft), und ihre überlegene Programmiererfahrung ersetzt nicht die erforderlichen mathematischen Fähigkeiten.
@kleineg: Was ich damit sagen will, ist, dass in einem Bereich wie CS "Ich bin gut in Mathe" ein bestimmtes Gewicht und eine Bedeutung hat, die weit über * hinausgeht. "Ich habe mich in linearer Algebra und multivariabler Berechnung gut geschlagen." Am Beispiel meiner selbst bin ich in diesen Themen ziemlich anständig und ich war auch in Mathe an der High School anständig, aber ich würde nicht sagen, dass ich "gut in Mathe" bin, weil ich Leute im College getroffen habe (in verschiedenen MINT) Felder), die wirklich "gut in Mathe" sind und sich in einer anderen Liga als ich befinden. Es wäre mir also peinlich zu behaupten, ich sei auf ihrem Niveau.
@Tim: "Keine Berufserfahrung in irgendeinem Bereich wird Sie dazu zwingen, die (unpraktische und fast nie angewandte) Theorie selbst zu erlernen." - Ich stimme Ihrem Hauptsatz zu, bin aber mit den Klammern nicht einverstanden: Nach meiner Erfahrung können viele Probleme * irgendwie * gelöst werden (daher zwingt die Arbeit in der Industrie Sie nicht dazu, sich die Theorie anzuschauen), aber Sie kennen die zugrunde liegende Theorie Einige dieser Probleme helfen oft dabei, eine bessere oder sauberere Lösung zu finden oder - wenn nichts anderes - zumindest die Lösung zu verstehen, die Sie besser gefunden haben, und dadurch auch besser zu verstehen, welche anderen Probleme ...
... sind bereits von dieser Lösung abgedeckt. Und genau deshalb würde "Arbeitgeber sich sehr für einen CS-Abschluss interessieren".
@O.R.Mapper Oh, ich stimme absolut zu, dass die Erkenntnisse aus dem Studium der CS-Theorie wertvoll sind, und ich habe das wahrscheinlich schlecht formuliert. Ich habe nur gemeint, dass die tatsächlichen Methoden (z. B. den Nachweis der Regelmäßigkeit einer Sprache unter Verwendung des Pump-Lemma-Theorems) nicht häufig angewendet werden.
@Mehrdad: Multivariable Kalkül und lineare Algebra für Studenten sind für CS MSc-Studiengänge nicht immer erforderlich. Sie sind in der Regel nur für Bewerber für Promotionsprogramme erforderlich. Ein Großteil der von Ihnen erwähnten Mathematik wird von Studenten in meinem Programm nicht benötigt.
@MNRC: Nur Promotion? Sie waren tatsächlich * Bachelor * (B.S.) CS-Hauptanforderungen für uns, die fast immer von Neulingen übernommen wurden ... Ohne lineare Algebra und multivariable Analysis kann man nicht wirklich Ingenieurwesen betreiben, und selbst CS stützt sich stark auf lineare Algebra. Der Rest der Themen, die ich erwähnte, bezog sich nicht auf CS, sondern auf Mathematik und Physik. Ich erwähnte sie als Beispiele dafür, was jemand mit einem Hintergrund in Mathematik oder Physik wissen sollte, von dem ich den Eindruck habe Ihr Hintergrund in Ihrem Beitrag.
@Mehrdad my (US) undergrad CS Degree erforderte nur Calculus 1/2 (einzelne Variable) und entweder eine lineare Gleichungs- oder eine Statistikklasse. Für lineare Gleichungen war es eine Wahl zwischen einer Klasse, die anscheinend für nicht-mathematische Hauptfächer gedacht war (konnte es nicht nehmen, wenn Sie lineare Differenzen gemacht hatten) oder einer Klasse für Studenten der oberen Stufe. Für Statistiken war es eine Auswahl von Klassen, die in etwa dem Intro zu Statistiken für Wissenschaftler / Ingenieure und dem Intro zu Statistiken für Statistik-Majors entsprachen. (Mehrere andere Einführungskurse in Statistiken wurden angeboten, waren jedoch als Abschlussvoraussetzung nicht akzeptabel.)
@Tim Die Methoden werden nicht angewendet, aber es gibt eine Ebene, in der man den Pfad von A -> Z herausfinden kann, der für viele Menschen nicht selbstverständlich ist. Für einige hilft das Erlernen mathematischer Methoden ihnen, so zu denken. Für andere tun Schach, Los oder andere Strategiespiele dasselbe. Dies ist jedoch eine langfristig unbewusste Sache und schwer zu trainieren - das Gleiche funktioniert nicht bei jedem.
@Mehrdad Sie sind weit vom Thema entfernt. Das, was Sie erwähnt haben (Lagrange-Mechanik, Euler-Lagrange-Gleichung usw.), ist für den Erfolg in einem Informatikprogramm völlig irrelevant. Starke allgemeine mathematische Fähigkeiten sind wahrscheinlich erforderlich, um erfolgreich zu sein, aber bestimmte Konzepte müssen vor der Einschreibung nicht unbedingt bekannt sein, und die von Ihnen aufgeführten Kurse sind für viele CS-Undergrad- / Master-Programme nicht erforderlich. Als Beispiel habe ich einen BS in CS und ich habe keine Ahnung, was ein "funktional" ist, aber ich weiß, was ein Lambda ist. Ihre Kommentare sind also ... weit von der Basis entfernt.
@KyleM: Haben Sie meinen Kommentar tatsächlich zuerst * gelesen *, bevor Sie mir sagten, dass diese Themen * "völlig irrelevant für den Erfolg in einem Informatikprogramm" * sind? Offensichtlich nicht, denn ich habe sehr deutlich gesagt, dass dies Themen waren, die ich von Leuten erwartet hatte, die behaupteten, sie seien gut in ** Physik ** und ** Mathematik ** (wie das OP). Nirgendwo habe ich vorgeschlagen, dass dies relevante Themen für ein * CS * -Programm sind. Das * Lesen * der Kommentare, auf die Sie antworten, ist normalerweise eine gute Idee.
@Mehrdad Sie sind sehr defensiv und Ihre Beiträge waren bisher unhöflich. In OPs Beitrag geht es um CS, und es scheint, als würden Sie versuchen, Mathematik und CS mit Kommentaren wie "Wenn Sie nur lineare Algebra und multivariable Berechnungen durchgeführt haben, wird es Ihnen nicht leichter fallen, CS zu lernen". und "Viele Konzepte in Mathematik und Naturwissenschaften sind für die Informatik sehr relevant". Tatsächlich ist jedoch, wie mein vorheriger Kommentar besagt, keines dieser Konzepte / Kurse wesentlich, um erfolgreich zu sein.
@KyleM: Ich bin defensiv, weil du mir Worte in den Mund steckst! Aber ich glaube nicht, dass ich unhöflich war. Wo genau habe ich * jemals * gesagt, dass diese Konzepte * wesentlich * sind, um * erfolgreich * in * CS * zu sein? Ich habe es nie getan, du behauptest nur, ich habe es getan. Alles, was ich sagte, war, dass Mathematik und Physik es einfacher machen könnten, CS zu erlernen **, wenn ** Sie sie tatsächlich ** über die vom OP erwähnten Einführungskurse hinaus studieren ** (lin alg / multivar calc). Ich habe nie gesagt, dass das Studium etwas * Wesentliches * oder * Notwendiges * ist, nur dass sie * hilfreich * sein könnten, wenn Sie sie studieren. Sehen Sie den Unterschied?
** Bitte bringen Sie eine ausführliche Diskussion in [Chat]. ** Außerdem ist dieser Kommentarthread umstritten. Ich sperre die Frage vorübergehend, um eine Bedenkzeit zu gewährleisten.
@Mehrdad "und sogar CS stützen sich stark auf lineare Algebra" - ich denke, das ist übertrieben; Während es Bereiche gibt, in denen lineare Algebra notwendig ist, mache ich jetzt meine Masterarbeit und habe noch keine lineare Algebra gefunden, die über die Gaußsche Eliminierung hinausgeht, obwohl ich hauptsächlich theoretische Kurse sowie einige Forschungen zur Sprach- und Spieltheorie durchgeführt habe.
@MNRC "Wenn Sie ich wären, würden Sie das Programm beenden?" Wenn und nur wenn CS nicht das ist, was Sie tun möchten, Punkt. Ansonsten würde ich hart daran arbeiten, bis es mir gelungen ist. Lassen Sie sich nicht von Mathematik abschrecken, die die Leute für schwierig halten. Sie müssen natürlich hart arbeiten, aber was noch wichtiger ist: Versuchen Sie zu verstehen, bevor Sie versuchen, jedem letzten formalen Detail zu folgen. Immer wenn ich mit anderen CS-Studenten spreche, haben die meisten von ihnen bereits 80% der Mathematik vergessen, die sie im Grundstudium gemacht haben.
@G.Bach: Ich sage nicht, dass es nicht möglich ist, aber ich bin gespannt, wie Sie die lineare Algebra so lange vermeiden können. Wie kann man zum Beispiel Spieltheorie ohne lineare Algebra machen? Sind Auszahlungsmatrizen und Nash-Gleichgewichte nicht mit linearer Algebra definiert? Ich fühle mich wie eine * formale * Sprachtheorie [verwendet eine lineare Algebra] (http://cstheory.stackexchange.com/a/19094/6006). Oder wenn Sie * natürliche * Sprachen gemeint haben, kommen Ihnen auch dafür Markov-Ketten in den Sinn.
Haben Sie darüber nachgedacht, ein Masterstudium zu suchen, das Ihrer Arbeit näher kommt? Es gibt einige Universitäten, an die der Staat Columbus denkt, die M.S. in Software Engineering, das möglicherweise eher Ihrer Erfahrung als auch Ihren Bildungs- und Karrierezielen entspricht.
Der Algorithmus ist der grundlegende Teil von CS. Außerdem sind Sie von Beruf ein Front-End-Webentwickler, und in diesem Beruf ist es ratsam, einen Algorithmus als Fach zu haben. Warum gehst du nicht zu Unterrichtsstunden und lernst das gut? Du wirst es genießen und es wird dir zu viel helfen.
@Mehrdad Ich wollte Linalg nicht vermeiden, es tauchte nur nie über das Lösen von Lin hinaus auf. Systeme. Während Nash-Gleichgewichte Lösungen für Lin sind. Systeme, ihre Berechnung ist eine einfache Sache der Auswahl einer Teilmenge von Alternativen, Aufbau der Lin. System und dann Gaußsche Eliminierung; Aber ich habe niemanden getroffen, der Nash-Gleichgewichte in der Forschung berechnet hat (ich habe etwas über soziale Wahlfunktionen getan). In den von Ihnen verlinkten formalen Sprachen geht es auch um das Lösen linearer Systeme. Dafür benötigen Sie jedoch keine Kenntnisse der linearen Algebra. Sie können die Gaußsche Elimination in einer Stunde lernen, ohne Linalg zu bekommen.
@G.Bach: Ich denke, es hängt davon ab, was Sie "lineare Algebra" nennen ... betrachten Sie kleinste Quadrate zum Beispiel als lineare Algebra? Wenn ja, mussten Sie das noch nie tun? Wenn nicht, wie würden Sie dann lineare Algebra nennen?
@Mehrded Das musste ich nie tun; aber ich denke nicht, dass dies viel zur Diskussion hier beiträgt.
Also, es ist viele Jahre her, was ist das Update?
Acht antworten:
#1
+49
xLeitix
2014-08-07 11:27:50 UTC
view on stackexchange narkive permalink

Es hört sich so an, als wären Sie gleichzeitig in ein paar gemeinsame Fallen geraten.

Falle 1:

Ich bin gut darin Front-End-Webentwicklung, ich bin sicherlich auch gut in der Informatik

Wie Sie wahrscheinlich inzwischen erfahren haben, ist es möglich (eigentlich ziemlich häufig), ein großartiger Programmierer zu sein und kämpfen immer noch mit grundlegenden CS-Themen wie Algorithmen. Es mag eine Zeit gegeben haben, in der die Programmierung wirklich auf Algorithmen angewendet wurde, aber heute sind die Fähigkeiten, die zum Schreiben einer durchschnittlichen Webanwendung erforderlich sind, relativ unzusammenhängend mit dem, was Sie in CS 101 gelernt haben.

Falle 2: stark>

Ich habe in (Grund-) Mathematik- und Physikkursen anständig gearbeitet, sicherlich werden diese (Master-) CS-Kurse in Ordnung sein.

Dies ist eine Kombination von mehreren Irrtümern, die ich gesehen habe. Erstens haben Sie möglicherweise nicht berücksichtigt, dass CS-Kurse auf Master-Ebene für Studenten auf Master-Ebene geeignet sind. Sie setzen eine starke Beherrschung der Grundlagen voraus, die Ihnen nach dem Klang fehlen. Darüber hinaus ist ein guter Abschluss in Mathematik und Physik ein guter Indikator dafür, dass Sie in Mathematik und Physik gut abschneiden. Dies qualifiziert Sie keineswegs direkt für einen CS-Master.

Falle 3: stark>

Ich weiß, was ich wissen muss, ich habe mich nur beim Master beworben, weil ich einen besseren Abschluss brauche.

Sie sagen das:

[Ich] dachte, es wäre großartig, einen Abschluss zu haben, um wie ein legitimerer Programmierer auszusehen, als mein Anthropologie-BA Abschluss könnte bedeuten,

Ich finde diese Aussage sehr besorgniserregend, da Sie anscheinend mehr an einem Abschluss als an CS interessiert sind. Wenn dies der Fall ist, sollten Sie ernsthaft überlegen, ob der Abschluss tatsächlich die Mühe wert ist. Ehrlich gesagt, für die meisten Programmierhäuser, mit denen ich in Kontakt stehe, zählen 10 Jahre Erfahrung ohnehin mehr als einen Master-Abschluss.

Beantworten Sie nun Ihre konkrete Frage:

Wenn Sie ich wären, würden Sie das Programm beenden? Ich bin mir nicht sicher, ob es an einem Hintergrund in der Informatik für Studenten mangelt, an der Tatsache, dass ich ein älterer Student bin, der fast 40 Jahre alt ist, oder an einer mangelnden Eignung für dieses Fach.

Ich würde nicht annehmen, dass Sie einfach "nicht gut genug" sind, und das Alter sollte auch kein Problem sein. Es hört sich definitiv so an, als ob Ihnen der Hintergrund fehlt, und die Tatsache, dass Sie den Master in Teilzeit machen, hilft sicherlich auch nicht weiter. Alles in allem sind dies keine sehr günstigen Bedingungen.

Niemand außer Ihnen kann sagen, ob Sie aufhören sollten, aber angesichts der Informationen würde ich neu bewerten, ob (a) ein Master für Sie erreichbar ist und (b) ob es sich für Sie tatsächlich lohnt, einen Master-Abschluss zu machen.

Ich hatte gehört, dass CS hauptsächlich Mathe ist, und hatte daher den (falschen) Eindruck, dass gute Mathematik bedeutet, in CS gut zu sein. Ich denke, ich werde stattdessen zu einem Master in Mathematik wechseln. Die meisten Schüler in meiner ankommenden Klasse sind Chinesen oder Inder. Sie neigen nicht dazu, aus Liebe zu lernen, sondern einen guten Job zu bekommen. Der Unterschied ist, dass sie die Kursarbeit erledigen können und ich nicht. Ich finde, dass internationale Studenten in meinem Programm höhere quantitative GRE-Werte zu haben scheinen als amerikanische Studenten. Alle ausländischen Studenten, mit denen ich gesprochen habe, erreichten das 90. + Perzentil, während die Amerikaner das 75. Perzentil erreichen.
@user3912481 Ich denke, die meisten Arbeitgeber, die einem Programmierer mit einem Master in CS mehr Geld anbieten würden, würden zögern, dies einem Programmierer mit einem Master in Mathematik anzubieten. Das klappt vielleicht nicht sehr gut.
@user3912481 Ich werde hier auf die Nerven gehen und sagen, dass der Meister der Mathematik auch nicht so gut abschneiden wird, ohne einen mathematikintensiven Studenten zu haben (oder ernsthaftes Selbststudium absolviert zu haben).
@Tim Ja, Sie haben Recht, definitiv etwas anderes zu beachten ... Ich denke, ich werde versuchen, dieses Programm durchzuhalten, bis sie mich rausschmeißen.
Sie scheinen sehr Flip-Floppy MNRC. Sie müssen sich auf etwas konzentrieren und es einfach erledigen, unabhängig von der Anstrengung. Ihre Ziele scheinen auch aus dem Ruder gelaufen zu sein und tun dies mehr für den Titel als für die gewonnenen Erfahrungen. In deinen Schuhen würde ich entweder durchhalten und mein Bestes geben oder die Meister vergessen und einfach einen Bachelor in CS machen. Sie haben Berufserfahrung und wenn Sie nur einen Bachelor hatten, könnten Sie sehr leicht einen Job finden. An diesem Punkt denke ich nicht einmal, dass ein Master es wert wäre, selbst wenn Sie ihn durchhalten können. Der Unterschied in $ wird durch die Zeit, in der Sie sich im Ruhestand befinden, nicht viel sein
@MNRC: Ein Master in Mathematik ohne Bachelor in Mathematik, und da Sie nicht in der Lage waren, die Klasse "Algorithmen" zu absolvieren? Wenn ich eines weiß, dann ist ein Master in Mathematik viel schwieriger als ein CS-Master. Es ist viel theoretischer, so dass Ihre 10 Jahre nichts zählen. Wenn Sie nicht in der Lage sind, Algorithmen zu vervollständigen (was ein bisschen "Mathe im einfachen Modus" ist), werden Sie es in den Matheklassen sehr schwer haben. Gutes in der High School Mathe zu tun bedeutet nicht, dass Sie sofort in den MSc-Matheunterricht springen können ...
"Ich hatte gehört, dass CS hauptsächlich Mathematik ist" - was allgemein damit gemeint ist, ist, dass Mathematik in vielen Teilen von CS vorkommt. Für jemanden, der Mathe verachtet, fühlt es sich definitiv wie "furchtbar viel Mathe" an, für jemanden, der mit Mathe einverstanden ist, kann es ein "Mathe hier und da" -Gefühl sein (obwohl diese Leute möglicherweise die mathematikintensiveren Spezialisierungen auswählen und somit Stellen Sie ihren - nicht unzufriedenen - Eindruck wieder her, dass CS hauptsächlich Mathematik ist. Es bedeutet sicherlich nicht, dass es außer Mathematik wenig anderes gibt, oder dass das Verstehen von Mathematik bedeutet, alles andere zu verstehen, was Teil des CS-Studiums ist.
Nein, ich saß an meiner Schule im Kurs für lineare Algebra für Absolventen und hatte es leichter, ihn und das Lehrbuch zu verstehen als mein Kurs für Algorithmen für Absolventen.
__Trap 4__ * "10 Jahre nach dem College hatte ich eine ziemlich erfolgreiche Karriere als Front-End-Webentwickler und dachte, es wäre großartig, einen Abschluss zu haben, um wie ein legitimerer Programmierer auszusehen" *
Ich würde gerne nachlesen und die Leser wissen lassen, dass ich einen großartigen Professor getroffen habe, der mich freundlicherweise beiseite gezogen und mir meine Schwächen in CS erklärt hat. Mir wurde ein Tutor zugewiesen, der mir sagte, dass ich die Rekursion nicht vollständig verstehe und wie man sie richtig anwendet. Ich löste Algorithmen wie Towers of Hanoi und das Josephus-Problem richtig, hatte aber Probleme, meine Gedanken in Pseudocode zu übersetzen. Ich habe hart gearbeitet, um diese Probleme mit dem Tutor zu lösen, und habe große Fortschritte gemacht. Der Unterricht ist jetzt überschaubarer und ich freue mich auf das maschinelle Lernen im nächsten Semester.
#2
+44
Lacoppidan
2014-08-07 17:13:38 UTC
view on stackexchange narkive permalink

Überlebensleitfaden von jemandem, der in Ihrer Situation war

Ich denke, Sie erhalten hier viele entmutigende Kommentare, die Ihnen nicht viel helfen. Sie wissen bereits, dass Sie nicht die bestmöglichen Qualifikationen haben, Sie brauchen keine Leute, die Sie daran erinnern. Die Frage ist: Was können Sie dagegen tun?

Ich bin CS-Major, habe aber als Physikstudent angefangen. Ich hatte die Art von Kursen, über die Sie sprechen, multivariate Berechnungen usw. Dies bedeutet, dass ich, als ich meinen Algorithmuskurs hatte (nach demselben Buch wie Ihr Kurs), überhaupt keine diskrete Mathematik hatte. Die diskrete Mathematik hilft Ihnen, die Datenstrukturen zu verstehen. Die Datenstrukturen werden bei der Implementierung der Algorithmen verwendet. Beweistechniken aus der diskreten Mathematik helfen Ihnen, die Richtigkeit und Laufzeitkomplexität eines Algorithmus zu verstehen.

Auch wenn Sie über umfassende Kenntnisse der (diskreten) Mathematik verfügen, können Sie diese besser verstehen Algorithmen, es ist eine große Übertreibung zu implizieren, dass man ohne sie nicht auskommen kann. All diese Dinge habe ich während meines Algorithmuskurses gelernt. Wenn ich, wie Sie, die Leute gefragt hätte, ob ich aufhören soll, weil ich vor dem Kurs keine Kenntnisse über Grafiken und Bäume hatte, hätte ich wahrscheinlich entmutigende Kommentare erhalten, wie Sie es jetzt tun. Zufällig habe ich eine perfekte Punktzahl für den Kurs erhalten, weil ich genau das gelernt habe, was die Prüfung verlangte. Ich habe jeden einzelnen Beweis im Lehrplan einstudiert (meiner war eine mündliche Prüfung). Ich weiß nicht, mit welcher Art von Prüfung Sie konfrontiert sind, aber ich schlage vor, dass Sie den Lehrplan so weit wie möglich eingrenzen und sich nur auf das konzentrieren, was Sie tun Wir sollten wissen, dass Sie zum Bestehen bringt.

'Einführung in Algorithmen' ist ein sehr umfassendes Buch, in dem viele Dinge enthalten sind, die Sie nicht benötigen. Viele Leute hier sind Perfektionisten und denken, Sie sollten alles wissen. Ich habe sogar jemanden hier gesehen, der Ihnen vorschlägt, die Lagrange-Mechanik zu kennen. Ich sehe die Relevanz davon überhaupt nicht. Dies ist kein Physikkurs.

Zum Schluss möchte ich noch einen Kommentar zu den Wiederholungen T (n) hinzufügen. Dies kann schwer zu verstehen sein, da das Buch Ihnen kein genaues Rezept dafür gibt. Es ist hilfreich, sich die Wiederholungsrelation T (n) als das Verhalten des Problems vorzustellen. Das Problem ist die Eingabe in den Algorithmus und wird ausgedrückt als n - die Größe des Problems.

Beispiel: Ich gehe davon aus, dass Sie mit Mergesort vertraut sind. Mit dem Algorithmus Mergesort nehmen Sie das Problem n und teilen es in zwei gleich große Probleme auf (Sie können es anhand des Algorithmus erkennen). Diese Probleme sind halb so groß wie das ursprüngliche Problem, sodass Sie eine Wiederholung erhalten, die

T (n) = 2T (n / 2) + O (n)

Die Wiederholung sagt Grundsätzlich heißt es, dass das Problem mit n beginnt und dann zu zwei Problemen halber Größe wird, auf die der Algorithmus dann angewendet wird (daher das T). (Möglicherweise stellen Sie dann fest, dass die Wiederholungsrelationen nur auf rekursive Algorithmen angewendet werden.) Das O (n) drückt die linearen Kosten aus, die erforderlich sind, um die beiden Probleme zusammenzuführen, sobald sie gelöst wurden (weil wir wissen, dass dies durch das Unterprogramm Zusammenführen ausgeführt wird). Dieser Schritt ist nicht rekursiv, da er ausgeführt wird, nachdem das Problem von der rekursiven Lösung "zurückgekehrt" ist.

Wie Sie sehen können, wird die Wiederholungsrelation anhand des Algorithmus ermittelt. Die Beziehung wird dann entweder durch den Hauptsatz oder die Substitutionsmethode gelöst oder aus dem Zeichnen eines Diagramms der Rekursionen (Rekursionsbaum) abgeleitet und dann mit der Substitutionsmethode rigoros bewiesen. Die Lösung gibt Auskunft über die Art der Laufzeit, dh: Wenn Sie erhöhen die Größe n des Problems. Um wie viel erhöhen Sie die Laufzeit?

Für Mergesort lautet die Antwort Theta (n log n), was bedeutet, dass die Erhöhung der Laufzeit eine Funktion vom Typ f (n) = n log n ist. Sie vergleichen die Laufzeiten, indem Sie die Steilheit der Steigungen dieser Funktionen betrachten. Wenn die Laufzeit Theta (2 ^ n) ist, ist die Steigung extrem steil und die Zeit, die zum Ausführen des Algorithmus benötigt wird, steigt sehr schnell an, sodass der Algorithmus als sehr langsam bezeichnet wird. Dies ist die Antwort, die Sie suchen Wenn Sie die Wiederholung konstruieren.

Und schließlich: Verzweifeln Sie nicht, es mag manchmal sehr schwierig erscheinen, aber Sie werden wahrscheinlich näher am Verständnis sein als Sie denken. Ein sehr gutes Werkzeug für mich war um die Vorträge über Algorithmen und Datenstrukturen von der MIT OpenCourseware zu sehen. http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall- 2011 / Vorlesungsvideos / und http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503- Herbst 2005 / Videovorträge /

Viel Glück!

Vielen Dank, Ihre Antwort war die unterstützendste (und realistischste) hier! Ich schwanke schon darüber, ob ich im Programm bleiben soll oder nicht. Von einigen Kommentatoren hier kritisiert zu werden und auf meine Unzulänglichkeiten hingewiesen zu werden, trägt nicht viel dazu bei, mein Selbstvertrauen in einem schwierigen Studiengang zu stärken. Ich wünschte, einige Leute würden versuchen, sich zuerst in den Schuhen eines anderen vorzustellen, bevor sie Stift auf Papier (oder Finger auf Tastatur) legen.
Vielen Dank auch für die Erklärung der Wiederholungsgleichungen - es hat sehr geholfen!
Gern geschehen. Ich glaube nicht, dass die Leute erkennen, wie wichtig es ist, Selbstvertrauen zu haben, wenn sie versuchen, etwas zu erreichen. Wenn sie Sie erfolgreich davon überzeugen, dass Sie nicht gut genug sind, werden Sie definitiv keinen Erfolg haben, unabhängig von Ihren Fähigkeiten. Sie haben das Zeug dazu, Sie hatten Recht mit Ihren Annahmen, dass Sie Informatik verstehen können, wenn Sie Mathematik verstehen können. Ich sehe sogar Leute mit sehr begrenzten mathematischen Fähigkeiten, die harte Kurse bestehen. Der beste Ansatz ist, einen Studienplan nur mit den wesentlichen Dingen zu haben und sich von nichts anderem überwältigen zu lassen. Dann wirst du Erfolg haben :-)
Eine andere Sache, die Leute scheinen dich anzuschlagen, weil sie ein Master-Diplom wollen. Aber gehen nicht alle für das Diplom zur Universität? Ich weiß ganz genau, dass ich jedes bisschen davon alleine lernen kann, indem ich einfach die Bücher lese und online schaue. Ich habe mehrere Klassen absolviert, ohne überhaupt zu den Vorlesungen zu erscheinen. Ich möchte das Diplom als harten Beweis für meine quantitativen Fähigkeiten, und Sie auch, daran ist nichts auszusetzen. Und Sie verdienen sicherlich ein Lob dafür, dass Sie zurückkehren, nicht viele Menschen haben den Mut! Ich bin sicher, Sie werden es nicht bereuen!
+1 für diskrete mathematische Empfehlung. Grafiken und Kombinatorik sind ein Eckpfeiler von CS.
_Aber geht nicht jeder für das Diplom zur Universität? _ - ** Nein, natürlich nicht. ** Einige Leute gehen zur Universität, um in einer strukturierten Umgebung zu lernen. Andere gehen, weil sie nicht wissen, was sie sonst tun sollen, oder weil sie nicht wollen, dass ihre Eltern enttäuscht werden, oder weil sie die soziale Szene mögen oder weil sie zukünftige Geschäftsbeziehungen aufbauen wollen oder weil sie danach suchen ein Ehepartner. Jeder ist anders.
Jeff, man könnte leicht argumentieren, dass einige Leute nur wegen des Cafeteria-Essens oder was auch immer zur Universität gehen, und ich würde nicht anders sagen können. Vielleicht hast du recht, es mag Leute geben, die die Universität nur als eine große Gelegenheit zum Dating sehen, aber ich denke wirklich, dass die meisten Leute * hauptsächlich * für den Abschluss da sind. Wenn du deine Eltern nicht enttäuschen willst, ist es nicht ein Teil davon, einen Abschluss zu bekommen? (Ich bezweifle, dass sie wollen, dass du nur teilnimmst, ich denke, sie wollen, dass du fertig wirst - aber das rate ich nur noch einmal!) Es wird auch eine Fülle von sekundären Gründen geben, aber das war nicht der Punkt.
@Lacoppidan Habe gerade die neuen Kommentare gesehen. Ja, definitiv wahr in Bezug auf das Selbstvertrauen. Es gibt eine Frau, die gerade die Fields-Medaille gewonnen hat und die sagte, dass sie als Kind kein Vertrauen in Mathematik hatte und aufgeben wollte, bis sie einen Lehrer fand, der an sie glaubte. Selbstvertrauen macht wirklich einen großen Unterschied, ob Sie in einem Programm erfolgreich sein können oder nicht!
Ich habe mich aus vielen Gründen entschlossen, wieder zur Schule zu gehen. Das Wichtigste war wahrscheinlich Langeweile. Die Frontend-Webentwicklung war in meiner letzten Firma keine intellektuelle Herausforderung. Ich habe gelegentlich Backend-Programmierung gemacht, es hat mir gefallen und ich dachte, ich würde eine bessere Grundlage in der Informatik bekommen. Ein Master in CS öffnet auch Türen zu Jobs, die nicht verfügbar sind (weil einige Unternehmen keine Leute ohne mindestens einen B.S. in CS einstellen). Es spielt keine Rolle, wie gut Sie mit Algorithmen umgehen können. Es gab also definitiv viele Anreize, wieder zur Schule zu gehen ...
#3
+14
Steve Jessop
2014-08-07 13:52:47 UTC
view on stackexchange narkive permalink

Ich denke, der Mangel an Hintergrund ist ein großer Faktor.

Ich habe bereits einen Master in Mathematik, der vor 14 Jahren abgeschlossen wurde. Ich bin mir sicher, dass ich jetzt keinen Master in Mathematik machen kann, ohne vorher das Grundstudium durchzugehen. Ich bin mir ziemlich sicher, dass ein erneuter Besuch dieses Materials mehr als nur die Freizeit in Anspruch nehmen würde, die ich übrig habe, nachdem ich in der Freizeit einen Master von meinem Job gemacht habe. Natürlich ist Mathematik nicht dasselbe wie CS, aber ich denke, dass die gleiche Überlegung zutreffen würde CS-Master (obwohl, wie jeder sagt, es keineswegs garantiert genug ist). Aber 10 Jahre sind lang genug, um selbst zu vergessen, was Sie hatten, ganz abgesehen von der Tatsache, dass Sie nur ein paar Kurse hatten und nicht den Lehrplan eines Mathematik-Hauptfachs. Es ist nicht nur der Inhalt des Kurses (der größte Teil der Mathematik ist für CS irrelevant), sondern auch die Einstellung, "Mathematiker zu sein" und "Mathematik formal zu machen", die der in Ihrem Kurs geforderten Formalität ähnelt, aber in alltäglichen Apps meistens fehlt Programmierung. Wenn Sie so etwas wie ich sind, haben Sie bis zu einem gewissen Grad vergessen, wie man im erforderlichen Modus arbeitet. Das ist nicht mehr selbstverständlich.

Schauen Sie sich jetzt als Test die schwierigeren mathematischen und physikalischen Probleme an von den Kursen, die Sie besucht haben. Können Sie sie jetzt mit so etwas Leichtigkeit wie damals herunterladen? Selbst mit einem "offenen Buch", um Definitionen nachzuschlagen, an die Sie sich nicht erinnern? Wenn nicht, sind Sie jetzt weniger auf CS vorbereitet als damals, und wie jeder sagt, waren Sie damals nicht vollständig vorbereitet.

Ich denke, Ihre beste Informationsquelle ist, wer auch immer entschieden hat, dass Sie für den Kurs qualifiziert sind. Sie müssen gedacht haben, Sie könnten auf dem Laufenden bleiben. Erkundigen Sie sich bei Ihren Professoren, ob Sie die Dinge getan haben, von denen sie glauben, dass Sie sie vorbereiten müssten, und ob diese Vorbereitung nach Ihrem Zeitplan durchführbar ist. Bis Sie sich mit dem Mangel an Hintergrund beschäftigen, gibt es meines Erachtens keine Möglichkeit zu sagen, ob Ihnen die Eignung fehlt.

Das Alter sollte nicht von Natur aus ein Problem sein, da die Menschen in allen Fächern jeden Alters einen Abschluss machen. Ihr Leben voller anderer Dinge ist jedoch in gewissem Maße ein Hindernis. Ein Grund, warum ich vor 15 Jahren viel besser in Mathematik war als heute, ist, dass ich es vor 15 Jahren jeden Tag gemacht habe, normalerweise mehrere Stunden lang. Ich war einfach besser in der Lage, Informationen zu akzeptieren, die auf "mathematische" Weise geliefert wurden, was meiner Meinung nach CS-Kurse im Grunde sind. Zweifellos gibt es Material, das speziell für Teilzeitstudenten gedacht ist und Ihnen helfen könnte, "die Zone" zu erreichen und aufrechtzuerhalten.

Ich kann rekursive Gleichungen wie die Konstruktion von T (n) nicht verstehen ) = log (n) + O (1) von einem Algorithmus

Wenn Erklärungen, die für Ihre Kollegen funktionieren, für Sie nicht funktionieren, können Sie Einzelunterricht in Betracht ziehen. Das ist natürlich extrem teuer, aber wenn die Klasse hört "und dann den Master-Satz darauf wirft" und weiß, was das bedeutet und wie man die Details ausfüllt, und Sie nicht, dann haben sie eindeutig einen Hintergrund, den Sie nicht haben und so Sie benötigen Dinge, die nicht ausgefüllt sind.

Wenn Sie ich wären, würden Sie das Programm beenden?

Wenn ich Sie wäre, würde ich wahrscheinlich die Universität fragen (a), ob ich mit meinen Credits noch auf etwas anderes hinarbeiten kann, (b) ob es ein zugelassenes Mittel gibt, um das Programm langsamer zu machen und mehr Zeit zu geben fehlende Hintergründe ausfüllen, während ich gehe. Ich habe keine Ahnung, wie die Antworten lauten würden, aber ich möchte meine Optionen kennen, bevor ich ernsthaft darüber nachdenke, aufzuhören.

Wenn es sich nur um diesen einen Kurs handelt (zugegebenermaßen ein wichtiger, erfordern andere Kurse dies später) ) dann ist es durchaus möglich, dass du es irgendwann knackst. Es gab einen Grundstudiengang, den ich wiederholte (informell: meine Probleme wurden beim zweiten Mal nicht bewertet), auch nachdem ich ihn das erste Mal nach einem Standard abgeschlossen hatte, der bestanden hätte, wenn meine Universität so funktioniert hätte (nicht in den USA). Danach war es viel einfacher. Sie haben einige dieser Kurse zweimal gesehen, andere jedoch überhaupt nicht (da Sie sie das erste Mal fallen gelassen haben und diesmal nicht das Ende erreicht haben). Persönlich würde ich nichts voreiliges tun, bis ich mindestens einmal das Ende des Kurses erreicht hätte. Und wenn Sie einen Pass kratzen, heißt das nicht, dass Sie das härtere Material am Ende ein zweites Mal und das frühe Material ein drittes Mal nicht besuchen können. Obwohl Sie sich vermutlich erneut offiziell für die Klasse anmelden müssen, wenn Sie erneut bewertet werden möchten?

Ich fand es amüsant, dass Sie angesichts der Art der Frage (M.Sc.) den Master-Satz erwähnt haben.
@Mehrdad: Es ist durchaus möglich, dass ich das nicht als mein Beispiel angesehen hätte, wenn die Frage nach einer Promotion gewesen wäre.
Interessante Überlegungen. Ich habe vor 12 Jahren in theoretischer Physik promoviert und meine Erfahrungen sind etwas gemischt. Obwohl die Fähigkeiten, detaillierte Berechnungen durchzuführen, mit Sicherheit fast vollständig erodiert sind, habe ich das Gefühl, dass sich mein konzeptionelles Denken insgesamt nicht verringert hat. Das erneute Lesen von Teilen meiner Arbeit fühlt sich nicht fremd an, aber ich weiß, dass ich die Formeln auf einer einsamen Insel nicht wieder entdecken könnte.
#4
+8
user20464
2014-08-07 23:40:22 UTC
view on stackexchange narkive permalink

Ich denke, zuerst müssen Sie anfangen, das Thema ernst zu nehmen.

Ich hatte gehört, dass CS hauptsächlich Mathematik ist, und hatte daher den (falschen) Eindruck, dass es gut ist, in Mathematik gut zu sein.

Das ist wie "Ich hatte gehört, dass Basketball hauptsächlich läuft, also hatte ich den (irrtümlichen) Eindruck, dass gutes Laufen im Basketball bedeutet, gut im Basketball zu sein".

Ja, Sie ' Ich brauche dein Laufen. Nein, es rettet Sie überhaupt nicht vor dem Training wie die anderen. Weil jeder weiß , dass dies eine Voraussetzung ist.

Ich hatte eine ziemlich erfolgreiche Karriere als Front-End-Webentwickler und dachte, es wäre großartig, einen Abschluss zu haben, um so auszusehen wie ein legitimerer Programmierer als das, was meine Anthropologie BA Abschluss könnte bedeuten.

Ein Front-End-Webentwickler qualifiziert Sie für einen Informatik-Abschluss wie das Eingeben von 100 Wörtern pro Minute und qualifiziert Sie für einen Schreibmaschinenmechaniker.

Wenn Sie ich wären, würden Sie es tun Programm beenden?

Vor dem Beenden lohnt es sich möglicherweise zu prüfen, was erforderlich ist, um zu starten . Nur dann sind Sie in der Lage zu beurteilen, ob der Aufwand für Sie machbar / möglich ist und sich lohnt. Für einen Programmierjob ist ein CS-Abschluss von etwas geringem Wert.

Für einen Programmierjob in Schema würde ich wahrscheinlich genau hinschauen und ein Interview führen, bevor ich eine Entscheidung zwischen jemandem mit einem Abschluss in Altgriechisch und Arabisch treffe oder in der Informatik. Es besteht die Möglichkeit, dass der erstere so viel besser darin ist, analytisch und unkonventionell zu denken und keine Angst vor Herausforderungen zu haben, die ihm aus einer völlig anderen Disziplin weniger Probleme bereiten, als wenn er in einem anderen Programmiersprachenparadigma unterrichtet wird.

Ernsthaft. Wenn Sie also versuchen, einen CS-Abschluss zu machen, sollten Sie sich nicht darum kümmern, einen Abschluss zu machen. Es ist eine völlig andere und neue Fähigkeit. Wenn Sie in Ihrem derzeitigen Beruf arbeiten möchten, können Sie ihn möglicherweise nicht einmal sinnvoll einsetzen.

#5
+7
scaaahu
2014-08-07 07:42:09 UTC
view on stackexchange narkive permalink

Sprechen Sie zuerst mit Ihrem Berater. Er / Sie würde Ihre Situation viel besser kennen als wir.

Ich würde jetzt nicht aufhören, wenn ich Sie wäre. Ich denke, jetzt aufzuhören ist eine vorzeitige Entscheidung. Ich halte es für verständlich, dass Sie nicht sehr schnell aufholen können, insbesondere wenn Sie nur Teilzeit teilnehmen. Sie sollten wahrscheinlich Kurse auf niedrigerem Niveau (wahrscheinlich Grundstudium) belegen, um das vor 10 Jahren erworbene Wissen aufzufrischen. Wenn Sie sie immer noch nicht sehr gut ausführen können, sollten Sie sie beenden.

Ich bin ein berufstätiger Erwachsener und kein Kind mehr, kann also nicht Vollzeit arbeiten und meine Eltern, die im Ruhestand sind, bitten, mich durch die Graduiertenschule zu unterstützen ... Ja, ich werde auf jeden Fall mit meinem Berater sprechen, wenn ich scheitern diese Algorithmen natürlich ...
@MNRC Welche Zeit- / Notenbeschränkungen haben Sie? Ich habe einige Programme gesehen, die mehr als 4 Jahre oder zwei Noten weniger als ein B sagen, und Sie sind raus.
Ich möchte hinzufügen, dass ich überrascht bin, dass zumindest ein Teil davon nicht bereits bei Ihrer Einschreibung in das Masters-Programm mit Ihrem Berater besprochen wurde. Stellen Sie außerdem sicher, dass Sie mit den Ressourcen vertraut sind, die für ältere Schüler verfügbar sind, und lassen Sie Ihr Alter nicht daran hindern, gegebenenfalls mit Ihren Klassenkameraden zu arbeiten / zu lernen. Manchmal bedeutet es nicht, dass Sie einen Verzicht auf eine Voraussetzung erhalten sollten; Wenn Sie oder Ihr Berater der Meinung sind, dass dies tatsächlich mehr schadet als Ihnen hilft. In diesem Fall von widersprüchlichen Meinungen ist es akzeptabel, eine zweite Meinung von einer anderen Einrichtung einzuholen.
_Ich werde auf jeden Fall mit meinem Berater sprechen, wenn ich diesen Algorithmuskurs nicht bestehe_ Nein, ich empfehle es ** jetzt ** zu tun, während Sie noch in Ihrem Programm einen guten Ruf haben. IMHO sollte ein Großteil der Diskussion ** vor ** dem Unterricht stattfinden.
@MNRC Ich habe noch nie einen MS in CS-Studenten in einem Top-25-Programm in den USA getroffen, das von seinen Eltern unterstützt wurde. Ich traf jedoch einige, die Familien hatten (darunter mehr als ein Kind zur Unterstützung) und dennoch Vollzeit studieren konnten, da die meisten Assistenzstellen mit Stipendien erhalten. Für Ihren Fall halte ich es für sinnvoll, Teilzeit zu studieren, aber ich denke nicht, dass Sie die Fähigkeit anderer Menschen, Vollzeit zu lernen, darauf zurückführen sollten, dass sie Eltern haben, die bei den Kosten helfen.
#6
+5
cs_alumnus
2014-08-08 19:34:34 UTC
view on stackexchange narkive permalink

Im Grundstudium ist "Datenstrukturen und Algorithmen" in der Regel der Ausschlusskurs für unsere Abteilung. Die Schüler nehmen es in ihrem zweiten Jahr, nachdem sie eine Einführung in die Programmierung hatten. Die Art von Problemen, auf die Sie in diesem Kurs stoßen, hilft Ihnen beim Nachdenken über das Codieren. Es ist jedoch sehr gut möglich, in der Front-End-Webentwicklung zu arbeiten, ohne auf sie zu stoßen. In der Regel befindet sich der Ort, an dem diese Art von Logik am nützlichsten ist, im Backend und nicht in der Anzeigeebene.

Die Abschlussversion dieses Kurses ist wahrscheinlich der schwierigste und ungewohnteste Kurs, mit dem Sie sich befassen müssen zu Ihren Fähigkeiten. Es ist auch einer der wenigen Orte, an denen ein festes Verständnis der diskreten Mathematik sehr hilfreich sein wird. Es ist sehr häufig, dass Studenten aus anderen Disziplinen oder Universitäten, die dies nicht gut behandelt haben, Probleme mit diesem Kurs haben. Häufig besteht die Lösung darin, dass sie zuerst den Grundstudiengang prüfen.

Wenn Sie nach einiger Erfahrung feststellen, dass Sie an "Datenstrukturen und Algorithmen" und "formalen Sprachen und Automaten" interessiert sind ", dann könnte ein theoretisch fokussierter Informatik-Abschluss für Sie interessant sein. Wenn Sie dies nicht tun, kann es für Sie interessant sein, sich auf verwaltungsrelevante Kurse wie Software-Engineering zu konzentrieren. Wenn Sie an diesem Programm teilnehmen, weil Sie um Ihrer selbst willen mehr lernen möchten, ist es großartig, dass Sie das herausholen, was Sie in das Programm gesteckt haben. Wenn Sie an diesem Programm für den beruflichen Aufstieg teilnehmen, hilft Ihnen dieser Abschluss möglicherweise bei Positionen auf Landmanagementebene, hat jedoch nur geringe oder keine Auswirkungen auf Ihre Fähigkeit, Positionen auf Entwicklerebene für Frontend-Arbeiten zu finden. Dies kann einige neue Möglichkeiten für Back-End-Arbeiten eröffnen. Wenn dies jedoch Ihr Interesse ist, ist die Zertifikatsroute für Sie möglicherweise viel billiger und schneller. Als Entwickler ist Ihre 10-jährige Erfahrung weitaus wertvoller als die eines Masters in CS.

> Wenn Sie gleichzeitig an Kursen für Hochschulabsolventen teilnehmen müssen, nehmen Sie an einigen weichen Fächern wie Software-Engineering teil, die Ihnen wahrscheinlich viel vertrauter sind.

Auch wenn die Kursarbeit für Algorithmen ziemlich genau definiert ist, Nicht alle Bücher sind gleich. Ich empfehle http://mitpress.mit.edu/books/introduction-algorithms.

"Es ist sehr gut möglich, in der Front-End-Webentwicklung zu arbeiten, ohne auf [Datenstrukturen und Algorithmen" zu stoßen. Vielleicht ist das der Grund, warum so viele Webanwendungen die CPU überlasten, als gäbe es kein Morgen?
Es erklärt auch viel über die Datenbankstrukturen, die ich in freier Wildbahn sehe, und die dumme Begeisterung für relationale Datenbanken nach dem Posting (sollte es nicht "vor" sein?). Ganz zu schweigen von dem Video auf Youtube, in dem sich Facebook-Nutzer zur Erstellung eines Transaktionsmanagers beglückwünschen, der Warteschlangen verwendet, um gleichzeitige Updates zu serialisieren. Sie nennen es nicht so, weil sie in letzter Zeit völlig ahnungslos sind, dass sie zur Party gehören.
#7
+4
The Real Edward Cullen
2014-08-08 20:57:14 UTC
view on stackexchange narkive permalink

Ich musste eine separate Antwort hinterlassen, weil ich nicht genug Repräsentanten habe, um sie als Kommentar zu @ Lacoppidans Antwort zu verwenden.

Zunächst begrüße ich Sie zu Ihren Versuchen, ein richtig zu werden Programmierer;)

Zweitens möchte ich einige der BS, die andere geschrieben haben, scotchen:

  1. Sie brauchen nicht einen Bachelor-Abschluss in CS, es sei denn, der Kurs sagt, dass Sie dies tun . Viele Masterstudiengänge sind darauf ausgelegt, disziplinübergreifende Studenten aufzunehmen, was bei Ihnen eindeutig der Fall ist, da es sonst nicht einmal ein DS&A-Modul hätte waren nicht!
  2. Alter ist wahrscheinlich kein wichtiger Faktor. Ja, die Neuroplastizität nimmt mit zunehmendem Alter ab, aber das bedeutet nur, dass Sie härter arbeiten müssen, nicht , dass Sie es nicht können. Sicherlich habe ich festgestellt, dass es Dinge gibt, die ich intuitiv verstehen kann, jetzt wo ich es nicht konnte, als ich jünger war. Wenn Sie ein festes / stabiles Leben und einen festen Arbeitsplatz zu Hause haben, haben Sie einen massiven Vorteil gegenüber vielen anderen, da Angst der größte Blocker für das Lernen ist, den Sie bekommen können.
  3. ol>

    Es riecht für mich, als hätten Sie zwei verschiedene Dinge, die gegen Sie arbeiten:

    1. Sie arbeiten in Teilzeit.
    2. Sie machen sich Sorgen über das Vorbeigehen; darüber, ob Sie es schaffen.
    3. ol>

      Teilzeit ist ++ schwer (siehe, was ich dort gemacht habe ?;)) - die wertvollste Ressource, die Sie haben Universität sind Ihre Kollegen. Ich fand heraus, dass es mir enorm geholfen hat, nur andere Leute zu haben, mit denen ich über Dinge sprechen konnte, sowohl mein Verständnis zu verbessern und mein Wissen zu festigen als auch mein Selbstvertrauen aufzubauen.

      Also, mein Tipp Nr. 1 an jeden Ein Kurs auf Universitätsniveau ist: Finden Sie Leute in Ihren Kursen, mit denen Sie zurechtkommen, und bauen Sie Beziehungen zu ihnen rund um die Arbeit auf. Mach dir keine Sorgen um das Alter, mach dir Sorgen, ob diese Leute dir helfen zu verstehen, was los ist oder nicht.

      Machen Sie sich auch keine Sorgen, wenn Sie jemanden um Hilfe bitten - Sie tun ihm tatsächlich einen Gefallen , indem Sie ihn dazu bringen, es Ihnen auf eine Weise zu erklären, die Sie verstehen können . Klingt seltsam, ich weiß, aber wenn Sie jemandem etwas erklären müssen (der vielleicht so klug ist wie Sie) oder nicht, zwingt Sie , Ihr Thema besser zu verstehen. um deine eigenen Gedanken zu organisieren. Ich bin sicher, Sie wissen aus Ihrer Praxis, dass es nicht ausreicht, „gut“ und „klug“ zu sein - Sie müssen in der Lage sein, Ihre Ideen anderen mitzuteilen und zusammenzuarbeiten, weil Interessante Software ist nicht trivial und nicht triviale Software ist ein zu großer &-Komplex, als dass eine Person ihn alleine ausführen könnte.

      Wenn Sie sich Sorgen machen, ob Sie erfolgreich sind oder nicht, werden Sie immer zurückgehalten. Es ist etwas, mit dem ich oft zu kämpfen hatte.

      Eine Strategie, die für mich funktioniert, besteht darin, sich nur auf das Lernen von Sachen zu konzentrieren. Lerne einfach alles , was mit dem Kurs zu tun hat. Lesen Sie zum Teufel! Konzentrieren Sie sich auf das, was Sie interessant finden. Und schreiben Sie viel Code.

      Wenn Sie sich darauf konzentrieren, nur zu lernen , können Sie viel mehr aus der Zeit herausholen und zufriedener mit dem sein, was Sie haben gelernt. Es mag zwar nicht helfen, Ihren Kurs zu bestehen, aber die Chancen stehen gut, denn wenn Sie sich wieder angewöhnt haben, nur Dinge zu lernen, fällt es Ihnen leichter, die Dinge zu lernen, die Sie bestehen müssen.

      Eine andere Strategie besteht darin, mehr Code zu schreiben. Eine Sache, von der ich als Student definitiv nicht genug getan habe, war, genug Code zu schreiben. Dies ist besonders wichtig für Dinge wie DS&A - die einzige Möglichkeit, sich mit einem Algorithmus oder mit Dingen wie Zeigermanipulation wirklich vertraut zu machen, besteht darin, dies zu tun. Viele.

      Wenn Sie es können und erklären können, wie es funktioniert, dann verstehen Sie es.

      Hier sollte Ihre breitere Erfahrung ins Spiel kommen. Sie haben 10 Jahre Erfahrung im Schreiben von Code, haben also zweifellos viele Techniken und Fähigkeiten erlernt, die Ihnen helfen werden. Verwenden Sie sie!

      Verwenden Sie Dinge wie Trockenlauf (etwas, von dem ich glaube, dass es heutzutage nicht viel gelehrt wird, aber es ist immer noch ein fantastisches Werkzeug, insbesondere zum Erlernen von DS&A) und / oder interaktives Debuggen, um es zu durchlaufen Ihre Ausführung.

      Die dritte Technik, die ich wirklich hilfreich fand, ist Mind-Mapping. Ich nutzte es, um die Lücken in meinem Wissen zu schließen, indem ich ein Thema in seine Bestandteile zerlegte, die Dinge untersuchte, die ich nicht verstand, und dann zum übergeordneten Thema zurückkehrte, während dieses neue Wissen in meinem Kopf frisch war.

      Zum Beispiel (sorry, keine Bilder) könnte sich das Thema 'verknüpfte Listen' in folgende Teile zerlegen:

  • Liste
  • Zeiger
  • Kopf
  • Schwanz
  • dynamische Speicherzuweisung

Ich würde mir dann jede dieser Komponenten ansehen und mich fragen: "Weiß ich Bescheid?" was ist das alles? " Wenn die Antwort "Ja" lautet, gehe ich weiter. Wenn "Vielleicht", überprüfe ich mein Wissen mit Google. Wenn "Nein", erstelle ich ein separates Blatt und arbeite daran, bis ich es tue (bei Bedarf weiter zerlegen). Auf diese Weise werde ich, wenn ich das nächste Mal zu einem Thema komme und "verknüpfte Liste" sehe, entweder:

  • wissen, was eine verknüpfte Liste ist und wie sie funktioniert; oder
  • haben eine gute Reihe von Notizen, mit denen ich mein Gedächtnis schnell auffrischen kann.

Wieder üben, üben, üben. Je mehr Code Sie schreiben und debuggen müssen, desto besser können Sie verstehen, was los ist.

Dies wurde zu einer viel längeren Antwort, als ich beabsichtigt hatte, aber ich hoffe, Sie finden sie nützlich .

#8
+3
Jen
2014-08-07 23:12:42 UTC
view on stackexchange narkive permalink

Ich bin leicht verwirrt darüber, wo Sie mit Ihren Meistern angefangen haben? Aber hier ist meine Erfahrung als jemand in ähnlichen Schuhen.

Ich habe einen Bachelor-Abschluss in Politikwissenschaft, wollte aber einen Master in CS machen. Um dies zu tun, musste ich von Grund auf neu anfangen und meinen Bachelor-Abschluss verschieben, um die erforderlichen Kurse für die Masters zu belegen. Hier ist für jeden etwas dabei: Es ist schwierig, spät im Spiel in CS einzusteigen. Sie haben keine Erfahrung gemacht, während andere reichlich Erfahrung hatten (da so viele entweder aus dem Autodidakt stammen oder es in der High School sehen).

CS zu lernen kann entmutigend sein, und ich würde anhand Ihrer Aussagen raten Aufgabe ist es, dass Sie keine grundlegende Sache über das Programmieren erkennen, und das soll es anderen Programmierern leichter machen. Was ich von vielen webbasierten Programmen gesehen habe, ist, dass viel Backdoor-Programmierung stattfindet. Das ist keine schlechte Sache, aber wie andere betont haben, unterscheidet sich die Programmierung von CS.

Um ehrlich zu sein, klingt dies nach einer persönlichen Entscheidung und ist nicht wirklich schwer für Vor- und Nachteile, die nicht persönlich sind. Sie bekommen es nicht, weil Sie keine Optionen mehr haben, weil Sie es schon immer lernen wollten oder weil Ihr Job es erfordert. Du gehst, weil du denkst, es könnte dir auf dem Papier helfen. Ich sage nicht, dass das ein schlechter Grund ist, aber es ist sicher nicht hilfreich in der Motivationskategorie.

Ich habe viele Leute gekannt, die ihren BS in CS bekommen und sie saugen daran. Sie scheitern in fast jeder Klasse (oder kommen kaum vorbei). Aber Mann, bleiben sie immer noch dabei (zum Guten oder Schlechten, wer weiß das wirklich). Ich sage also, dass Sie nicht allein sind, wenn es darum geht, ein CS-Thema schwierig oder verwirrend zu finden. Es ist mehr, ist es die Mühe für Sie am Ende des Tages wirklich wert?

Oh, eine letzte Sache, haben Sie Angst, Fragen zu stellen, wenn Sie ein älteres Mitglied der Klasse sind? Sitzen Sie nur hoffnungslos da, haben aber Angst, dass jeder mehr weiß als Sie? Wenn ja, hör auf damit. Sie wissen nicht mehr als Sie und werden es möglicherweise nicht noch schlimmer bekommen. Gehen Sie zurück zu Ihrem 20-jährigen Studenten. Was würden Sie dann tun? Sie würden mit Ihren Klassenkameraden und Lehrern sprechen, um ein besseres Verständnis zu erhalten. Wenn Sie dies bereits tun, ist das gut für Sie, aber wenn nicht, werden Sie möglicherweise überrascht sein, wo Sie tatsächlich in der Klasse stehen. (Ich hatte Kurse, in denen nur das Verschrotten als eine Errungenschaft angesehen wird, da es eine unglaubliche Ausfallrate gibt.)



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...