La discipline la plus précisément appelée «informatique» est, dans la plupart des universités que j'ai vérifiées, une science appliquée, semblable aux disciplines de l'ingénierie; si vous vous spécialisez, vous recevez un "BS" ou un "MS". Le diplôme CS de Texas Tech a été offert par le Engineering College. La discipline, telle qu'elle est enseignée, est principalement théorique; vous apprenez le concept des machines de Turing, des DA / NDA, et d'autres concepts fondamentaux que le programmeur "au jour le jour" n'a pas vraiment besoin de continuer à vibrer dans leur crâne. Vous obtenez également une multitude de mathématiques supérieures; le diplôme Texas Tech CS, et je parie que beaucoup d'autres aussi, vous donne à peu près un mineur de mathématiques pour aller avec. À cela, la plupart des cursus universitaires ajoutent un tableau de bord d'application pratique de bas niveau; vous apprenez un langage d'assemblage, un langage de 3e génération,
Cependant, la plupart des gens qui codent pour gagner leur vie ne sont pas des "informaticiens"; ce sont, à proprement parler, des "développeurs de logiciels" ou (lorsque vous ajoutez l'analyse / conception) des "ingénieurs logiciels"; ce travail est beaucoup moins matériel (même si vous devez en connaître les bases), beaucoup plus d'analyse de systèmes, de conception et de codage direct. De nombreuses universités ont une voie différente juste pour cela; à Texas Tech, cela s'appelait "Management of Information Systems" et c'était un diplôme en commerce (BBA / MBA). Cette piste était plus légère en mathématiques supérieures (ce que vous deviez savoir sur l'algèbre et le calcul différentiel / intégral était compressé en deux semestres de "maths commerciales", et n'incluait pas le calcul vectoriel / tensoriel, l'algèbre linéaire, etc.), beaucoup plus lourd sur mathématiques financières (un semestre chacune de statistiques et finances, avec deux chacun de comptabilité et d'économie). Plus léger sur les systèmes d'exploitation, plus lourd sur les technologies de «pile» telles que les bases de données, les serveurs Web, les réseaux et l'administration générale des systèmes. Plus léger sur les langages de bas niveau, la conception de circuits et l'IA, plus lourd sur les langages de 3e et 4e génération, l'analyse de systèmes et la gestion de projet. J'ai obtenu ce diplôme de Texas Tech et au moment où je suis parti, j'avais au moins un semestre de Java, VB, C # et langages Web (HTML / CSS / PHP), plus un an d'OOA & D et divers autres cours en gestion de projet informatique.
Quel est le meilleur dans le monde réel? J'ai obtenu le MIS BBA, mon frère a obtenu le CS BS, et nous sommes tous les deux employés à peu près au même niveau de salaire (en tenant compte du coût de la vie) que les ingénieurs logiciels seniors. Il a dû apprendre beaucoup de OOA & D sur le tas, ainsi que tourner assez rapidement en C # / Java à partir de ses connaissances de base en C ++. Pour ma part, j'aurais aimé avoir les deux semestres d'étude d'algorithmes conceptuels qu'il a obtenus alors que j'étais coincé dans des cours de gestion d'entreprise (oui, MIS est un diplôme de "gestion", mais j'ai trouvé que 99% de mes connaissances gérer et ne pas gérer d'autres personnes a été appris par l'exemple).