Dinge, die Sie in der Schule hätten lernen sollen, die Sie aber zu diesem Zeitpunkt nicht beachtet haben [geschlossen]

42

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.

HLGEM
quelle
16
Ich bedaure, dass ich nicht mehr Zeit damit verbracht habe, gesprochene Sprachen zu lernen (es hat mich 10-20 Jahre später nur angeklickt), aber das hat nichts mit Programmierung zu tun.
LennyProgrammers

Antworten:

36

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.

Jan_V
quelle
1
Diese Antwort
bezieht
1
Der Zweck einer Grundausbildung besteht darin, den Studenten in die Breite eines Faches einzuführen. Spezialisierung ist das, was man auf der Ebene der Absolventen macht. Ich erwarte, dass Kandidaten, die gerade das College beendet haben, Experten in irgendetwas sind. Ich erwarte, dass die jüngsten Universitätsabsolventen über ein umfassendes Fundament verfügen, das die Kluft zwischen Computerorganisation und grundlegender Algorithmusanalyse überbrückt. Es ist mir egal, ob ein Kandidat die asymptotischen Grenzen aller Such- und Sortieralgorithmen auswendig gelernt hat. Ich bevorzuge einen Kandidaten, der die asymptotischen Grenzen für ein Stück Code aus der realen Welt ermitteln kann.
Bit-Twiddler
3
Bin ich der einzige, der zusammenzuckt, wenn "Lernen" (falsch) anstelle von "Lehren" verwendet wird?
dr-jan
1
@ dr-jan: Danke für den Hinweis. Bearbeitet
Jan_V
1
Meiner Meinung nach besteht die einzige Möglichkeit, ernsthaftes Software-Schreiben zu lehren, in mehrjährigen Kursen, in denen Sie sich mit Ihren eigenen Fehlern aus der Vergangenheit auseinandersetzen können.
Paul Nathan
120

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.

Ben
quelle
16
Ich wünschte, ich könnte dies mehr Stimmen geben.
5.
3
Es ist eine gute Sache, mehr Zeit mit Leuten zu verbringen, die im Allgemeinen nicht mit Computern zu tun haben (tm)
Rob Allen
16
48+ Leute, die dies nur leise stimmen, seufzten vor sich hin.
George
Ansonsten als "Benutzer" bekannt.
Gary Willoughby
61

Ich hätte 42% mehr Energie in die Statistik stecken sollen.

FrustratedWithFormsDesigner
quelle
10
Mein Bruder und ich haben unserer Mutter letztes Jahr gesagt, wir hätten gerne mehr Statistiken studiert. Ich bin ein Quant und er ist ein Arzt. Oh, und meine Mutter ist eine
statistische
4
@davka: Es kommt häufiger beim Testen vor, insbesondere beim Leistungstesten. Auch in der Datenanalyse, die ich heutzutage viel habe.
FrustratedWithFormsDesigner
4
@davka - Ich arbeite in einem datengetriebenen Unternehmen, und eine gute statistische Analyse wäre hilfreich, wenn Entwickler ihre Erkenntnisse darüber präsentieren könnten, warum Code x besser ist als Code y Um 2 Wochen zu investieren, um dieses Ding zu verbessern, zeigt eine statistische Analyse, dass es sich um x% beschleunigen wird. Hier ist es wirklich das Ziel, zu wissen, wie statistische Techniken zur Gestaltung Ihrer Experimente angewendet werden.
wkl
3
Ich denke, es gibt eine Wahrscheinlichkeit von 70 +/- 2%, dass ich Statistiken hätte nehmen sollen.
Zachary K
10
60% der Zeit funktioniert es jedes Mal.
Matthew Read
51

Das Schreiben wäre eines der größten für mich. Ich denke nicht, dass dies nur auf Entwickler beschränkt ist.

Erin
quelle
Stapelüberlauf und Bloggen haben mir dabei sehr geholfen.
3.
36

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.

Jason
quelle
9
+1. Ich bin der festen Überzeugung, dass funktionale Programmierung für jemanden, der nicht programmieren kann, einfacher zu erlernen ist als imperative Programmierung, dass imperative Programmierung einfach zu erlernen ist, wenn Sie sich mit funktionaler Programmierung auskennen, und dass funktionale Programmierung für Sie schwer zu erlernen ist lernte zuerst imperative Programmierung. Daher ist es sinnvoll, nicht nur die funktionale Programmierung zu lehren, sondern sie zuerst zu technisieren , und vor allem, machen Sie keinen so großen Fehler daraus ! Ich liebe , wie SICP es tut. Die erste Aufgabe wird erst nach ein paar hundert Seiten angezeigt, und Sie bemerken es nicht einmal.
Jörg W Mittag
1
+1. Das Programm hat mich für einige Jahre in der Schule von Funktionsparadigmen abgehalten, da ich vor dem Besuch dieses Kurses einen C- und C ++ - Hintergrund hatte. Ich habe es nicht als etwas aufgeführt, auf das ich mich mehr hätte konzentrieren sollen, weil ich in meinem letzten Jahr einen Sprachkurs belegte, SML verwendete und es wirklich genoss, und ich habe auch Lisp genossen. Wahrscheinlich nur das Ergebnis von Erfahrungen während des Studiums, die es mir sehr viel leichter machen, zu verstehen, wie ich diese Paradigmen verwende. Ich unterrichte mich jetzt auch selbst Scala und genieße es sehr. : D
wkl
1
Ich stimme im Allgemeinen zu (funktioneller in der Schule), aber es ist unmöglich zu beweisen, dass es einfacher oder schwieriger ist, funktionelles Programmieren zu lernen, basierend auf dem Stil, den Sie zuerst gelernt haben.
Kevin
34

Reguläre Ausdrücke. Ich erinnere mich noch genau, wie ich sie im College abgeblasen habe. Sie waren für die Arbeit unverzichtbar.

patrickmcgraw
quelle
2
Reguläre Ausdrücke sollten jedoch nur als letztes Szenario verwendet werden
billy.bob
Ja! Ich erinnere mich, wie sehr ich es damals gehasst habe ... Ich habe es für den Unterricht gelernt und es aus meinem Kopf entfernt, bis ich es einige Jahre später wieder brauchte. Dann habe ich mich selbst verflucht, weil ich es neu lernen musste.
BMW
4
@ m.edmondson, reguläre Ausdrücke eignen sich hervorragend für einfache Aufgaben. Sie könnten etwas falsch machen, wenn Sie sie in Ihrem Code verwenden (schließlich sind Parsing-Kombinatoren viel besser), aber für das typische Suchen und Ersetzen in einem Texteditor sind sie in Ordnung.
SK-logic
3
Reguläre Ausdrücke eignen sich hervorragend für die Verwendung in der Befehlszeile und in leistungsstarken Editoren wie vim oder emacs. Nicht nur zur Verwendung in Code.
Stephen Paulger
1
@ m.edmonson, nein - reguläre Ausdrücke sind fantastische Werkzeuge , die gewählt werden sollte zuerst ! Für Situationen, in denen sie sich bewerben - zu wissen, wann sie es nicht tun, erfordert Erfahrung.
33

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.

btilly
quelle
2
Vielleicht schreibe ich einfach nicht komplex genug, aber das einzige Mal, dass ich Big O kennen musste, war ein Interview in einem High-End-Tech-Unternehmen. Also, während ich es vor 20 Jahren gelernt habe, da ich es nicht benutze, aber ungefähr alle 10 Jahre, kann ich mich nicht daran erinnern.
Bill Leeper
2
@ bill-leeper: Ich habe die Erfahrung gemacht, dass Big-O nicht etwas ist, das Sie jeden Tag verwenden, aber es ist etwas, das Ihnen, wenn Sie es wissen, von Zeit zu Zeit dabei hilft, ein Problem herauszufinden, von dem Sie nicht wissen, dass Sie es haben oder sonst hätte nicht herausgefunden. Wenn Sie es nicht wissen, haben Sie nie diese Einsichten und wissen nicht, was Ihnen fehlt.
Mittwoch,
1
@bill, big-O ist nur eine formalisierte Art zu sagen, dass Sie vorsichtig sein müssen, wie viele Schleifen Sie in eine andere einfügen, wenn Sie skalieren müssen. Die meisten Programmierer lernen das auf die eine oder andere Weise, ohne den formalen Namen kennen zu müssen.
23

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.

user4051
quelle
21

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.

Fanatic23
quelle
4
Whoa. Was machst du genau ? Wenn es Ihnen nichts ausmacht, fragen Sie mich =)
Fouronnes
1
@otibom: Ich arbeite mit Halbleitern und sie haben ihre eigenen domänenspezifischen Sprachen mit einigermaßen strengen Leistungsanforderungen.
Fanatic23
18

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.

Craig Maloney
quelle
UNIX? Wird das noch an Hochschulen gelehrt?
apoorv020
1
Es sollte ... oder eher Linux sein. Jeder Programmierer sollte ein bisschen Bash (oder eine andere Shell) kennen.
Per Wiklander
17
  • Künstliche Intelligenz / Data Mining - nahm am Kurs teil, war gelangweilt, Jahre später lerne ich selbst Themen wie kollektive Intelligenz. Die Analyse großer Datenmengen ist eine große Sache in meinem Job und in früheren Jobs.
  • Datenbanktheorie / -design - Wieder nahm der Kurs teil, war gelangweilt, also habe ich selbst etwas über Datenbanken gelernt
  • Nur Mathematik auf hohem Niveau und interessante Mathematiktechniken im Allgemeinen - ich habe 4 Kalkülklassen, lineare Algebra, Statistik, Wahrscheinlichkeit, Diskret ... genommen, aber ich hatte das Gefühl, dass ich auch hätte tun sollen:
    • Numerische Methoden
    • Fortgeschrittene statistische Methoden, auch solche wie Markov-Ketten, bezogen sich wiederum auf die Analyse großer Datenmengen
  • Mensch-Computer-Interaktion - in der Schule hatte ich nicht das Gefühl, dass dies in irgendeiner Weise nützlich für das war, was ich in meinem Job tun würde (ich arbeitete gern auf niedrigem Niveau oder hinter den Kulissen), aber in jedem Job, den ich hatte, Benutzerfreundlichkeit war zuweilen ein Schwerpunkt.
  • Eine zweite Sprache - Ich hatte schon immer eine Begabung für Sprachen, aber am College habe ich keine Sprache gelernt und es fällt mir schwer, mich selbst Japanisch beizubringen.
wkl
quelle
13

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.

Bill Leeper
quelle
11

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.

Rachel
quelle
Jemand anderes WIRD sie schreiben, wenn ich nicht gut darin bin, so wie ich es mag.
Kevin
10

Zweite Fremdsprache. Russisch in meinem Fall. Viele Bücher, Ressourcen und mehr in dieser Sprache in meinem Umfeld.

lfx
quelle
@FrustratedWithFormsDesigner ja jetzt, aber als ich Kind war ... :)
lfx
Ich habe persönlich Französisch und Deutsch gelernt und tatsächlich einige Zeit in Deutschland verbracht. Es ist etwas, das jeder erleben sollte.
Ken
12
"Ja wirklich?" Programmierressourcen auf Russisch? Ich bin ein russischer Muttersprachler, aber ich mache davon kaum Gebrauch, wenn ich nach Programmierinhalten suche. Wenn ich eine englische Anfrage in Google eingebe, bekomme ich meistens eine Antwort. Auch technische Bücher auf Russisch sind oft sehr schlechte Übersetzungen aus dem Englischen.
Dima
@Dima, welche Situation heutzutage ist, weiß ich nicht, aber als ich in der Collage und in der Schule war, hat das jeder Lehrer gesagt.
lfx
3
@FrustratedWithFormsDesigner: Das werde ich glauben. Es gibt sicherlich eine Menge Mathe-Material auf Russisch. Wenn Sie jedoch über Themen im Zusammenhang mit Computern sprechen, ist es besser, wenn Sie Englisch sprechen.
Dima
8

Von der CS-Seite der Dinge:

  • User Interface Design
  • Testen
  • Versionskontrolle
  • Parallelität

Aus der Kategorie alles:

  • Technisches Schreiben
  • Sprachkommunikation
  • Fähigkeiten zur Zeitschätzung
Tyanna
quelle
+1 für Test und Versionskontrolle. Im Ernst, wir haben viel gehört, dass das Testen sehr wichtig ist ... obwohl wir nie wirklich gelernt haben, wie es geht ... (und das war nicht unsere Schuld. Wir hatten einfach nie wirklich etwas darüber)
Svish
7

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.

GroßmeisterB
quelle
7

Offensichtlich Geschichte und Literatur. Das Problem ist oft, dass die Schule diese nicht interessant macht.

jokoon
quelle
Wenn Sie diese als Heimschüler lernen, können sie viel interessanter sein.
Matthew Rodatus
6

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.

Benutzer unbekannt
quelle
Ich habe an der High School Electronics (EU-Äquivalent) besucht, weil es keine "reine" IT-Wahl gab. Ich bin bis heute froh, dass ich nicht nur weiß, wie man Computer und Peripheriegeräte benutzt, sondern auch, wie sie funktionieren.
Vincent Vancalbergh
5

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.

CMR
quelle
5

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.

Omar Kooheji
quelle
Das nervt mich generell mit dem Programmiertraining, wir können das Wie, aber nicht das Warum erklären. Und keine guten Praxisbeispiele. Dies ist der Grund, warum wir die Arbeitstechniken für das Problem anwenden. Sie wählen die erste aus, die ihnen einfällt und die ohne das Wissen funktioniert, dass diese andere Technik für dieses spezielle Problem besser ist.
HLGEM
4

Unix, Shellscripting, C. Hatte die Chance, es in der Schule gut zu lernen, musste es aber später im Job tun.

user281377
quelle
4

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).

Chiurox
quelle
4

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.

Víctor Pimentel
quelle
4

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.

Kenneth
quelle
3

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!

Zachary K
quelle
3

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.

Satanicpuppy
quelle
Könnten Sie bitte erklären, was Sie unter "Meine besten KI-Kurse waren Philosophiekurse" verstanden haben?
Mark C
@mark: "Cognitive Science", mein ursprüngliches Hauptfach, ist im Grunde nichts anderes als KI und besteht größtenteils aus Philosophie. Es gibt zwei Arten von Philosophie: analytische und kontinentale. Die ganze dumme Scheiße ist kontinental. Analytik ist Logik, Kogge. sci, linguistik und so was.
Satanicpuppy
+1: Als Philosophie-Hauptfach habe ich eine Klasse namens Philosophie des Geistes besucht. Diese Klasse war im Wesentlichen Turing Machines gewidmet. Mein Philosophieberater hatte einen Bachelor-Abschluss in CS und mein CS-Berater promovierte tatsächlich in Philosophie.
Morgan Herlocker
+ 1: "Sie müssen Ihre Ausbildung nicht erklären". Und da war ich und dachte, dass die Dinge in den USA / Großbritannien anders waren. Ich weiß genau, was du meinst.
Raveline
3

Quadratische Gleichungen und Trigonometrie.

Sehr wichtig beim Schreiben von Software für die traditionellen Ingenieurdisziplinen.

angryITguy
quelle
Berechnet nicht ... da die meisten guten Programmierer Ingenieure sind, warum hat jemand das Gefühl, dass seine Grundkenntnisse im Schreiben von Software für Ingenieurdisziplinen nicht ausreichen, wenn es eine Menge Ingenieure gibt, die Mathematik, Physik und Computer verstehen ?
Ben Voigt
@Ben. Ob Sie es glauben oder nicht ... VIELE Leute haben es geschafft, in die Softwareentwicklung einzusteigen, und haben keine formelle Ausbildung darin. Dies ist wahrscheinlich vor "Ihrer Zeit". Ich war einer ... Ich habe es gelernt, aber es wäre viel einfacher geworden, wenn ich in der Schule aufgepasst hätte.
angryITguy
Für den Fall, dass es nicht offensichtlich war, befürworte ich, dass Ingenieurssoftware von Ingenieuren geschrieben wird, die nicht in Softwareentwicklung geschult sind. Software-Engineering ist nicht schwer zu erlernen, wenn Sie in logischem Denken geschult wurden. Das Erlernen der automatischen Lösung technischer Probleme durch OTOH, wenn grundlegende mathematische Fähigkeiten wie quadratische Gleichungen fehlen, ist so gut wie unmöglich.
Ben Voigt
@ben. Diejenigen, denen es an "grundlegenden mathematischen" Fähigkeiten mangelt, werden jetzt als Berater für soziale Medien bezeichnet und verdienen erheblich mehr als Ingenieure.
angryITguy
@guilio: Ich bin mit Respekt anderer Meinung. Es gibt ein paar Ingenieure an der Spitze, die eine verrückte Summe Geld verdienen (wir nennen sie normalerweise "Erfinder", aber sie verwendeten technische Fähigkeiten, um das Produkt zu entwerfen). Dann gibt es eine kleine Gruppe der gefragtesten Medienberater. Dann mischen sich die übrigen kompetenten Ingenieure, darunter die inkompetenten Ingenieure und die einfachen Medienberater. Und alle von ihnen haben einen überdurchschnittlichen Hochschulabschluss mit einem mathematischen Abschluss, der quadratische Gleichungen für die nächste Generation von Ingenieuren lehrt.
Ben Voigt
1

Ja, ich habe den Compilern nicht so viel Aufmerksamkeit geschenkt, wie ich sollte.

user6791
quelle
1

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".

9000
quelle
1

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.

Joe Phillips
quelle