La science informatique est-elle science, mathématiques appliquées, ingénierie, art, philosophie? "Autre"?
Fournir des antécédents, voici le blog de Steven Wartik en affectation d'Amérique scientifique intitulée " Je ne suis pas un vrai scientifique, et ça va ." L'article couvre de bons sujets pour cette question, mais cela part ouvert plus que ce qu'il répond.
Si vous pouvez penser à la discipline, comment la science informatique correspondrait-elle à sa définition? Si la discipline de l'informatique est basée sur quoi programmeurs Do, ou quoi universitaires faire? Quel genre de réponses obtenez-vous de personnes qui semblaient penser profondément à ce sujet? Quelles raisons donnent-ils?
Il y a deux disciplines informatiques distinctes:
Informatique - L'étude de discipline des ordinateurs et du calcul est-elle à l'aide de la méthode scientifique.
Ingénierie logicielle - est la discipline de la conception et de la mise en œuvre de logiciels à la suite de principes d'ingénierie appropriés.
Les deux chevauchements quelque peu, mais la distinction concerne vraiment les résultats souhaités de la science par rapport à l'ingénierie. Le résultat souhaité d'une discipline scientifique est la connaissance. Le résultat souhaité d'une discipline d'ingénierie est des choses qui fonctionnent.
Donc, pour répondre à votre question:
La science informatique est-elle science, mathématiques appliquées, ingénierie, art, philosophie? "Autre"?
L'informatique est la science ... une fois faite correctement. Cependant, comme d'autres disciplines CS se chevauchent de mathématiques, d'ingénierie, de sciences physiques, de sciences sociales, de philosophie et ainsi de suite.
J'ajouterais également que la plupart des programmeurs ne sont ni informatiques ni génie logiciels. C'est plus comme ce que fait un artisan.
Et Triste de dire, ni l'informatique académique ni la profession d'ingénierie logicielle ne sont aussi rigoureuses que les disciplines de science et d'ingénierie plus anciennes. (Il existe des champs d'informatique traditionnellement rigoureux; par exemple, ceux avec une base mathématique forte. Mais pour de nombreux domaines, il est tout simplement trop dur/coûteux pour faire des études scientifiques appropriées sur les questions qui comptent vraiment.)
Les programmeurs rarement "faire des sciences informatiques". Ils tilisent résultats de "Génie logicielle", qui est évidemment une discipline d'ingénierie.
Autre que cela, l'informatique est appliquée des mathématiques. Si vous comparez CS avec quelque chose d'appartenance indubitablement à des mathématiques appliquées, vous remarquerez beaucoup de ressemblance.
Les informaticiens conçoivent et étudient les méthodes de calcul (algorithmes), prenant la majeure partie de la théorie des mathématiques (logique, théorie des graphes, combinatorisions, etc.), y contribuant à la fois. Tout comme le reste des mathématiques appliquées.
Ils évaluent théoriquement les propriétés de ces modèles et algorithmes et portent des expériences de modélisation (programmes de test d'écriture). Comme appliquées de mathématiciens simulent le flux de liquide dans des tubes sur des grappes, les informaticiens utilisent des ordinateurs pour expérimenter des implémentations de leurs algorithmes. Les résultats de ces expériences vont directement dans la production: soit à une raffinerie de pétrole ou à un logiciel d'analyse de stock.
Dans l'université, j'ai fini qu'il n'y a même pas un département spécial pour l'informatique: entre autres domaines non informatiques, la chaire informatique fait partie du département des mathématiques appliquées.
L'informatique est un terme que ces jours couvrent beaucoup, beaucoup de choses:
Notez comment tout ce qui précède a une nommée distincte au lieu de "informaticiens". La différence est que cette informatique est trop nouvelle pour la dénomination.
Tout d'abord, c'est informatique Science. Cela traite des mathématiques derrière le calcul.
[.____] Il existe d'autres disciplines qui sont plus orientées vers l'ingénierie.
La différence est la même que toutes les disciplines liées à la science et à l'ingénierie. L'une concerne la précision, une autre sur la précision. La science informatique est théorique, d'autres sont la science appliquée aux problèmes: branches d'ingénierie.
L'informatique est appliquée et expérimental mathématiques.
La discipline le plus précisément appelée "informatique" est, dans la plupart des universités que j'ai vérifiées, une science appliquée, similaire aux disciplines de l'ingénierie; Si vous y êtes majeur, vous recevez une "BS" ou "MS". Le diplôme CS de Texas Tech a été offert par le Collège d'ingénierie. La discipline, telle que enseignée, est principalement théorique; Vous apprenez le concept de machines de Turing, DAS/NDAS et d'autres concepts fondamentaux que le programmeur "quotidien" n'a pas vraiment à continuer de se classer dans leur crâne. Vous obtenez également une contenant de la charge de mathématiques supérieures; Le Texas Tech CS Diplôme, et je parierai beaucoup d'autres aussi, à peu près beaucoup, vous êtes un mineur mathématique pour y aller. À cela, la plupart des pistes de diplômes de l'Université ajoutent dans une brise de pointe de basse niveau pratique; Vous apprenez une langue d'assemblage, une langue de 3ème génération, vous explorez des graphiques informatiques, des systèmes d'exploitation et même un bon nombre de conception de génie électrique/numérique.
Cependant, la plupart des personnes qui codent pour gagner leur vie ne sont pas des "informaticiens"; Ils sont, strictement parlant, "développeurs de logiciels" ou (lorsque vous ajoutez une analyse/design) "Ingénieurs logiciels"; Ce travail est beaucoup moins du matériel de quincaillerie (bien que vous devez connaître les bases de cela), beaucoup plus d'analyse des systèmes, de conception et de codage tout droit. De nombreuses universités ont une piste différente juste pour cela; Au Texas Tech, il s'appelait "Gestion des systèmes d'information" et c'était un diplôme en activité (BBA/MBA). Cette piste était plus légère sur des mathématiques plus élevées (ce que vous avez dû savoir sur l'algèbre et le calibre différentiel/intégré a été pressé dans deux semestres de "mathématiques d'affaires", et n'incluait pas de vecteur/tenseur calc, algèbre linéaire, etc.), beaucoup plus lourde sur Mathématiques financières (un semestre chacun des statistiques et des finances, avec deux comptables et économiques). Plus léger sur les systèmes d'exploitation, plus lourds sur les technologies "Stack" telles que les bases de données, les serveurs Web, la mise en réseau et l'administration des systèmes généraux. Plus léger sur les langages de bas niveau, la conception de circuits et l'AI, plus lourds sur les langues 3ème et 4ème génération, analyse des systèmes et gestion de projet. J'ai eu cette degré de Texas Tech et j'avais laissé au moins un semestre chacun de Java, VB, C # et Langues Web (HTML/CSS/PHP), plus une année de OAA & D et de divers autres cours. dans la gestion de projet informatique.
Quel est le meilleur dans le monde réel? J'ai eu la mauvaise BBA, mon frère a obtenu le CS BS, et nous sommes tous deux employés à peu près au même niveau de salaire (ajustant le coût de la vie) en tant qu'ingénieurs de logiciels seniors. Il a dû apprendre beaucoup de l'OOA & D requis sur le tas, ainsi que de tourner assez rapidement en C #/Java de ses connaissances de base C++. Pour ma part, j'aimerais avoir les deux semestres de l'algorithme conceptuelle d'études qu'il a eu pendant que j'étais coincé dans des cours de gestion d'entreprise (oui, MIS est une "gestion", mais j'ai découvert que 99% de ma connaissance de la manière dont Pour gérer et non gérer d'autres personnes a été apprise par exemple).
L'informatique est une branche des mathématiques appliquées qui traitent de la conception et de l'application de l'automate de calcul. L'ingénierie logicielle est le sous-ensemble approprié de l'informatique qui traite la conception formalisée et la construction du code pour l'architecture von Neumann. L'architecture von Neumann n'est qu'un moyen de mettre en œuvre une machine informatique. Par exemple, la machine utilisée pour craquer des messages encodés enigma n'était pas une machine von Neumann.
L'ingénierie du logiciel est une discipline de praticiens. L'informatique est une discipline axée sur la recherche. La plupart des études de scientifique informatique finissent par développer des logiciels car la recherche exige que la recherche ait eu au moins une maîtrise, ce qui confie la conviction que l'informatique est un certificat de programmation glorifié.