Diese Frage ließ mich denken, dass es eine bessere Frage gab.
Was haben Sie in der Schule gelernt, das Ihnen damals egal war, sich aber als nützlich erwies, oder Sie mussten am Arbeitsplatz neu lernen, weil Sie es in der Schule hatten, aber die Informationen nicht aufbewahrten und sie brauchten? (Ich meine für softwarebezogene Jobs.)
Ich denke, dies könnte College-Studenten helfen, herauszufinden, worauf sie in der Schule wirklich achten sollten.
programming-practices
HLGEM
quelle
quelle
Antworten:
Die meisten Entwickler, die ich als Schulabgänger gesehen habe, hatten wenig Erfahrung mit der OO-Entwicklung . Sie haben davon gehört, aber das meiste davon ist nur, 'Sachen in den Unterricht zu stecken'.
In der Schule gibt es jede Menge Beispiele zu Autos und Menschen, die in das OO-Framework eingefügt werden können. Dies lehrt dich Polymorphismus, Überladung und ähnliches. Eher "grundlegendes" Zeug. Es ist gut, diese Dinge zu kennen und zu wissen, wie sie funktionieren, aber ich habe nie ein Beispiel für eine reale Verwendung dafür bekommen. Ich denke, es ist wichtig, den Schülern einige reale Szenarien zu zeigen , in denen Design verwendet wird.
Eine andere Sache, die ich im College vermisst habe, ist die Verwendung (oder der Missbrauch) von verwendbaren Designmustern . Ich denke, heutzutage sollten die wichtigsten Muster irgendwo im späten 1. Jahr oder zu Beginn des 2. Jahres eingeführt werden. Die Schüler sollten sich mit ihnen vertraut machen.
Sauberen Code zu schreiben ist etwas, was in der Schule nicht genug gelehrt wird. Wir könnten den Code durcheinander bringen und trotzdem ein A + bekommen. "Wenn die Anwendung funktioniert, ist es gut." war die Devise. Die Schüler sollten lernen, sauberen und qualitativ hochwertigen Code zu schreiben und dafür belohnt zu werden. Dies bedeutet auch, dass sie die Muster oder bewährten Methoden, die sie gelernt haben, überarbeiten und anwenden.
Natürlich haben die eifrigen Schüler das alles selbst gelernt, aber andere, die nicht so eifrig waren, haben es nicht gelernt. Dies könnte auf mangelnde Motivation zurückzuführen sein, oder sie wussten einfach nicht, wo oder wie sie suchen sollten. Wenn man viel Geld für eine Schule bezahlt, denke ich, dass sie einem wirklich dieses halbwegs fortgeschrittene Zeug beibringen sollten.
Außerdem fehlt den meisten Menschen etwas anständiges (professionelles) Schreiben . Schade, da es in der realen Welt sehr wichtig ist. Das Wichtigste ist, dass Sie sich in Ihrer Muttersprache verständlich machen können. Wenn Sie nicht klar in Ihrer Hauptsprache schreiben können, ist es schwierig, in einem Unternehmen zu kommunizieren.
Ich weiß nicht, ob Sie jemandem in diesem Alter das Schreiben beibringen können, er sollte bereits mit dieser Fähigkeit vertraut sein. Man könnte das Zeug wiederholen, das an der High School unterrichtet wurde. Bringen Sie den Schülern vielleicht bei, wie man Kommentare und technische Dokumentationen schreibt. Ich finde es immer noch schwierig, technische Dokumente zu schreiben, da niemand zu wissen scheint, wie es geht oder welches Standardformat verwendet wird.
quelle
Mädchen. Sie mögen denken, ich mache Witze, aber ich mache keine Witze.
Gehen Sie nicht verrückt oder so, Sie müssen noch die akademischen Sachen lernen. Aber Sie müssen auch einige Zeit damit verbringen, etwas über die Menschen zu lernen, von den Menschen um Sie herum.
Das schließt die Hälfte der Menschheit ein, die ganz andere Interessen und Einstellungen als Sie und Ihre Freunde hat, mit denen Sie sich aber dennoch verstehen wollen.
quelle
Ich hätte 42% mehr Energie in die Statistik stecken sollen.
quelle
Das Schreiben wäre eines der größten für mich. Ich denke nicht, dass dies nur auf Entwickler beschränkt ist.
quelle
Funktionale Programmierung. Zu der Zeit schien es wie ein Schwarm von Klammern, die nichts Nützliches tun konnten. Jetzt, da Lambda-Ausdrücke weit verbreitet sind, musste ich mein Gehirn neu trainieren, um so zu denken. Im College wollte ich nur LISP und Scheme so weit wie möglich in den Rückspiegel bringen und nie zurückblicken. Wenn ich eine Idee hätte, wie nützlich einige Aspekte der funktionalen Programmierung sein könnten, hätte ich mehr Aufmerksamkeit geschenkt.
quelle
Reguläre Ausdrücke. Ich erinnere mich noch genau, wie ich sie im College abgeblasen habe. Sie waren für die Arbeit unverzichtbar.
quelle
Meine Lieblingsantwort (Statistik) wird genommen, also gebe ich meine zweite Lieblingsantwort. Big-O-Notation und Kenntnis der Effizienz verschiedener Schlüsselalgorithmen. Für mich ist es weniger eine "Geheimwaffe" als Statistiken, aber es ist immer noch sehr wertvoll.
quelle
Ich wünschte, ich hätte zugehört, was mir mein Lehrer mit 14 erzählt hätte. Leider kann ich Ihnen nicht sagen, was es war, weil ich nicht zugehört habe.
quelle
Muss der Kurs über endliche Sprache und Automatentheorie sein.
Hielt es für zu theoretisch, bis mein Job von mir verlangte, einen domänenspezifischen Sprachcompiler von Grund auf neu zu erstellen.
quelle
Ich würde sagen C sowie UNIX. Obwohl ich UNIX kurz nach dem College gelernt habe, hätte ich das Gefühl, dass ich davon profitiert hätte, wenn ich mich früher mit UNIX und C vertraut gemacht hätte.
quelle
quelle
Technisches Schreiben. Ich verbringe viel Zeit damit, Anforderungen zu schreiben, mit Kunden und Mitarbeitern zu kommunizieren. Dies ist ein Bereich, in dem ich im College eine Stunde Unterricht hatte. Die einzige andere Klasse, die mir in meiner Karriere wirklich geholfen hat, war eine weitere 1-Credit-Stunde-Klasse. Das war in C-Programmierung. Der Rest war zwar interessant und hat wahrscheinlich meinen analytischen Fähigkeiten insgesamt geholfen, war aber kein direkter Vorteil für meine Karriere.
Zugegeben, ich bin vor 20 Jahren zur Schule gegangen und C galt als führend in der Abteilung Elektrotechnik. Die CS-Leute haben ein paar Sachen mit Lisp und C ++ gemacht, aber wahrscheinlich immer noch nicht so viel OO, wie ich mir für die heutigen Absolventen erhofft hätte.
quelle
Design-Dokumente
Ich nahm immer an, dass jemand anderes diese Dinge erschaffen würde oder dass es sich nur um einfache Dokumente handelte. Sie sind überhaupt nicht einfach und mein Team ist klein genug, um meine eigenen Designdokumente zu erstellen.
quelle
Zweite Fremdsprache. Russisch in meinem Fall. Viele Bücher, Ressourcen und mehr in dieser Sprache in meinem Umfeld.
quelle
Von der CS-Seite der Dinge:
Aus der Kategorie alles:
quelle
Vektor Mathe und Kalkül. Ich hatte sie, aber meine Profs waren schrecklich und unterrichteten nicht wirklich die Themen. Aber als jemand, der sich stark mit Grafikprogrammierung beschäftigt, hätte eine bessere Vektor-Mathematik-Grundlage geholfen.
quelle
Offensichtlich Geschichte und Literatur. Das Problem ist oft, dass die Schule diese nicht interessant macht.
quelle
Elektronik
Ich hatte in der Schule nicht viel mit Software zu tun . Ah - Informatik, aber ich habe es abgesagt. :) Aber später war es einfach zu lernen. Während Elektronik, verstehe ich es oft nicht. Mikrocontroller, PWM, GPIO - wtf? Ich wünschte, ich würde das Zeug verstehen.
quelle
Verteilte Vernetzung / Computing . Die Programmierung ist keine Herausforderung, aber die Grundvoraussetzung für die aktuelle Architektur sind fundierte Kenntnisse über verteilte Konzepte.
Ein detaillierter Kurs wurde als Wahlfach angeboten, musste sich aber zwischen diesem und AI entscheiden: Es ist also kein wirkliches Bedauern.
quelle
Design Patterns: Die Art und Weise, wie sie präsentiert wurden, hat Ihnen nicht wirklich gesagt, wie nützlich sie sind, seitdem habe ich ein paar Bücher über sie gelesen und denke, dass sie unglaublich nützlich sind.
quelle
Unix, Shellscripting, C. Hatte die Chance, es in der Schule gut zu lernen, musste es aber später im Job tun.
quelle
Nicht Informatik Zeug:
Persönlich wünschte ich, ich hätte eine Muttersprache wie die meisten normalen Leute hier. Damit meine ich, dass die meisten Menschen geboren wurden, die eine Hauptsprache sprachen und später vielleicht eine oder zwei weitere auswählten. In dieser Situation beeinträchtigen die zusätzlichen Sprachen normalerweise nicht die Muttersprache, da Sie bereits eine solide Grundlage haben, die Sprache, Schreiben und Zuhören umfasst. Ich bin mit dem Sprechen, Schreiben und gleichzeitigen Hören von drei verschiedenen Sprachen aufgewachsen. Obwohl ich sowohl in der Schule als auch am College immer gute Sprachkenntnisse hatte, wünschte ich mir, ich könnte eine Sprache fließend beherrschen. Dies hat zur Folge, dass ich kurz nachdenken muss, bevor ich eine Antwort formuliere. Einige Leute bemerken das und kommen zu dem Schluss, dass ich zu schüchtern bin (was bis zu einem gewissen Grad nicht falsch ist).
quelle
Wirtschaft. Es mag langweilig (und ein bisschen grausam) sein, aber es ist auf jeden Fall das einzige, was in dieser Gesellschaft wirklich wichtig ist. Danach Statistik.
quelle
Ich denke, die drei Klassen, die mir den größten Einblick in die Funktionsweise von Computern bei der Ausführung von Software gaben (was dieses Verständnis für eine optimalere Programmierung ermöglicht), waren:
Assembler Betriebssysteme Compiler
Es ist vielleicht sehr einfach zu glauben, dass diese Kurse nicht so nützlich sind, wenn Sie nicht in eine Karriere einsteigen, die sich speziell auf eines dieser Dinge konzentriert, aber selbst wenn Sie ein Webentwickler sind und keines dieser direkt das zugrunde liegende Verständnis nutzen wäre immer noch äußerst hilfreich, um effektiv zu codieren.
quelle
Es gibt ungefähr ein Dutzend Klassen, von denen ich mir gewünscht hätte, ich hätte sie am College besucht, aber nicht. Meistens nicht CS. Fotografie, General Chem, mehr Schreiben!
quelle
Es ist schon komisch, wie viele Leute Liberal Arts sagen: Ich war Kognitionswissenschaftler (Philosophie / CompSci / Anatomie) ... Am Ende wechselte ich zu Philosophie / CompSci mit einem schweren Minderjährigen in Englisch (ich hätte einen BA haben können, aber Ich habe mir nicht die Mühe gemacht, die 101 zu nehmen, die ich übersprungen hatte.
Ich würde eine Woche Geschichten brauchen, um dir von all dem Mist zu erzählen, den ich von meinen CS-Kollegen für den Besuch dieser Kurse für freie Künste bekommen habe. Egal, dass ein halbes Dutzend Logikklassen mehr für meine Programmierung leisteten als jede Menge Kalkül. Egal, dass alle meine besten KI-Kurse Philosophie-Kurse waren. Egal, dass es verdammte MÄDCHEN in meinem Englischunterricht gab. Nein, nein, ich war eine Art unseriöser Poser für diese Kurse.
Nimm dir aber ein Herz. Zumindest müssen Sie Ihre Ausbildung nicht jedes Mal erklären, wenn sich jemand Ihren Lebenslauf ansieht.
quelle
Quadratische Gleichungen und Trigonometrie.
Sehr wichtig beim Schreiben von Software für die traditionellen Ingenieurdisziplinen.
quelle
Ja, ich habe den Compilern nicht so viel Aufmerksamkeit geschenkt, wie ich sollte.
quelle
CS / Math: mehr Logik, Algebra, Kategorietheorie. Fundamentalere und weniger angewandte Dinge: Das Verstehen angewandter Dinge, wenn Sie die Grundlagen gut kennen, ist viel einfacher als umgekehrt und fruchtbarer.
(Ich hatte A in der Statistik, aber es dauerte sehr lange, um es mit den tatsächlichen Programmieranforderungen zu verknüpfen. Ich habe viel vergessen.)
Geisteswissenschaften: natürliche Sprache, Schreiben, Formulieren, Verstehen und Verstehen. Es sieht nicht wichtig aus, bis Sie sich einem Team von mehr als 2-3 Hackerkollegen anschließen, das heißt im sogenannten "echten Leben".
quelle
Computergrafik (3D-Rendering in OpenGL / DirectX)
Ich war ehrlich gesagt sehr daran interessiert, aber so beschäftigt, dass ich nicht die Zeit einsetzen konnte, die ich gerne hätte. Es wurde eine lästige Pflicht anstelle eines Hobbys. Ich denke, ich muss vielleicht ein Buch darüber abholen, um mich wieder dafür zu interessieren.
quelle