Ich habe in Wikipedia über Computerwissenschaften gelesen, aber mein Verständnis ist nicht sehr klar.
Umfasst die Computerwissenschaft das Programmieren? Wie unterschiedlich ist die Computerwissenschaft von der Computerwissenschaft _ ____ , bei der es sich um eine beliebige Disziplin handeln kann (Materialwissenschaften, Ingenieurwissenschaften, Chemie, Biologie usw.)? (Ich werde rechnergestützte Materialwissenschaften betreiben.)
Antworten:
Der Link, auf den Godric unter der Frage hingewiesen hat, ist genau richtig. Es gibt einen guten Überblick über die vielen Talente, die ein Informatiker haben muss.
Im Allgemeinen besteht der Unterschied zwischen einem Computer-X (X = Mathematiker, Bauingenieur, Materialwissenschaftler) und einem theoretischen X oder experimentellen X darin, dass erstere Probleme mit Computern angehen und nicht mit Experimenten oder Theorien. Natürlich ist die Fähigkeit, Computer zu benutzen - insbesondere um sie zu programmieren - ein wichtiger Teil davon, ebenso wie Fähigkeiten und ein gutes Verständnis des X selbst.
Computerwissenschaftler sind die Personen, die nicht unmittelbar Teil der X-Community sind, aber häufig einen Hintergrund in Mathematik oder Informatik haben. Ich würde mich als eins betrachten. Ich würde sagen, dass die meisten von ihnen nicht so sehr an einer bestimmten Anwendung (dh dem X) an sich interessiert sind, sondern vielmehr die Lösung von Problemen in Feld X in Betracht ziehen, um neue numerische und rechnerische Methoden zu entwickeln und anzuwenden - dh als Testfälle für Methoden, die allgemein anwendbar sind. Viele Computerwissenschaftler sind ausgezeichnete Programmierer und vor allem Softwareentwickler und -ingenieure. Gut darin zu sein, ist sicherlich ein wichtiger Teil der Berufsbeschreibung eines Informatikers.
quelle
Um es grob auszudrücken, Sie werden kein guter Profi sein, wenn Sie behaupten, "Computational Science" zu betreiben, aber keine Programmierkenntnisse haben.
Für die Berechnung benötigen Sie ein Tool. Und der Computer ist so ein Werkzeug. Die Programmierung ist die einzige Möglichkeit, dem Computer beizubringen, wie man etwas macht. Daher ist die Programmierung ein wesentlicher Bestandteil der Computerwissenschaft. Das soll nicht heißen, dass es der einzige Teil davon ist. Die Theorie hat ihren eigenen heiligen Ort. Wenn Sie in der Theorie sehr gut sind, werden Sie besser entwerfen und was wichtiger ist, korrekte Algorithmen.
Soweit ich weiß, kann man auch ohne Programmierkenntnisse überleben: indem man Algorithmen theoretisch entwirft. Aber dann müssen Sie jemanden einstellen, der sich mit Programmierung auskennt, um zu überprüfen, ob Ihre Algorithmen in Echtzeit funktionieren oder nicht.
Außerdem ist es eine Tatsache der modernen Welt, dass Menschen, die sich mit Programmierung auskennen, besser bezahlt werden. MEINER BESCHEIDENEN MEINUNG NACH!
quelle
Ich kenne keine Lehrbuchversionen der Definition oder Beschreibung von Computerwissenschaften, aber hier sind meine zwei Cent, die auf meinen Erfahrungen basieren:
In der Computerwissenschaft geht es um rechnerische Prozesse. Einer der entscheidenden Prozesse ist die Programmierung. Also, ja, es geht um Programmierung. Es ist eine andere Frage, ob die Computerwissenschaftlerin ein Programm schreibt oder nicht, aber sie wird höchstwahrscheinlich die Benutzerin von Programmen sein, die für bestimmte wissenschaftliche Bereiche geschrieben wurden. Und es wird immer wahrscheinlicher, dass sie "Klebe" -Code schreiben muss, um die Dinge an ihre Bedürfnisse anzupassen. Hoffe das beantwortet deine erste Frage.
Ich kenne die rechnergestützte Materialwissenschaft nicht, gehe aber davon aus, dass es sich um einen Wissenschaftszweig handelt, der rechnergestützte Anforderungen hat, z. B. für Simulationen von Energie und Wechselwirkungen zwischen Elementen usw. Es werden also dieselben allgemeinen Prinzipien der rechnergestützten Wissenschaft einbezogen wie in anderen wissenschaftlichen Bereichen: Algorithmen, Prozeduren, Klebecodes, Dateimanipulation, Konfiguration, Visualisierung und so weiter. Hoffe, dies ist kurz vor der Beantwortung Ihrer zweiten Frage.
Ihr Informatik-Hintergrund sollte auf jeden Fall helfen. Ob es im Rahmen liegt oder nicht, ist etwas subjektiv. Ich würde jedoch sagen, dass es in Anbetracht der Fächer, die Sie studiert haben, sehr in Ihrer Komfortzone liegen sollte.
quelle
Hier ist eine andere Art der Antwort, aber meiner Meinung nach sehr interessant.
Ich habe mir alle Benutzer dieser Beta mit mehr als 1000 Reputationen angesehen. Ich denke, dass diese Leute als Computerwissenschaftler betrachtet werden können. Für jeden von ihnen habe ich mir das Profil angesehen und herausgefunden, ob er ein Konto bei StackOverflow hat, was als Anzeichen für Programmierinteresse gewertet werden kann. Hier sind die Ergebnisse:
Auf dem
25 users having more than 1000 reputation
:(16%)
Ich habe kein Konto.(20%)
gerade das Konto eröffnet, ohne an Ansehen zu gewinnen.(64%)
haben zu StackOverflow beigetragen.Zumindest
84%
einige von ihnen interessieren sich für die Programmierung. Dies zeigt meiner Meinung nach, dass das Programmieren ein wesentlicher Bestandteil des wissenschaftlichen Rechnens ist :-) Das ist nur eine Bestätigung der anderen Antworten!Eine weitere interessante Tatsache (die ich nicht quantifiziert habe) ist, dass all diese Benutzer Konten zu vielen Themen haben, nicht nur zu Computational Science und StackOverflow! Ich denke, dass dies nur in die Richtung der Antwort von Wolfgang Bangerth geht.
quelle
Ich spreche aus meiner persönlichen Erfahrung und kenne ausgezeichnete Computerwissenschaftler, die wenig oder gar keine Programmierkenntnisse oder -erfahrung haben. Andererseits wissen die meisten mir bekannten Computerwissenschaftler, wie man einen Computer programmiert.
Auf diesen Teil Ihrer Frage gibt es keine endgültige Antwort. Die Frage, die Sie sich stellen müssen, lautet: Steht mir Software zur Verfügung, mit der ich mein Problem lösen kann, oder gehört es zu meiner Aufgabe, die Software zu schreiben, mit der das Problem zuerst gelöst werden kann, und sie dann zur Lösung des Problems zu verwenden tatsächliches Problem. Die Antwort darauf bestimmt, ob Sie programmieren müssen oder nicht.
quelle
Interessante Frage, ich studiere Computational Material Science und ich bin ein Doktorand mit einem großen Hintergrund in Physik. Bisher habe ich nur wenig programmiert, aber das spricht für mich. Häufig bestimmen die spezifischen Ziele Ihres Projekts den genauen Umfang der Codierung, die Sie durchführen werden. Wenn es um eine bestimmte Verbindung mit Standardtechniken und -software geht, schreiben Sie schlimmstenfalls Bash / Python-Skripte, um den Code zu automatisieren, den Sie verwenden. Ich bin der Meinung, dass Sie möglicherweise etwas programmieren werden, um das Zeug zu implementieren, das Sie validieren möchten, also kurze Antwort: Ich kann nicht für Computerwissenschaften sprechen, aber für Computer-Materialwissenschaften wird der Umfang der Programmierung, falls vorhanden, von bestimmt dein Projekt.
quelle
Ich werde den zweiten Teil beantworten. Während es je nach Interesse einer Person viele Überschneidungen zwischen einem allgemeinen Computerwissenschaftler und einem spezialisierten Computerwissenschaftler geben kann, liegt das Hauptanliegen des Computerwissenschaftlers in der Einführung neuer Computertechniken zur Untersuchung eines Problems in einem Domänenfeld. Neu in der Rechentechnik kann eine neue Berechnung sein, die mangels geeigneter Rechenwerkzeuge oder auf schnellere Weise nicht möglich war. Auf der anderen Seite wird Computational X hauptsächlich daran interessiert sein, mit diesen neuen Tools neue Probleme zu untersuchen. So legt ein Informatiker im Allgemeinen zunächst eine Problemstellung fest, erläutert den allgemeinen Rahmen für die Lösung, schränkt die Anwendbarkeit des Werkzeugs ein (Geschwindigkeit / Fehler usw.) und löst ein Problem als Proof-of-Concept. Wie für den ersten Teil,
quelle