Soll ich eine Programmiersprache lernen, bevor ich das College für Computertechnik besuche? [geschlossen]

14

Ich habe meine Zehen in C ++ - Programmierung getaucht, aber ich habe mich nicht wirklich damit beschäftigt. Ich möchte wissen, ob ich es oder eine andere Sprache wirklich lernen muss, bevor ich ein College für Computertechnik besuche, oder ob ich es trotzdem in der Schule lernen werde?

Matt
quelle
Ich würde sagen, dass Sie definitiv nicht brauchen, aber es würde überhaupt nicht schaden. Bevor ich mit meinen CS-Kursen anfing, habe ich nie programmiert und wusste nicht einmal, was C ++ ist und die Klasse war in C ++.
Pllee
3
... Auch wenn du es dort sowieso lernst, bedeutet das nur eine leichte Klasse. Es gibt also keinen Grund, es jetzt nicht zu lernen ...
Izkata
Es könnte Ihnen helfen, herauszufinden, ob Sie die Fähigkeit und / oder das Interesse an der Programmierung haben.
JeffO
Sie haben diese Frage unter programmers.stackexchange.com gestellt. Haben Sie wirklich eine andere Antwort erwartet als "Ja, lernen Sie C ++, bevor Sie aufs College gehen"?
Martin Thoma
@ Elch, dann als Duplikat schließen.

Antworten:

48

Ja, aus mehreren Gründen.

  1. Je früher Sie Erfahrung mit dem Fachbereich sammeln, desto eher können Sie herausfinden, ob dies der Bereich ist, in dem Sie sich spezialisieren sollten. Wenn Sie nicht gerne programmieren, ist Computer Engineering wahrscheinlich kein guter Fachbereich für den Hauptfachbereich Auch wenn Sie hauptsächlich an der Entwicklung von CPUs interessiert sind, werden Sie viel programmieren.
  2. Die meisten Leute stellen fest, dass das Niveau und der Umfang der Arbeit, die von ihnen im College erwartet werden, weit über das hinausgeht, was sie in der Sekundarschule gewohnt sind. Wenn Sie nicht außergewöhnlich talentiert sind, werden Sie feststellen, dass Sie mit Arbeit beschäftigt sind. Tun Sie sich selbst einen Gefallen: Finden Sie heraus, welche Sprache für den Unterricht im ersten Jahr verwendet wird, und lernen Sie sie jetzt. Im schlimmsten Fall wird Ihnen in der Klasse etwas langweilig, aber Sie können die Arbeit schneller erledigen und die Zeit nutzen, die Sie für Ihre anderen Klassen gespart haben.
  3. Viele Klassen werden in einer Kurve bewertet. Der Nachteil dabei ist, dass Sie mit Ihren Klassenkameraden um Noten konkurrieren werden. Viele Ihrer Kommilitonen im Bereich Computertechnik haben bereits viel programmiert, sodass Sie möglicherweise bereits hinter der Kurve stehen. Dies ist ein guter Zeitpunkt, um aufzuholen.
  4. Die einzige Möglichkeit, gute Programmierkenntnisse zu erlangen, besteht darin, viel davon zu tun. Je mehr Zeit Sie in den nächsten Jahren mit Programmieren verbringen, desto besser werden Sie darin sein. Je mehr Erfahrung Sie haben, desto größer sind Ihre Chancen auf Praktika und Jobs.
Charles E. Grant
quelle
7
+1 Für den Start jetzt, um es in Zukunft einfacher zu machen
Andy Hunt
Man kann auch zwei Klassen überspringen (normalerweise Einführung in die Programmierung und Einführung in Datenstrukturen), während man am College ist, wenn diese in HS belegt wurden. Weniger Unterrichtsstunden zu nehmen bedeutet möglicherweise weniger Geld auszugeben oder zumindest mehr Pufferzeit. Die CSE-Programme können sehr starr sein. Wenn Sie beispielsweise eine Klasse überspringen, bleiben Sie ein Jahr zurück. Ein Puffer würde helfen. Man kann immer einen zusätzlichen Kurs belegen oder einen Nebenkurs belegen.
Job
Wenn Sie die Programmiersprache zu dem Zeitpunkt, zu dem Sie an einem Einführungskurs teilnehmen, außerordentlich gut beherrschen, sollten Sie überlegen, ob Ihre Institution über eine "Credit By Exam" -Richtlinie verfügt, mit der Sie sie testen können. Das kann Ihnen viel Zeit sparen (aber nur, wenn Sie die Sprache besonders gut beherrschen).
In silico
7

Als CS-Absolvent (BS, MS, PhD) empfehle ich Ihnen, Ihre Füße so schnell wie möglich nass zu machen. In deinem ersten Studienjahr wirst du genug andere Sachen haben. Insbesondere für die Programmierung:

  • Besuchen Sie die Website Ihrer Zieluniversität und informieren Sie sich auf der Seite mit dem Lehrplan oder dem Lehrplan der Unterklassen über einführende Programmierkurse. Suchen Sie nach der gelehrten Programmiersprache und erfahren Sie, welche Themen in der ersten Klasse behandelt werden. Versuchen Sie, dieses Material zu lesen, bevor Sie beginnen.

  • Schauen Sie sich noch einmal die Lehrplanseite an, sehen Sie sich die vorherigen Programmieraufgaben an und sehen Sie, welche Art von Software-Programmierwerkzeugen und -Umgebungen verwendet werden. Ist es vi und gcc (das ist was echte Männer benutzen)? Microsoft Visual Studio? Finsternis? Versuchen Sie, diese Tools zu verwenden, bevor Sie beginnen.

  • Softwareprogrammierung ist nur eines der Dinge, die in einem CS-Lehrplan gelehrt werden. Andere sind Algorithmen (zB QuickSort), Datenstrukturen (Bäume, verknüpfte Listen, Hash-Tabellen) und reine Theorie (NP-Vollständigkeit und Mengenlogik). Ich würde sagen, diese sind mindestens so wichtig wie die Programmiersprache, die Sie lernen.

stackoverflowuser2010
quelle
+1 für nicht nur das Lesen von Programmiersprachen
Andy Hunt
4

Es hängt vom College ab. Als ich an der California State University das studierte, was sie "Informatik" nennen, konzentrierten sie sich (meiner Meinung nach zu Recht) auf den naturwissenschaftlichen Aspekt und sie erwarteten, dass jeder (sogar Erstsemester) bereits weiß, wie man Betriebssysteme benutzt und wie man es macht Schreiben Sie Code in einer gängigen Sprache. Einige Credits, die ich während eines Sprachkurses an einer State University of Ohio erworben hatte, konnten nicht angerechnet werden. (Das war ein Mist für mich, aber ich verstehe es wieder.) Dies hatte auch einen Vorteil: Ich habe einmal einen Auftrag abgeschlossen und meinen Code in C geschrieben. Der Professor konnte C nicht lesen und bat mich, es in Pascal umzuschreiben. Ich fragte den Abteilungsleiter nach der Rechtmäßigkeit dieser Bitte, und er sagte, da sie keine Sprachen unterrichten, Sie können auch nicht erwarten, dass jemand einen Auftrag in einer bestimmten Sprache abschließt. Mein Professor musste also mit meiner in C geschriebenen Aufgabe leben. Unter dem Strich sollten Sie sich also bei der Universität erkundigen, an die Sie gehen werden. Aber wenn Sie meinen Rat wünschen, tut es nie weh, vorher so viel wie möglich zu lernen.

Mike Nakis
quelle
2
Und C ++ ist eine gute Wahl für eine Sprache, wenn Sie sich für eine der technischen Disziplinen entscheiden, da Sie mit C ++ lernen können, maschinennah zu programmieren, und gleichzeitig OOP zu lernen.
Mike Nakis
Vielen Dank, dass ich die Schule (University of Illinois) angerufen habe und sie mir gesagt haben, dass die Schüler in der Regel nur ein geringes Sprachverständnis haben und ich einfach so viel wie möglich lernen sollte, bevor ich zur Schule komme. Danke für deinen Rat.
Matt
Groß. Versuchen Sie, sich auch mit der Linux-Befehlszeile vertraut zu machen, wenn Sie können. Solche Kenntnisse sind in der Regel in Universitätsumgebungen nützlich. Es ist besser, derjenige zu sein, der anderen Leuten im Computerraum zeigt, wie Dinge gemacht werden, als der Typ zu sein, der immer andere fragt.
Mike Nakis
4

Wenn Sie sich fragen müssen, ob Sie überhaupt eine Programmiersprache lernen sollten, fragen Sie sich, ob es wirklich das ist, was Sie tun möchten. Die meisten Informatiker der ersten Jahre können schon verdammt gut programmieren, bevor sie überhaupt anfangen. Sie werden also gegen jene Typen antreten, die von Natur aus in Richtung Geek tendieren. Springen Sie mit dem Kopf voran hinein oder tun Sie etwas anderes, das Sie lieben. Sei nicht auf dem Zaun. Liebe was du tust. Ich brauche oder will keine Stimme für diese, ich will nur direkt mit dir reden.

zipstory.com
quelle
1
Ich würde das ändern, um zu sagen "die meisten ERFOLGREICHEN Informatikstudenten, in ihrem ersten Jahr." Als ich auf dem College war (und später in der Graduiertenschule), gab es eine alarmierende Anzahl von CS-Schülern, die nicht als erstes über den Umgang mit Computern Bescheid wussten, aber sie hörten nur, dass in CS das ganze Geld steckte. Die meisten wechselten die Majors, nachdem sie sich über die Instruktoren sehr geärgert hatten, die ihnen nicht sagten, was sie tippen sollten.
flauschiger
Ich war einer dieser Noobs und wurde sehr erfolgreich. Ich musste mich jedoch so sehr anstrengen, um es mit diesen Geek-Jocks aus dem Nichts heraus zu schaffen. Wenn ich nicht in einer Situation gewesen wäre, in der ich Geld für mein Kind verdienen müsste, hätte ich mich nicht so sehr angestrengt. Ich habe es geliebt, weil ich es besser verstand.
Jason Sebring
3

Ich glaube nicht , Sie müssen es lernen , bevor Sie College zu besuchen. Ich glaube jedoch, dass die meisten Dinge im Leben so sind, dass Sie, wenn Sie vor der Teilnahme an einer Veranstaltung usw. vorbereitet sind, mit größerer Wahrscheinlichkeit fundierte Entscheidungen darüber treffen können, welche Informationen aufgenommen und welche Informationen verworfen werden sollen.

Genauer gesagt, indem Sie zumindest Ihre Zehen eintauchen, können Sie vielleicht zuhören, was Ihre Dozenten sagen, anstatt nur zu kopieren, was sie wörtlich sagen, aber die Konzepte, die sie vermitteln wollen, nicht wirklich zu absorbieren, was meiner Meinung nach am wichtigsten ist Teil der Universität (nicht der tatsächlich lernende Syntaxteil einer Sprache usw.).

Wie für welche Programmiersprache zu lernen. Wahrscheinlich spielt es keine Rolle, kann aber nützlich sein, um Informationen zu den Themen zu erhalten, die Sie wahrscheinlich in Ihrem ersten Jahr behandeln werden.

Die Kehrseite des Vorlernens ist jedoch, dass die Vorlesungen in den ersten Monaten möglicherweise langweilig und elementar sind. Dies kann dann dazu führen, dass Sie nicht an Kursen teilnehmen oder das, was die Dozenten vermitteln möchten, verwerfen, sodass wichtige Informationen wie die Erkenntnis, dass Sie tatsächlich etwas gelernt haben, nicht richtig sind.

Wenn Sie sich bereits mit diesen Arten von Websites befassen, sind Sie wahrscheinlich bereits auf dem Weg, einen Schritt voraus zu sein, und helfen so Ihrem Lernen während des Studiums. In jedem Fall ist das, was Sie vorab lernen, wahrscheinlich nur die Spitze des Eisbergs. Sie müssen diese Lernkurve innerhalb und außerhalb des College-Materials fortsetzen, wenn Sie die damit verbundenen Vorteile nutzen möchten.

dreza
quelle
2

Ja, aber fangen Sie nicht mit der kompliziertesten Sprache an, dafür bleibt später noch viel Zeit.

Beginnen Sie mit etwas Einfachem, um Ihre Füße nass zu machen. Es ist viel einfacher, sich mit Programmierkonzepten zu beschäftigen, wenn Sie nicht von der Sprache selbst belastet werden. Ebenso machen einige Sprachen Dinge besser als andere.

Lernen Sie Python für dynamische Programmierung, einfache objektorientierte Programmiertechniken und korrekte Einrückung. Lerne Javascript + JQuery oder Lua, um mehr über Schließungen zu erfahren. In Java oder C # erfahren Sie, wie Sie statisch schreiben. Lernen Sie reguläre Ausdrücke zum Parsen von Zeichenfolgen. Und lernen Sie ein wenig SQL, da jeder Programmierer irgendwann eine Datenbank anfassen muss. Dann lerne PHP, damit du Spaghetti-Code identifizieren kannst.

Diese Liste kann variieren, aber im Grunde genommen sollten Sie ein paar unterhaltsame Sprachen auswählen und sie zum Erlernen von Konzepten verwenden . Anschließend lernen Sie, adaptiv zu sein, anstatt für den Rest Ihres Lebens auf einer Sprache zu stagnieren und wütend zu versuchen, diese ständig im Internet zu verteidigen.

Soviut
quelle
1

Ich werde sagen, dass es nicht zu sehr darauf ankommt, welche Sprache Sie zu Beginn kennen, aber es wird Ihnen wahrscheinlich einen Vorteil in dem Sinne verschaffen, dass Sie bei Ihrem ersten Programmierauftrag keine haben um mit dem problem des code-denkens zu kämpfen - da hast du schon einige erfahrungen. Eine Lernkurve weniger zu überwinden ist eine gute Sache. Bonus, wenn Sie die Sprache lernen, die sie in Ihrem ersten Jahr unterrichten, aber nicht erforderlich.

FrustratedWithFormsDesigner
quelle
1

Sie werden nicht wissen, ob Computer Engineering wirklich der richtige Studiengang für Sie ist, bis Sie zumindest herausgefunden haben, wie schwierig oder einfach es für Sie ist, zu programmieren, und wie gut Sie darin sind. Die einzige Möglichkeit, es wirklich zu wissen, besteht darin, mindestens eine Programmiersprache zu lernen und so schnell wie möglich eine Menge Code zu schreiben.

hotpaw2
quelle
1

Einige Dinge, die Sie interessieren könnten, bevor Sie an die Universität gehen (wählen Sie eine aus):

  1. Noch ein bisschen Mathe (genauer kann ich nicht sein, weil ich Franzose bin und keine Ahnung von den mathematischen Fähigkeiten habe, die man erwarten kann).
  2. Einige andere Programmiersprachen, wie Ocaml, Scheme, Haskell, Lua ... Sie werden Ihren Geist für neue Denkweisen öffnen.
  3. Einige Algorithmusbücher
  4. Bessere Englisch- und Schriftkenntnisse (und eine Fremdsprache ist nie schlecht)
  5. Verwendung und Codierung unter GNU / Linux und freie Software im Allgemeinen. Die Fähigkeit, freie Software zu studieren (und dazu beizutragen), wird Ihnen viel beibringen.
  6. Arbeitsautonomie, in der Lage sein, einen Arbeitsplan zu definieren und sich daran zu halten
  7. Die SICP

Ich würde nicht empfehlen, mich eng auf C ++ zu konzentrieren. andere Sprachen, Bücher und Fertigkeiten bringen Ihnen viel mehr. Wenden Sie nicht all Ihre Anstrengungen auf C ++ auf.

Viel Spaß beim Lernen.

Basile Starynkevitch
quelle
1

Ehrlich gesagt, wenn Sie Zeit haben, gehen Sie dafür. Es wird sinnvoller sein, während der Lehrer unterrichtet. Sie werden das Beste daraus machen als die Studenten, die noch nie programmiert haben.

java_mouse
quelle
1

Bestimmt! Wenn Sie noch nicht programmiert haben, können Sie mit C ++ oder C oder Java oder C # sofort loslegen. Alle diese Sprachen basieren (ungefähr) auf Algol. Wenn Sie eine von ihnen gelernt haben, lernen Sie Lisp oder Haskell. Der großartige Paradigmenwechsel zwischen den beiden Familien wird Ihnen helfen, egal was Ihre Kurse beinhalten.

Gentempel
quelle
0

Persönlich würde ich es empfehlen. Das gilt nicht für alle Schulen, aber ich habe eine sehr gute Ingenieurschule besucht und die Einführungskurse für Programmierer waren schrecklich. Wenn Sie die Grundlagen kennen, können Sie viele der schlechten Praktiken / falschen Kenntnisse vermeiden, die Ihnen möglicherweise beigebracht werden. Und wie bereits erwähnt, werden Sie diese einfachen Einführungskurse durchlaufen, während andere Schwierigkeiten haben. Und wenn Sie wie ich sind, haben Sie mehr Möglichkeiten, Ihren Freunden zu helfen, die selbst damit zu kämpfen haben.

Asaf
quelle
0

Ich denke du solltest. Abgesehen von den Gründen, die hier von anderen angegeben wurden, möchte ich hinzufügen, dass viele Universitätsprofessoren nicht sehr gut unterrichten und Sie sich daher nicht darauf verlassen können, dass sie lehren, was Sie sehr gut lernen. Sie werden besser verstehen, was sie sagen, wenn Sie die Grundlagen bereits verstanden haben.

Außerdem ist das Verhältnis von Unterrichtsmaterial zu Unterrichtszeit an Universitäten oft zu hoch. Selbst wenn der Professor ein anständiger Lehrer ist, kann er Sie in der verfügbaren Unterrichtszeit nicht effektiv unterrichten. Jedes Wissen, das Sie im Voraus erwerben, hilft Ihnen, mit dem schnellen Tempo des Klassenzimmers Schritt zu halten.

IMO C ++ ist eine der schlechtesten Sprachen für Anfänger. Lernen Sie C ++, wenn es Ihnen nicht zu schwer fällt, aber andere Sprachen wie C #, VB, Ruby oder Python sind viel einfacher.

Qwertie
quelle
0

Es wäre ein kluger Schachzug, eine Sprache zu beherrschen, bevor man ans College geht. Der Hochschulunterricht in Informatik ist oft von miserabler Qualität und wird von nicht ausgebildeten oder nicht englisch sprechenden TAs erteilt. Einführungskurse haben keine Priorität und schlechter Unterricht ist die Regel. Universitäten verdienen Geld mit Zuschüssen; Stipendien zu erhalten, ist die Priorität der meisten Hochschulfakultäten, die keine Studenten unterrichten. Dies ist mit wenigen Ausnahmen eine traurige Regel.

Die Qualität der Programme an den Gymnasien kann jedoch auch schlecht sein. Viele Schulverwaltungen glauben, dass die Schulung in Microsoft Word Informatik ist. Ah, der Unsinn, der von den Schulen ausgeht!

Ich wünschte, ich könnte optimistischer sein. Wenn Sie ein gutes Compsci-Programm in Ihrer Highschool haben, sollten Sie es ausprobieren. Gehen Sie über die Grenzen hinaus und seien Sie aggressiv beim Lernen. Wenn Sie ziemlich unternehmungslustig sind, ist es nicht schwer, sich Python beizubringen und etwas Geschick zu erlernen. Sobald Sie es gelernt haben, fällt es Ihnen nicht schwer, andere Sprachen zu lernen. Pythons einfache Grammatik macht das Lernen relativ einfach.

ncmathsadist
quelle
0

Ja.

Welche Sie lernen sollten, hängt davon ab, was "Computertechnik" bedeutet. Es ist ein ziemlich ungewöhnlicher Begriff. Wo ich studierte, war es eine Kombination aus Elektronik und Informatik.

Wenn Sie davon ausgehen, dass Sie hauptsächlich mit Computerhardware arbeiten, empfehle ich, C und Forth zu lernen. Wenn Sie in erster Linie das tun, was ich als "Informatik" betrachte, würde ich vorschlagen, etwas wie Python oder Smalltalk zu lernen, um "echte Arbeit" und eine funktionierende Programmiersprache Ihrer Wahl auszuprobieren (ich würde eine Variante vorschlagen) von lisp oder Schema, aber wählen Sie, was am einfachsten und coolsten ist).

Marcin
quelle
0

Ich werde meine eigenen Erfahrungen teilen.

Ich habe vor ungefähr 10-11 Monaten angefangen zu programmieren. Mein erster wirklicher Umgang damit war mit PHP, aber danach lernte ich C # in einem Einführungskurs (CS 140) an meinem örtlichen Community College. Nachdem ich die Grundlagen gelernt hatte, flog ich so ziemlich damit und habe seitdem nicht mehr aufgehört. Nach C # beschloss ich, die Mechanik der Funktionsweise von Computern auf niedrigerer Ebene zu erlernen. Ich arbeite an einer Anwendung, die plattformübergreifend sein soll und Videospiel-Engines bei der Interaktion unterstützen soll (ähnlich wie SDL, aber möglicherweise niedriger, mit einem strengen Fokus auf GUI, Mathematik) und andere Hilfsfunktionen).

Ohne diesen Kurs hätte ich im Grunde erst viel später das gefunden, was ich liebte. Sie wissen nicht wirklich, dass Sie Spaß am Programmieren haben, bis Sie die dahinter stehenden Konzepte wirklich verstanden haben. Wenn Sie es herausfinden möchten, empfehle ich Ihnen, sich eine Einführung in das Programmierbuch anzuschauen und mit C / C ++ zu beginnen, da Sie verstehen müssen, was Sie tun, anstatt eine Sprache zu verwenden, die Ihre Hand in der Hand hält, wie Java oder C # oder Nur einige Skriptsprachen - wohlgemerkt, diese haben ihren Platz und sind gute Werkzeuge, aber es ist auch sehr wichtig, dass Sie die Konzepte der unteren Ebenen am Anfang verstehen. Das war ein Fehler, den ich am Anfang gemacht habe.

Danach programmieren Sie weiter, wenn es Ihnen gefällt. Wenn nicht, lerne etwas anderes. Was auch immer Sie sich entscheiden, Sie sollten so viel Zeit wie möglich darauf verwenden, bevor Sie eine 2-4-jährige Universität besuchen, um es zu lernen, da es Sie WIRKLICH vor dem Spiel hält. Es zeigt auch jedem Arbeitgeber Motivation, der Sie möglicherweise einstellen könnte.

Ich kann Ihnen sagen, dass die Disziplinen Informatik / Elektrotechnik in Bezug auf ihre (von Jahr zu Jahr steigenden) Entwicklungsraten bei weitem die schnellsten sind, und Sie müssen immer wieder neue Technologien lernen, um mit den aktuellen Entwicklungen Schritt zu halten Das Neueste und Beste (was Sie zumindest etwas interessant finden sollten, obwohl es wirklich davon abhängt, auf welches Fachgebiet Sie sich spezialisieren. Ich hasse beispielsweise Webprogrammierung und interessiere mich überhaupt nicht für die vorhandenen Technologien dafür, aber einige Leute genießen es wirklich und sind daran interessiert). Trotzdem ist C / C ++ eine großartige Sprache zum Lernen, da viele andere Sprachen (z. B. C #, Java) ihre eigenen vorgefertigten APIs haben, um "das Leben zu erleichtern", aber Sie werden verdammt noch mal nichts über das lernen, was wirklich passiert unter der haube bis du

Grundsätzlich programmiere ich seit 10-11 Monaten und habe noch keine Universität besucht. Ich habe eine C # -Klasse an einem Community College besucht (meine erste Programmierklasse, die mir die Grundlagen beigebracht hat) und mindestens 95% des Restes habe ich alleine gelernt. Das liegt daran, dass ich nach dem Besuch des Kurses wusste, dass ich Programmierer werden wollte. Sie werden es wissen, wenn Sie es verstehen. Für welchen Weg Sie sich auch entscheiden, Sie sollten ihn unabhängig studieren, wenn Sie wirklich erfolgreich sein möchten, da er Ihre Motivation und Ihr Engagement fördert. Ein Programmierer hatmotiviert sein, erfolgreich zu sein. Sie haben viel zu tun, mehr als nur "Code schreiben". Eine Anwendung muss ständig von Grund auf getestet, getestet und verstanden werden. Ob klein oder groß, Sie werden in der Regel für jedes Projekt, das Sie durchführen, etwas Neues lernen. Das ist eine gute Sache, denn Sie müssen das Gehirn aktiv halten.

etwa leer
quelle