Cette question m'a fait penser qu'il y avait une meilleure question à poser.
Qu'avez-vous appris à l'école qui ne vous intéressait pas à l'époque, mais qui s'est avéré utile ou vous avez dû réapprendre sur le lieu de travail parce que vous l'aviez à l'école, mais vous n'avez pas conservé les informations et vous en aviez besoin? (Je veux dire pour les travaux liés aux logiciels.)
Je pense que cela pourrait aider les étudiants à identifier une partie de ce à quoi ils devraient faire attention pendant leurs études.
Réponses:
La plupart des développeurs que j'ai vus récemment sortir de l'école n'avaient pas beaucoup d'expérience en développement OO . Ils en ont entendu parler, mais la plupart des choses consistent simplement à «mettre des choses en classe».
À l'école, vous trouverez une foule d'exemples sur les voitures et les personnes qui peuvent être placés dans le cadre OO. Cela vous apprend le polymorphisme, la surcharge et des choses comme ça. Plutôt «basique» des choses. C'est bien de savoir ces choses et leur fonctionnement, mais je n'ai jamais eu d'exemple d'utilisation réelle. Je pense qu'il est important de montrer aux élèves des scénarios du monde réel où une conception est utilisée.
Une autre chose qui m’a manqué au collège est l’utilisation (ou la mauvaise utilisation) de modèles de conception utilisables . Je pense que ces jours-ci, les modèles les plus importants devraient être introduits quelque part vers la fin de la première année ou au début de la deuxième année. Les étudiants devraient se familiariser avec eux.
L'écriture de code propre est quelque chose qui n'est pas enseigné (suffisamment) à l'école. Nous pourrions faire une vraie pagaille avec le code tout en obtenant un A +. «Si l'application fonctionne, c'est bien. était la devise. Les étudiants doivent apprendre à rédiger un code propre et de haute qualité et en être récompensé. Cela signifie également une refactorisation et l'utilisation des modèles ou des meilleures pratiques qu'ils ont apprises.
Bien sûr, les étudiants enthousiastes ont appris tout cela par eux-mêmes, mais d’autres qui ne l’étaient pas aussi. Cela pourrait être placé sous un manque de motivation, ou ils ne savaient tout simplement pas où ou comment regarder. Quand ils paient beaucoup pour une école, je pense qu'ils devraient vraiment vous apprendre ce genre de choses.
En outre, une écriture décente (professionnelle) est une compétence qui manque à la plupart des gens. Dommage car c'est très important dans le monde réel. Le plus important est de pouvoir vous exprimer clairement dans votre langue maternelle. Si vous ne pouvez pas écrire clairement dans votre langue principale, il est difficile de communiquer dans une entreprise.
Je ne sais pas si vous pouvez apprendre à écrire à quelqu'un de cet âge, il devrait déjà être familiarisé avec cette compétence. On pourrait répéter les choses enseignées au lycée. Peut-être enseigner aux étudiants comment écrire des commentaires et de la documentation technique. J'ai toujours du mal à rédiger des documents techniques car personne ne semble savoir le faire, ni quel est le format par défaut.
la source
Les filles. Vous pensez peut-être que je plaisante mais je ne le suis pas.
Ne devenez pas fou ou quoi que ce soit, vous devez encore apprendre les bases académiques. Mais vous devez également passer un peu de temps à apprendre à connaître les gens, ceux qui vous entourent.
Cela inclut la moitié de l'humanité qui a des intérêts et des attitudes complètement différents de ceux de vous et de vos amis, mais avec qui vous voudrez toujours vous entendre.
la source
Je pense que j'aurais dû mettre environ 42% d'énergie en plus dans les statistiques.
la source
L'écriture serait l'une des plus importantes pour moi. Je ne pense cependant pas que cela se limite aux développeurs.
la source
Programmation fonctionnelle. À l'époque, cela ressemblait à un essaim de parenthèses qui ne pouvaient rien faire d'utile. Maintenant que les expressions lambda sont de plus en plus répandues, j'ai dû recycler mon cerveau pour qu'il puisse penser de cette façon. Au collège, je voulais juste mettre LISP et Scheme aussi loin que possible dans le rétroviseur et ne jamais regarder en arrière. Si j'avais eu une idée de l'utilité de certains aspects de la programmation fonctionnelle, j'aurais fait plus attention.
la source
Expressions régulières. Je me souviens distinctement de l'avoir emporté au collège. Ils ont été indispensables pour le travail.
la source
Ma réponse préférée (statistiques) est prise, alors je vais donner ma deuxième réponse préférée. Notation Big-O et connaissance de l'efficacité de divers algorithmes clés. Pour moi, c’est moins une «arme secrète» que des statistiques, mais c’est toujours très précieux.
la source
J'aurais aimé entendre ce que mon professeur m'avait dit quand j'avais 14 ans. Malheureusement, je ne peux pas vous dire ce que c'était parce que je n'ai pas écouté.
la source
Le cours doit porter sur la théorie des langages finis et des automates.
Je pensais que c'était trop théorique, jusqu'à ce que mon travail me demande de faire un compilateur de langage spécifique à un domaine à partir de zéro.
la source
Je dirais C, ainsi que UNIX. Bien que j'aie appris UNIX peu de temps après l'université, j'estime qu'il aurait été avantageux de m'investir davantage dans UNIX et C plus tôt.
la source
la source
Rédaction technique Je passe beaucoup de temps à rédiger des exigences, à communiquer avec les clients et les collègues. C’est un domaine dans lequel j’ai eu un cours d’une heure de crédit à College. Le seul autre cours qui m'a vraiment aidé dans ma carrière a été un autre cours d'une heure. C'était en programmation C. Le reste, bien qu'intéressant et ayant probablement aidé mes compétences analytiques globales, n'a pas été un bénéfice direct pour ma carrière.
Certes, je suis allé à l'école il y a 20 ans et C était considéré comme un chef de file du département de génie électrique. Les employés de CS travaillaient avec Lisp et C ++, mais sans doute pas autant que possible, comme je l'espère, chez les diplômés d'aujourd'hui.
la source
Documents de conception
J'ai toujours supposé que ce serait quelqu'un d'autre qui créerait ces choses, ou que ce ne sont que de simples documents. Ils ne sont pas du tout simples et mon équipe est suffisamment petite pour que je puisse créer mes propres documents de conception.
la source
Deuxième langue étrangère. Russe dans mon cas. Beaucoup de livres, de ressources et plus encore dans cette langue dans mon espace environnant.
la source
Du côté des choses:
De la catégorie tout:
la source
Calculs et mathématiques de vecteur. Je les avais, mais mes profs étaient affreux et n’enseignaient pas vraiment les sujets. Mais comme quelqu'un qui est fortement impliqué dans la programmation graphique ... une meilleure fondation en mathématiques vectorielles aurait aidé.
la source
Évidemment, histoire et littérature. Le problème est souvent, l'école ne les rend pas intéressants.
la source
Électronique
Je n'avais pas beaucoup de logiciels liés à l' école . Ah - l'informatique, mais je l'ai annulé. :) Mais c'était facile à apprendre plus tard. Alors que l'électronique, souvent je ne comprends pas. Microcontrôleurs, PWM, GPIO - wtf? J'aimerais bien comprendre le truc.
la source
Réseaux distribués / informatique . La programmation n'est pas un défi, mais les conditions préalables de l'architecture actuelle sont une connaissance approfondie des concepts distribués.
Un cours détaillé était proposé en option, mais il fallait choisir entre ceci et l'IA: ce n'est donc pas vraiment un regret.
la source
Design Patterns: La façon dont ils ont été présentés ne vous a pas vraiment dit à quel point ils étaient utiles, car depuis lors, j'ai lu quelques livres sur eux et je pense qu'ils sont incroyablement utiles.
la source
Unix, Shellscripting, C. Avait la chance de bien l'apprendre à l'école, mais devait le faire plus tard au travail.
la source
Non informatique:
Personnellement, j'aimerais avoir une langue maternelle comme la plupart des gens normaux ici. J'entends par là que la plupart des gens sont nés dans une langue principale et en choisissent peut-être une ou deux plus tard. Dans cette situation, les langues supplémentaires n'affectent généralement pas la langue maternelle, car vous disposez déjà d'une base solide qui comprend la parole, l'écriture et l'écoute. J'ai grandi en parlant, en écrivant et en écoutant trois langues distinctes simultanément. Même si je réussissais toujours bien dans les cours de langue à l'école et au collège, j'aimerais pouvoir parler couramment UNE langue. Cela m'oblige à réfléchir un peu pendant une fraction de seconde avant de formuler une réponse. Certaines personnes le remarquent et concluent que je suis trop timide (ce qui n’est pas faux dans une certaine mesure).
la source
Économie. C'est peut-être ennuyeux (et un peu cruel), mais de toute façon, c'est le seul qui soit vraiment essentiel dans cette société. Après cela, les statistiques.
la source
Je pense que les trois classes qui m'ont le plus éclairé sur le fonctionnement des ordinateurs lors de l'exécution de logiciels (grâce à quoi cette compréhension permet une programmation plus optimale) sont les suivantes:
Compilateurs de systèmes d'exploitation en langage d'assemblage
Il est peut-être très facile de penser que ces cours ne sont pas aussi utiles, sauf si vous vous lancez dans une carrière spécifiquement axée sur l'une de ces choses, mais même si vous êtes un développeur Web et que vous n'utilisez pas directement ces connaissances pour comprendre. serait toujours extrêmement utile de coder efficacement.
la source
Il y a environ une douzaine de cours que j'aurais aimé suivre au collège, mais que je n'ai pas suivis. Surtout pas CS. Photographie, General Chem, plus d'écriture!
la source
C’est drôle le nombre de personnes qui parlent d’arts libéraux: j’avais une majeure en sciences cognitives (Philosophie / CompSci / Anatomie) ... Je suis finalement passé à Philosophy / CompSci avec une mineure lourde en anglais (j’aurais pu obtenir un pas pris la peine de prendre les 101, j'avais sauté).
Il me faudrait une semaine d’histoires pour vous raconter toute la merde que j’avais eue de mes camarades CS pour avoir suivi ces cours d’art libéral. Peu importe qu'une demi-douzaine de classes de logique fassent plus pour ma programmation que n'importe quelle quantité de calcul. Même si tous mes meilleurs cours d'IA étaient des cours de philosophie. Peu importe qu'il y ait eu des filles fringantes dans mes cours d'anglais. Non non, j'étais une sorte de poseur peu sérieux pour suivre ces cours.
Prenez courage cependant. Au moins, vous n'êtes pas obligé d'expliquer votre éducation chaque fois que quelqu'un regarde votre CV.
la source
Équations quadratiques et trigonométrie.
Très important dans l'écriture de logiciels dans les disciplines d'ingénierie traditionnelles.
la source
Ya je n'ai pas fait beaucoup d'attention aux compilateurs comme j'aurais dû.
la source
CS / Math: plus de logique, algèbre, théorie des catégories. Des choses plus fondamentales et moins appliquées: comprendre les choses appliquées quand on connaît bien les principes fondamentaux est beaucoup plus facile que l’inverse, et plus fructueux.
(J'avais un A en statistiques mais il a fallu beaucoup de temps pour le lier à de vrais besoins en programmation, j'ai beaucoup oublié.)
«Sciences humaines»: langage naturel, écriture, formulation, compréhension et compréhension. Il ne semble pas important que vous rejoigniez une équipe de plus de 2 ou 3 autres pirates, c'est-à-dire dans la "vraie vie".
la source
Infographie (rendu 3d en opengl / directx)
Honnêtement, cela m'intéressait beaucoup mais j'étais tellement occupé que je ne pouvais pas passer le temps que j'aurais aimé. C'est devenu une corvée au lieu d'un passe-temps. Je pense que je devrai peut-être aller chercher un livre dessus pour m'y intéresser de nouveau.
la source