Ich bin in einem CS-Kurs. Welche Programmier Thema sollte ich konzentrieren? [geschlossen]

StackOverflow https://stackoverflow.com/questions/641553

  •  22-07-2019
  •  | 
  •  

Frage

Was ist das Wichtigste in dieser Zeit? Ich weiß, dass ich später Programmierkenntnisse erwerben kann. Welche der folgenden sollte ich studieren, um ein guter Programmierer oder Analytiker zu werden, nachdem ich einen Abschluss?

  • Datenstrukturen
  • Algorithmen
  • Software Engineering
  • Low-Level-Aspekte
  • Entwurfsmuster und OO-Analyse

[Bearbeiten]

Danke für die Antworten. Ich möchte andere wichtige Themen umfassen als Referenz für andere Studenten dienen:

  • councurrent Programmierung
  • Betriebssysteme

[/ Edit]

Hinweis: Ich denke, das erste Element der Liste shold sein Englisch lernen

War es hilfreich?

Lösung

Alle von ihnen. Alles, was in Ihrer Liste ist wichtig.

Andere Tipps

Ich persönlich würde studieren wie folgt vor:

  • Ein C wie Sprache (C / C / C ++ / C # / Java)
  • Eine Skriptsprache
  • Eine funktionale Programmiersprache
    • Vor allem, da wir auf eine Multi-Core-Welt bewegen, dies wird sich als nützlich, da es Parallelisierung über können andere Sprache, was zur Zeit tun. Entire telecomm Infrastrukturen auf Erlang beispielsweise ausgeführt werden.
  • Datenstrukturen
    • Sie finden diese überall benutzen. Sie sind von der Programmiersprache Agnostiker, Sie werden sie im Laufe Ihrer Karriere benötigen
  • Algorithms
    • Diese höchstwahrscheinlich mit dem oben erwähnten Punkt gehen. Bestimmte Datenstrukturen haben bestimmte Algorithmen auf sie zuzugreifen.
  • Entwurfsmuster
    • Ja, erfahren Sie vom Kurs abgekommen, die verschiedenen Design-Muster, aber zugleich wissen, dass sie alles in allem Software-Engineering nicht das Ende sind sein.

Alles andere auf der Liste ist auch sehr wichtig, also, während ich die oben genannten Elemente vorschlagen, sie als die anderen nicht mehr wichtig sind Sie aufgeführt haben. Dies sind die Elemente, die ich wünsche, ich habe aus meiner Schulzeit, und ich bin traurig zu sagen, dass ich sie nicht als Klassen angeboten bekommen, aber hatten sie selbst zu lernen, an der Seite von alle meine anderen natürlich Arbeit.

Ich denke, dass Sie bereits auf dem richtigen Weg gegeben sind, dass Sie keine spezifische Sprachen in der Liste erwähnt haben. Ich denke, dass die Nummer eins Fehler gemacht von CS Studenten ist -. Auf eine Sprache oder ein Paradigma konzentriert

Ihre gesamte Liste ist sehr wichtig; das einzige, was ich hinzufügen würde, ist eine ziemlich in eingehender Untersuchung von Multithreading. Es wird immer wichtiger in der Zukunft werden: ( Ars-Technica Artikel )

Es scheint angemessen, Joel hier zu stopfen; -)

http://www.joelonsoftware.com/articles/CollegeAdvice.html

Alle von ihnen sind obligatorisch !!

Was denken Sie? Ich erwarte Sie zwischen Konzentration zu wählen (zum Beispiel Spieldesign vs Sicherheit und Kryptographie).

Sie können nicht zwischen "Algorithmen, oop, Datenstrukturen, Software Engineering, etc" wählen. Dies sind die Grundlagen! Du hast sie alle zu lernen.

würde ich mit Daten structs und Algorithmen, keinen Wettbewerb dort beginnen. OO-Design ist nützlich. Ein wenig von Low-Level, ja. S / W-Engineering übersprungen werden kann (ist ok mit Salzkorn).

Darüber hinaus sind hier einige Ideen:

  • relationale db Grundlagen (nicht nur "wie Oracle verwenden", aber tatsächlich relationale Algebra)
  • Betriebssysteme
  • Compiler + Dolmetscher
  • etwas in IR (/ genetische Algorithmen / neuronale Netze)

Ja, ich bin auf „harten Kern“ CS Sachen vorgespannt ist. Besetzt Arbeit, extra-schwere Prozesse und anderer PM Mist, Sie bald genug in der Industrie erfahren bekommen, keine Notwendigkeit, Ihre Bildungsressourcen auf sie zu verschwenden. : -)

Lassen Sie uns sehen ..

Sie müssen Komplexität und Datenstrukturen und Algorithmen verstehen, so dass Sie die wichtigen Entscheidungen treffen können. Leider müssen Sie wirklich, dass diese Themen verstehen und komplexe Denkaufgaben zu lösen, weil sie eine viel größere Rolle in Vorstellungsgesprächen spielen, als sie später in der eigentlichen Arbeit zu tun. Daher sind dies die wichtigsten Dinge konzentrieren sich auf aus praktischen Gründen.

Software Engineering, Design Patterns und Analyse ist sehr wichtig (obwohl ich voreingenommen bin). Leider mit Ausnahme von Entwurfsmustern, kann man nicht wirklich diese Themen lernen, ohne aktiv zu wichtigem Projekt zu üben. Konzentrieren Sie sich auf das Verständnis der Begriffe der objektorientierten Programmierung und den Begriff der virtuellen Funktionen / dynamische Bindung, da sie sehr wichtig sind und viele Menschen nicht verstehen, sie richtig. Geben Sie Ihr Bestes ein gutes Praktikum zu erhalten.

All die Dinge, die Sie grundlegende Komponenten einer anständigen Informatik Ausbildung aufgeführt sind, obwohl Sie wirklich den folgende sollten hinzufügen:

  • Betriebssysteme
  • Netzwerk
  • Mathematik (Intro Kurse Discrete, Calculus, Algebra, Proofs, Statistik)
  • Datenbanken
  • Foundations (Finite Automata, Reguläre Ausdrücke, Turingmaschinen, etc.)

Diese beiden Listen zusammen erhalten Sie einen guten Kern Verständnis für Informatik geben, nach denen Sie einige weitere Spezialthemen wählen sollte (die, die Sie am meisten interessiert).

  • Künstliche Intelligenz
  • Crypto / Sicherheit
  • Bild / Signalverarbeitung / Erkennung
  • Compiler
  • Grafiken
  • Game Design
  • etc.

Sie werden feststellen, dass, sobald Sie tief in ein Thema zu erhalten beginnen, all diese Kernfächer, darunter Mathematik, werden alle ins Spiel kommen zu starten! Zum Beispiel studiere ich derzeit Bilderkennung und musste bedienen und verstehen Sachen von Statistiken, AI, Kalkül, Proofs, Algebra, Algorithmen, Datenstrukturen, OOP, etc.

Alle auf der Liste ist wichtig, aber man braucht auch die richtige Einstellung. Sie müssen in genügend Details graben, wie jede Sache, die Sie Werke studieren und warum es so gemacht wurde, nicht nur die Klassenzuordnung tun. Dies ist, was Ihnen wirklich als zukünftiges Fach eine Kante geben.

  1. Multi Threading und verteilte Systeme.
  2. Wie benutzerfreundliche Anwendungen mit einem netten GUI zu bauen.

Alle diese sind sehr gut, aber Algorithmen sind ein guter Anfang. Vielleicht sollten Sie auch einen diskreten Mathematik Kurs für die Theorie zuerst schauen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top