Kann man eine solide Programmgrundlage bekommen, ohne ein College oder eine Universität zu besuchen? [geschlossen]


28

Zunächst habe ich die Site bereits durchsucht und alle vorherigen Themen zu "Autodidakt vs. College" gelesen. Die Mehrheit der Antworten vertrat die Ansicht, dass der Besuch des Colleges aus zwei Hauptgründen die beste Wahl sei:

  1. Wenn Sie zur Universität gehen, erhalten Sie die Zeitung, die für die Jobsuche besonders in wirtschaftlich schwierigen Zeiten unerlässlich ist.

  2. Der Besuch des Colleges bietet Ihnen eine solide Programmiergrundlage und vermittelt Ihnen die Grundsätze, die unabhängig von der Sprache / dem Weg, den Sie einschlagen, von entscheidender Bedeutung sind.

Hier kommt meine Frage: Ich mache mir keine Sorgen um Grund 1, weil ich bereits eine eigene Firma (ich baue Websites / mache Affiliate-Marketing) und eine stabile finanzielle Situation habe, so dass ich mir ziemlich sicher bin, dass ich mich nicht umsehen muss für einen Job.

Ich mache mir allerdings Sorgen um Grund 2. Das heißt, ich möchte sicherstellen, dass ich eine solide Programmgrundlage habe wie jeder andere da draußen, und ich frage mich, ob das mit Selbstlernen möglich ist.

Angenommen, ich nehme mir Zeit, um die Grundlagen wie diskrete Mathematik, Algorithmusdesign, Programmierlogik, Computerarchitektur, Assemblierung, C-Programmierung, Datenbanken und Datenstrukturen zu studieren - hauptsächlich unter Verwendung von Büchern, Online-Ressourcen und viel Codierung. Angenommen, ich verbringe 1-2 Jahre damit, diese Grundlagen zu besprechen.

Glaubst du, dass mein Fundament solide wäre oder immer noch fehlt im Vergleich zu jemandem, der aufs College gegangen ist?


2
Es gibt wahrscheinlich mindestens eine Person auf diesem Planeten, die das kann. Grund 1 ist übrigens immer noch wichtig. Wenn alles andere gleich ist, würden "sie" normalerweise immer noch jemanden bevorzugen, der formeller ausgebildet ist.
Job

1
Ich kann Ihnen eines sagen, Sie werden nicht herausfinden, was solide an einer Universität bedeutet.
Peter Turner


Der Punkt ist, dass es zehn Jahre dauert , um Programmieren zu lernen, und einige dieser Jahre an einer Universität zu verbringen, kann helfen.
Basile Starynkevitch

Antworten:


17

Auf jeden Fall. Ja es ist möglich. Wie soll ich wissen? Weil ich es getan habe!

Es ist schwierig. Machen Sie sich darüber keine Illusionen. Ohne einen Tutor, zu dem man gehen kann, wenn die Dinge nicht funktionieren, muss man selbst Probleme herausfinden. Es gibt viel zu lernen und wenn Sie nicht selbst motiviert oder nicht engagiert genug sind, können Sie es nicht tun. Für mich ist es schwierig, motiviert zu sein, aber ich lerne und programmiere so gerne, dass ich mich nicht selbst bekämpfen muss.

Einige Hinweise:

  • Lerne beim machen! Möchten Sie wissen, wie Binärbäume funktionieren? Mach eins.
  • Tun Sie es, indem Sie lernen. Stellen Sie sich ehrgeizige Projekte vor, in denen Sie neue Dinge lernen müssen, um sie zu Ende zu bringen. Achtung: Wenn Sie sich selbst Projekte setzen, die zu schwierig sind, ist es leicht, entmutigt zu werden. Wenn Sie sich jedoch Projekte setzen, die zu einfach sind, werden Sie nicht viel lernen. Sie suchen eine Butterzone.
  • Beginnen Sie mit C. Hochsprachen machen Sie faul. Ich hätte C nie gelernt, wenn ich zuerst Python gelernt hätte.
  • Wikipedia sollte Ihre erste Anlaufstelle für alle Konzepte sein, die Sie lernen müssen.
  • Es spielt keine Rolle, ob Sie ein einzelnes Projekt nie fertig stellen (schließlich, was fertig ist). Es ist viel wichtiger, dass Sie neue Dinge lernen. Das heißt nicht, dass Sie niemals versuchen sollten, ein Projekt zu beenden. Es kann ein großer Motivationsschub sein, etwas zu sehen, das Sie zum Arbeiten gebracht haben. Es ist einfach, sich von der Seite zu verfolgen. Machen Sie sich keine Sorgen, wenn Sie dies tun.

Woher weißt du, wann du fertig bist? Nun, der Grund, warum Sie einen Abschluss machen, ist, dass Sie die Programmierung beherrschen. Wenn Sie sicher sind, dass Sie in angemessener Zeit jede Software schreiben können, sind Sie Programmierer, aber das bedeutet nicht, dass Sie aufhören sollten zu lernen.

Übrigens leide ich jetzt unter Punkt eins. Es hilft auch nicht, weit weg von Softwareentwicklungsunternehmen zu sein.


Hier gilt das gleiche. Ich habe einen Abschluss für die Zeitung bekommen. Ich habe nicht zu viel gelernt, meistens alles, was ich bereits wusste. Ich habe gelernt, dass ich Java mehr hasste, als ich ursprünglich gedacht hatte (ich musste es für mein letztes Projekt verwenden), und ich hatte einen großartigen Professor, der uns aus seiner persönlichen Erfahrung lehrte, wo ich viele Dinge gelernt habe.
Echo sagt Reinstate Monica

@ Echo, war es das wert?
Dan_waterworth

@Dan_waterworth, das denke ich gerne.
Echo sagt Reinstate Monica

Ich denke, es ist viel sinnvoller, mit einer höheren Programmiersprache zu beginnen, insbesondere mit Python. Natürlich hängt es von der Art der Aufgaben ab, die Sie angehen möchten, wenn Sie mit dem Erlernen der Grundlagen fertig sind: Wenn Sie Hardcore-Systemprogrammierung durchführen möchten, wählen Sie die C-Route, wenn Sie Endbenutzeranwendungen entwickeln möchten, verwenden Sie Mach dir nicht die Mühe mit C und nimm so etwas wie Python.
Zsolt Török

nicht einverstanden mit dem C-Teil. Sie möchten auf einem hohen Abstraktionsniveau bleiben. Sie können argumentieren, dass C Sie faul macht, Maschinencode lernen! Wenn Sie keine C-Performance benötigen, ist es in Ordnung, bei Python zu bleiben.
Segfault

12

Ich denke, die wichtigste Bezeichnung für das College / die Universität ist es, dir beizubringen, wie man Dinge auf eigene Faust lernt. Es ist egal, ob es sich um Programmieren, Physik, Chemie, Mathematik usw. handelt. Die Universität hat mir beigebracht, wie man ohne Hilfe lernt.


1
Nun, ich habe bereits einen Abschluss in International Economics, so dass ich diesen Teil abgedeckt habe.
Daniel

1
Ich habe einen Freund, der einen Abschluss in <noname> hat und ein erfolgreicher Flash / PHP-Programmierer ist. Ich denke, es liegt ganz bei dir. Ich habe zum Beispiel einen Abschluss in Physik, aber ich bin ein Softwareentwickler. Vor zwei Jahren habe ich beschlossen, einen Master in CS zu machen, nur weil ich es wollte, nicht weil ich es brauchte.
Sorantis

5
Meine College-Ausbildung hat mir beigebracht, in 1-2 Tagen eine neue Computersprache in Online-Tutorials zu erlernen. Wenn Sie das schon können, haben Sie eine großartige Lektion gelernt.
apoorv020

1
Ja, aber Sie müssen ein engagierter Autodidakt sein.
Dietbuddha

3
Manche Menschen müssen nicht lernen, wie man selbständig lernt.
Dan_waterworth

6

Einige Menschen gedeihen im akademischen Umfeld und verlangen sogar von ihnen, dass sie lernen (normalerweise als eine Form der Motivation). Andere (wie ich) tun es nicht und finden sie sogar abstoßend.

Ich hatte eine lange Karriere in der Software ohne Abschluss. Gegen Ende dieser Karriere hatte ich eine architektonische Rolle inne, und der leitende Architekt meines Projekts sagte, dass meine Kenntnisse in Software und Informatik (die beiden sind nicht dasselbe!) Mit einem Master der Waterloo University (eins) gleichzusetzen seien der besten CS-Schulen Kanadas).

Natürlich gibt es einige Mängel in meinem Wissenspool. Meine mathematischen Fähigkeiten reichen nur aus, um mit dem, was ich heute lerne, Schritt zu halten. Ich hasse reine Mathematik und kann im Allgemeinen nicht gezwungen werden, mich über das Neueste und Beste auf dem Laufenden zu halten. Dies hat gelegentlich zu einer Verschlechterung meines Verständnisses der Dinge geführt (wie beispielsweise Haskell), bis ich meine mathematischen Fähigkeiten auf ein ausreichendes Niveau gebracht habe, um die Konzepte zu verstehen. Es bleibt jedoch die Tatsache, dass die Informationen verfügbar sind, ohne dass ich mich in der Nähe eines Universitäts-CS oder einer Mathematikabteilung befinde. Eigentlich kann ich nur sagen, dass meine Lernsequenz manchmal nicht optimal ist - ich muss gelegentlich zurückverfolgen und Grundlagenmaterial einfüllen, bevor ich mit dem, was ich tue, fortfahren kann.


4

Ich denke, Ihr Fundament wird solide sein, vorausgesetzt Sie haben die Disziplin, sich zu setzen und sich all diese Dinge beizubringen und die Beispiele durchzuarbeiten. Ich habe einen Abschluss, aber er ist Ingenieur, nicht Informatik. Ich habe mit vielen ausgezeichneten professionellen Programmierern zusammengearbeitet, die sich alles beigebracht haben, was sie wissen müssen. Selbststudium ist sowieso etwas, was Sie brauchen, um ein guter Programmierer zu sein, da es immer eine neue Technologie gibt, die Sie in der Schule nicht gelernt haben.


3

Wie bei den meisten Dingen im Leben ist meine Antwort fest, es hängt von der Person ab . Ich bin der festen Überzeugung, dass Sie keinen Bachelor-Abschluss brauchen, um Programmierer zu sein. Meiner Erfahrung nach neigt das College jedoch dazu, Menschen Themen und Ideen auszusetzen, denen sie durch unabhängiges Lernen möglicherweise nicht auf eigene Faust begegnen.

In der heutigen Zeit kann eine motivierte Person online gehen und dank Quellen wie MIT Open Courseware einen Kurs für ein unabhängiges Studium zusammenstellen, der ihnen eine ziemlich breite Wissensbreite verleiht , und das ist diese Wissensbreite, die ich fühle Was macht einen guten Entwickler aus? Allerdings könnte jemand, der nicht so selbstmotiviert ist, feststellen, dass er in der Lage ist, eine einzelne Sprache zu lernen, und möglicherweise nur beruflich.

Wie ich bereits sagte, bin ich der Meinung, dass es die Breite des Wissens ist, die einen guten Entwickler ausmacht, da dies bedeutet, dass er mehr Problemen ausgesetzt war und seine Fähigkeiten zur Problemlösung entwickelt hat. Sie müssen nicht zur Schule gehen, um diese Wissensbreite zu erlangen, aber die Schule hilft in dieser Hinsicht definitiv, da ein guter Studiengang Sie zwingen wird, eine Wissensbreite zu entwickeln.


2

Als Programmierer spiele ich ständig mit nicht arbeitsbezogenen APIs und Sprachen (Ruby on Rails, Python, Node.js usw.). Ich mache das eher aus Interesse als für die Arbeit. Ich habe 2 Associates-Abschlüsse, aber selbst nach 10 Jahren Programmieren in Java / JEE vermisse ich die Theorie eines BS-Abschlusses (Big O, Algorithmen, Deskrete Mathematik usw.).

Ich nehme an Teilzeit-Abendkursen teil, um meinen Abschluss in Computer-Informationssystemen zu machen, aber in diesem Programm wird nicht viel CS-Theorie angeboten. Ich mache mein Studium hauptsächlich mit dem "Papier", da es eher geschäftlicher als technischer Natur ist, aber es ist meine einzige Option für Abendkurse.

Schauen Sie sich MIT Open Coursware an . Es ist kostenlos und eine großartige Ressource, um die Lücken der CS / Math-Theorie zu füllen.


2

Ich halte es für falsch zu glauben, dass das College / die Universität Ihnen per Definition eine gute Grundlage für die Programmierung bietet. Sie werden Ihnen viel Theorie beibringen und viele verschiedene Arten, über ein Problem nachzudenken. Das ist alles schön und gut, aber diese Theorie in die Praxis umzusetzen, ist eine andere Fähigkeit.

Der einzig wirksame Weg, um die richtige Anwendung der Theorie zu lehren, ist Mentoring und Handeln. Kurz gesagt, Sie müssen versuchen, die Theorie so gut wie möglich anzuwenden und sich auf jemanden mit mehr Erfahrung verlassen, der Sie konstruktiv kritisiert oder Sie in die richtige Richtung weist. Ihr Mentor wird Ihre Arbeit nicht für Sie erledigen, sondern Ihnen helfen, Ihre Arbeit besser zu erledigen.

Ich wäre nicht der Entwickler, der ich heute bin, ohne die Hilfe einiger guter Mentoren zu Beginn meiner Karriere. Die Arbeit an Open Source-Projekten ist ein guter Weg, um Mentoren zu finden, die bereit sind, einige Zeit damit zu verbringen, Details herauszufinden. Zumindest war das meine Erfahrung. Ich hatte auch einen Mentor in meinem ersten Programmierjob, der mir half zu verstehen, wie man einfach erweiterte Anwendungen entwirft.

Gibt es einen Vorteil für das College / die Universität? Ja. Sie können Ihnen jedoch nicht dabei helfen, die Theorie in die Praxis umzusetzen, es sei denn, Sie nehmen sie selbst in die Hand. Wenn Sie versuchen, das, was Sie an der Universität lernen, anzuwenden, können Sie die richtigen Arten von Fragen stellen, die Ihnen helfen, die Theorie auf einer praktischeren Ebene wirklich zu verstehen. Wenn Sie warten, bis Sie im Job sind, haben Sie gerade diesen wichtigen Lernprozess verzögert.


Zustimmen. Fast die gesamte Geschäftsprogrammierung, die ich gemacht habe, war vergleichbar mit der Arbeit in einem Handwerk wie einem Schreiner. Ich denke, ein Programmierlehrling / Geselle / Meister wäre hilfreicher als eine Universität, um das Programmieren zu lernen.
cfeduke

2

Die Menschen neigen dazu, die Bedeutung der theoretischen Grundlagen, der Mathematik und des algorithmischen Wissens IMO zu überschätzen. Die Gründe, warum Programmierer diese Dinge pushen und interviewen, sind, dass sie selbst Mathematikfans sind.

Jetzt gibt es natürlich einige Programme, bei denen es nützlich ist zu wissen, was eine "Zustandsmaschine" ist oder wie man eine "Booyer-Moore" -Suche verwendet. Es gibt sogar einige Probleme, bei denen es nützlich sein kann, echte Mathematik zu kennen, z. B. wenn Sie mit Finanzberechnungen oder Physiksimulationen arbeiten.

Die Sache ist jedoch, dass 90% der Programmierung im Allgemeinen keine davon ist, und nicht viele von uns entwickeln Hardcore-Algorithmen. Die meisten Dinge, die Sie lernen müssen, können Sie im Laufe der Zeit lernen. Sie müssen kein riesiges Fundament errichten, sondern müssen stets neugierig sein, wie Sie verschiedene Probleme lösen können.

Ich selbst bin zu 100% Autodidakt und hatte noch nie Probleme, etwas über Algorithmen zu lernen. Ich habe meine Arbeit mit Finanzsystemen gemacht und auch das war ohne tiefere theoretische Mathematikkenntnisse machbar.

Gute Programmierkenntnisse sind keine Grundvoraussetzungen, sondern es geht darum, die Toolbox ständig zu erweitern, und das Lernen, das Sie erhalten, ist um vieles mehr wert, wenn Sie es in einen Zusammenhang mit einem Problem stellen können, das wirklich gelöst werden muss und nicht nur theoretische Forschung.

Sie müssen nicht alles im Detail wissen, dafür gibt es Google, StackOverflow und Wikipedia :) Sie müssen jedoch die Existenz verschiedener Tools und Methoden kennen, um zu erkennen, dass sie für Ihre Situation brauchbar und anwendbar sind. Sie müssen auch die Erfahrung machen, welches Tool am besten geeignet ist. Grundlagen werden in der Regel von Anfängern verwöhnt, da sie nicht wissen, warum ein bestimmtes Werkzeug nützlich ist. Wenn Sie viel Erfahrung haben, werden einige Dinge einfach "einrasten".

Einige Dinge, die ich empfehlen würde:

  • Wenn Sie dies nicht getan haben, lernen Sie die Entwurfsmuster kennen. Dies ist das praktischste und universellste Werkzeug in Ihrer Toolbox.

  • Lesen Sie einige allgemeine Übersichten über verschiedene Algorithmen, wenn Sie neugierig sind, damit Sie wissen, was vorhanden ist, wenn Sie einen benötigen

  • Erfahren Sie mehr über Parallelisierung und Multithreading (und einige funktionale Programmierung). Die Fähigkeit, mehrere Kerne zu unterstützen, ist heutzutage wichtig und wird bald nicht mehr erforderlich sein, daher ist dies ein entscheidendes Wissen.

  • Mache herausfordernde und experimentelle Hobbyprojekte, die deine Fähigkeiten voranbringen und dich zwingen, Dinge im Kontext zu lernen.


Ihre Schätzung, dass etwa 90% der Programme keinen starken theoretischen Inhalt haben, ist wahrscheinlich ungefähr richtig. Leider werden die meisten Programmierer in regelmäßigen Abständen auf die anderen 10% stoßen, daher wird es benötigt.
Orbling

2

Eine Sache, die Ihnen das College dabei helfen wird, wenn Sie Schwierigkeiten haben, sich selbstständig zu machen, ist die Fähigkeit, akademische Forschungsarbeiten, insbesondere Mathematik, zu lesen und zu verstehen. Auch dies kann auf eigene Faust erreicht werden. Es ist jedoch hilfreich, dass Sie von Lehrern und Kollegen im Lernprozess angeleitet werden, um das Wissen schneller und einfacher zu erlangen.

Als allgemeiner Programmierer von Informationssystemen werden Sie wahrscheinlich keine Forschungsarbeiten lesen, um gute Ergebnisse zu erzielen. Die heutigen Informationssysteme sind recht einfach und die meisten intensiven Algorithmen wie Suchen, Sortieren und Indizieren werden von den Datenbanksystemen ausgeführt. Solange Sie die Konzepte verstehen, sollten Sie keine Schwierigkeiten haben.

Wenn Sie sich für schwierigere Programmierbereiche wie die Entwicklung von Mikrobetriebssystemen, die Entwicklung von Compilern, künstliche Intelligenz usw. entscheiden, kann die Fähigkeit zum Lesen und Verstehen von Forschungsarbeiten für die schnelle und effiziente Implementierung von Systemen von entscheidender Bedeutung sein.

Das Wissen anwenden zu können, ist sehr individualistisch. Menschen, die ein College besuchen, sind möglicherweise nicht in der Lage, die Prinzipien auch auf jemanden anzuwenden, der kein College besucht. Es gibt ein altes Sprichwort: "Es ist nicht wichtig, was reinkommt, sondern was herauskommt."

Zusammenfassend lässt sich sagen, dass das Wissen, das Sie durch das Studium erhalten, Ihnen helfen kann, die akademische Welt besser zu verstehen und mit ihr zu kommunizieren. Das Wissen kann jedoch auch ohne College-Abschluss erworben werden. Ein Abschluss erleichtert es, andere davon zu überzeugen, dass Sie wissen, was Sie tun, und akademische Forschungsarbeiten verstehen.


2

Ich denke nicht, dass viele Menschen durch das Selbststudium eine so gute "Grundlage" bekommen wie durch das Studium, zumindest nicht im gleichen Zeitrahmen. Zwei Jahre Lesen von zufälligen Büchern und Spielen mit Spielzeugproblemen in Ihrer Freizeit bringen Sie nicht auf das gleiche Niveau wie zwei Jahre gezieltes Lernen mit einem organisierten Lehrplan. Bekommst du genug, um durchzukommen? Möglicherweise. Aber wenn Sie wirklich "eine so gute Grundlage wie irgendjemand da draußen" wollen, dann wird es länger als zwei Jahre dauern.

Um Sie nicht zu entmutigen, wäre es sicherlich keine Zeitverschwendung. Ich bin einfach nicht sehr zuversichtlich, dass viele Leute das Äquivalent von zwei Jahren College in zwei Jahren zusammenbringen können, während sie ihr eigenes Geschäft führen und eine Art persönliches / familiäres Leben führen.


Ich tat. Tatsächlich dauerte der Großteil meines Studiums weniger als 2 Jahre (ungefähr 6 Monate), aber ich mache regelmäßig 60-70 Stundenwochen.
dan_waterworth

Stimmen Sie mit TMN überein. Im Allgemeinen hat Ihre formale Ausbildung keine Ahnung, wo Sie am Ende landen werden, sie hat eine gewisse Menge an BRUT (dh sie deckt tendenziell viel Territorium ab). Mein Beispiel in einem früheren Beitrag: Ich hätte nie gedacht, dass ich Compiler Construction verwenden würde, das Teil meines Kurses war. Es stellte sich heraus, dass ich über 20 Jahre später einer der wichtigsten Kurse war, die ich jemals gemacht habe. Jetzt ist das Problem, für diejenigen, die dieses Wissen nicht im Hinterkopf haben - Sie wissen nicht, was Sie nicht wissen. Und dieses Maß an Ignoranz macht Sie auf lange Sicht weniger effektiv.
quick_now

1

Ich habe mich seit einem Jahrzehnt ohne Abschluss beruflich weiterentwickelt. Wenn ich Leute interviewe, bin ich an ihrer Fähigkeit interessiert, Probleme zu lösen und zu codieren. Wenn ich das sage, gibt es einige Unternehmen / Rollen, für die ich nicht berechtigt bin, nur weil sie auf einem Abschluss bestehen. Bestimmte Beratungsunternehmen haben diese Richtlinie, weil sie Sie für mehr an Kunden verkaufen können.


Dies ist vor allem dann ein Problem, wenn die Einstellung über eine Personalabteilung erfolgt. Der beste Weg, um damit umzugehen, besteht darin, ein soziales Unternehmensnetzwerk aus IT-Managern aufzubauen, die Sie oder zumindest Sie kennen, und zu versuchen, den HR- "Filter" -Prozess zu umgehen. Mit anderen Worten, die Menschen ohne Grad neigen besser sein müssen an ihre Fähigkeit Marketing und Dienstleistungen selbst, anstatt auf ausgeschriebene Positionen anzuwenden. Die meisten kompetenten IT-Manager werden auf der Grundlage einer soliden Erfolgsbilanz und eines guten Rufs eingestellt (dh Überweisung von jemandem, dem sie vertrauen). Erwarten Sie nicht, einen Regierungsjob zu bekommen. Es ist heutzutage selten
Mctylr

1

Wenn Sie das Zahlenspiel spielen, bekommen diejenigen mit einem Abschluss bessere Jobs und zahlen.

Nicht jeder, der den Abschluss gemacht hat, konnte sich an etwas erinnern.

Die meisten Menschen würden sich nicht die Zeit nehmen, viel über Theorie / Hintergrund / Grundlagen zu lernen, wie sie es tun würden, wenn sie aufs College gehen würden. Vielleicht unterstützen dich deine Eltern durch 4 Jahre Selbststudium. Alle anderen müssen einen Job bekommen.

Der Nachteil wäre, wenn Sie einen CS-Abschluss hatten und einen bestimmten Level nicht bestanden haben, können Sie als mit geringer Leistung angesehen werden. Seien wir ehrlich, wenn Sie es in 4 Jahren Löffelfütterung nicht geschafft haben, werden Sie es nicht auf der Seite herausfinden, während Sie sich niederlassen und Vollzeitjob haben. Ausnahmen natürlich.


1

Wenn Sie wirklich ohne Abschluss im Bereich Softwareentwicklung arbeiten möchten, wenden Sie sich an Ihre örtliche Universität. Erhalten Sie von ihnen eine Auflistung der Kurse, die erforderlich wären, wenn Sie einen Abschluss machen würden. Die überwiegende Mehrheit der Universitäten stellt diese Informationen auf Anfrage zur Verfügung sowie eine Übersicht / Lehrplan / Buchliste für jeden der Kurse. Gehen Sie diese Liste durch. Schlage die fraglichen Bücher nach. Sehen Sie, welche Themen sie behandeln. Wenn Sie etwas entdecken, das Sie nicht verstehen, kaufen / lesen Sie das Buch und lernen Sie es. Am Ende dieses Prozesses sollten Sie zumindest wissen, was Sie wissen und was Sie nicht wissen, und mit Ihrem durchschnittlichen Hochschulabschluss (der möglicherweise einige dieser Kurse ohnehin durchgeschlafen / betrogen hat) ziemlich konkurrenzfähig sein.


1

Angenommen, ich nehme mir Zeit, um die Grundlagen wie diskrete Mathematik, Algorithmusdesign, Programmierlogik, Computerarchitektur, Assemblierung, C-Programmierung, Datenbanken und Datenstrukturen zu studieren - hauptsächlich unter Verwendung von Büchern, Online-Ressourcen und viel Codierung. Angenommen, ich verbringe 1-2 Jahre damit, diese Grundlagen zu besprechen.

Ja und nein. Manche Sachen sind ohne Lehrer nur schwer zu fassen. Normalerweise ist es das Mathe-Zeug.

Ich glaube - und glaube immer noch, dass jeder ohne geistige Behinderung lernen kann, auf PHP / Java / C # -Ebene zu programmieren , nachdem er CS-Majors als TA eingeführt hat. Grundsätzlich ist es nicht schwer.

Dabei geht es auch nicht um die Montage und die anderen von Ihnen genannten Technologiebereiche. Dies sind Implementierungsdetails, die gut zu wissen sind.

Datenstrukturen, Algorithmen, digitales Design, Computerarchitektur und Datenbankalgebra sind ziemlich schwierig, wenn das Lernen tief ist.


0

Ich habe keinen Zweifel, dass eine motivierte und engagierte Person ein solides Fundament schaffen könnte, aber wenn Sie sich gegen ein Studium entscheiden, werden Sie viele Aspekte verpassen, die Ihre Entwicklung fördern. Eines dieser Dinge und möglicherweise das wichtigste ist die Begegnung mit Gleichgesinnten, mit denen Sie Ideen und Konzepte austauschen können. Es ist auch sehr schön, den Erfahrungen von Ausbildern zuzuhören, die wertvolle Weisheiten zu vermitteln haben und manchmal missverstandene Konzepte in ein oder zwei Sätzen ausräumen können. Es ist schön, Konzepte zum Zeitpunkt der ersten Enthüllung klären zu können, statt falsche Ideen zu haben und sie später zu klären.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.