Lorsque les nouveaux arrivants sont intéressés par où commencer à apprendre la programmation, ils sont souvent conseillés aux universités - il existe une véritable informatique, des connaissances fondamentales et, en général, la voie vers une vie normale. Pas comme tirer sur l'Internet de la connaissance et courir pour programmer avec un look astucieux, pour que plus tard pour bourrer de gros coups et déshonorer devant des gens avec de «vraies connaissances».
Je n'ai peut-être pas eu l'intention d'écrire du code pour des projets avancés de la NASA, mais je voulais que l'université m'aide à apprendre à me plonger dans les problèmes que les programmeurs professionnels résolvent jour après jour. Inutile de dire, quel genre de lien avec la réalité j'ai vu dans mon université? Je pense que c'est encore nécessaire.
J'ai commencé à étudier la programmation à l'école, cela m'intéressait et la question du choix d'une profession ne l'était pas encore - il suffisait de choisir une université. Au début, j'allais entrer dans le KPI ou KNU Shevchenko - en général, dans le top du pays, mais ensuite j'ai pensé que déménager à Kiev, ce qui signifie vivre dans une auberge ou louer un appartement, je ne veux pas vraiment, alors j'ai décidé d'entrer dans ma ville, oui et puis j'ai beaucoup entendu parler de comment et où ils enseignaient, donc je ne regrette pas de ne pas avoir déménagé. Une autre question est de savoir avec quoi j'ai fini.
Pour beaucoup de mes camarades étudiants, la programmation était au départ quelque chose de très abstrait, qui à l'avenir semblerait pouvoir vous aider à obtenir un emploi normal. La plupart de mes camarades de classe n'ont rien compris du programme du tout, ils ont étudié selon le principe "juste pour passer" et en général avec beaucoup de difficulté, beaucoup ont confondu la racine carrée et le carré d'un nombre, ils ne pouvaient pas dire avec leurs propres mots ce qu'est un logarithme. Mais dans la façon dont la formation était structurée, je n'ai même pas vu de tentatives pour y remédier.
C'est une chose de faire des conférences, là, l'enseignant est toujours assis devant les étudiants et peut comprendre ce qui atteint qui et expliquer d'une manière ou d'une autre des moments incompréhensibles - mais quand il s'agit de travaux de laboratoire, il s'avère que les conférences portaient généralement sur autre chose, et à la fin décider les tâches ne peuvent être effectuées que par celui qui a lui-même enseigné le matériel nécessaire. Où et comment il a obtenu ce matériel est un mystère.
A qui je pouvais, bien sûr, j'ai aidé, car il est étrange et injuste de ne rien enseigner vraiment, mais en même temps d'exiger des étudiants. Inutile de dire que lire quelque chose en plus n'est pas l'activité la plus populaire parmi nos étudiants.
Je n'écris pas cela carrément, je ne me suis toujours pas établi dans le métier, et même en mettant, à mon avis, beaucoup d'efforts, je me sens comme un proger-imposteur. Mais le fait que j'ai étudié pendant trois ans ne comprends pas quoi, il y a des coupables.
Ici, jetez un œil au programme de cours
Au premier semestre, il y a deux matières spécialisées à la fois: les bases de la programmation (en Python) et l'algorithmisation. Génial, seules les listes de tâches pour les deux matières sont pour une raison quelconque les mêmes, seulement elles sont mélangées entre les étudiants d'une manière différente. Toute algorithmisation est réduite à un dessin sans fin d'organigrammes. Peut-être que pour certains, c’est comme aller dans l’espace, mais je ne me sentais pas non plus comme un astronaute expérimenté - je viens de comprendre la logique des opérations les plus simples avec des cycles, des matrices et tout ça.
Cela ne dérangeait personne - à part dessiner un tableau avec les valeurs d'une variable à chaque étape de l'algorithme, il n'y avait apparemment aucune solution valable aux problèmes. Le code des mêmes tâches doit être imprimé avec «l'analyse» (juste une description textuelle de l'algorithme) à vos frais et soumis à l'enseignant pour vérification. Ceci, pour que vous compreniez, tout s'est passé dans un cours d'informatique, mais les ordinateurs sont restés allumés tout ce temps. Que ce code imprimé sur papier allait être assemblé, personne ne s'y intéressait du tout.
Les premiers laboratoires pour les fonctions ne sont que dans le deuxième semestre. Il y a aussi la première mention des pointeurs. De plus, il y a exactement une tâche pour les pointeurs: écrire l'addition de deux nombres à l'aide de pointeurs. Autrement dit, au lieu d'utiliser d'une manière ou d'une autre les avantages réels des pointeurs, ils ont montré comment ne pas écrire de code sous le couvert de quelque chose d'utile. Vous pourriez au moins demander à écrire via des pointeurs de swap - pas un exemple idéal, car il y a des liens, mais des ajouts?
En conséquence, pour tout le deuxième semestre, des fonctions, des pointeurs et des structures ont été ajoutés à partir des concepts - les structures sont également, comme vous le comprenez, au niveau de compter quelque chose pour une liste d'étudiants. Mais voici ce qu'ils ont commencé à exiger la deuxième année, faites attention à vos mains.
Sujet "Structures discrètes". Conférence sur les décors. Le conférencier raconte ce que c'est, montre les opérations les plus simples (union, intersection, addition), parle du paradoxe de Russell, de l'ensemble des sous-ensembles et donne l'énoncé «La cardinalité d'un ensemble est inférieure à la cardinalité de l'ensemble de ses sous-ensembles», sans preuve.
Que demandent-ils dans le laboratoire? Un programme qui imprime de nombreux sous-ensembles. Moi, la même personne qui jusqu'à récemment raté les organigrammes, je n'ai fait face à ce laboratoire que grâce à un ami qui m'a un peu pompé sur les problèmes de l'Olympiade et, en général, j'ai enseigné beaucoup de choses à l'école. Combien ont un tel ami? Ou peut-être que le conférencier aurait dû s'efforcer un peu plus et ne pas se limiter à des informations comme 2 + 2, uniquement sur les ensembles.
La même chose avec les fonctions booléennes - une conférence sur AND, OR, NOT et la flèche de Pierce, mais en laboratoire - écrivez une calculatrice pour les expressions booléennes. Bien sûr, vous pouvez étudier tout cela vous-même et au moins écrire sur ces calculatrices, mais pourquoi un enseignant est-il nécessaire dans une telle situation? Pour dire la table de multiplication, et définir les intégrales de la maison? Et là, et il y a des chiffres. Ou simplement pour vous faire peur d'un seul regard et vous faire apprendre rapidement quelque chose «comme un adulte»? Désolé, mais les étudiants, même les étudiants de première année, ne sont pas des idiots. Et tout cela à un moment donné a commencé à être nécessaire pour écrire uniquement en C ++, ce que tout le monde détestait - le langage est encore assez complexe. Pourquoi il était impossible de faire la même chose dans d'autres langues, je ne comprenais toujours pas - en raison du fait qu'il y a probablement des pointeurs dans les avantages.
Mais mon supérieur dirige le sujet de la POO et plus particulièrement l'enseignant dessus - chaque fois qu'il était en retard de trente minutes, puis il a poussé deux options, soit naturellement le programme scolaire au niveau de quelque chose-information-ou-algorithme, soit a commencé de longues discussions sur l'importance de l'assembleur. et "sonde de bas niveau". Et à propos de l'assembleur, apparemment, juste pour un slogan, car le sujet n'allait pas plus loin que des histoires déroutantes sur la fonction d'appel. Et c'est au sujet de la POO!
Les laboratoires évaluaient à nouveau des organigrammes, pas du code. De plus, ce professeur particulier avait clairement peur du code, et quand on lui a demandé de montrer des exemples, il s'est excusé en disant "pourquoi avez-vous besoin d'exemples, l'essentiel est le concept." Eh bien, en général, tout le semestre d'une tâche de programmation consiste à écrire un programme de 20 lignes, et à lui un schéma de principe, un diagramme UML, 50 autres diagrammes, et n'oubliez pas de visser l'héritage quelque part, car l'approche POO.
Je ne vous dirai pas ce qui a été enseigné plus tard - en quelque sorte, tout tourne autour de schémas, de diagrammes et d'enseignants qui ont peur du code. De plus, à la fin de la troisième année, j'ai été techniquement expulsé de l'université pour des raisons dont je ne veux même pas discuter, car j'étais déjà convaincu que c'était pour le mieux.
Toute conversation sur les problèmes de l'enseignement informatique commence par le fait que l'informatique est une industrie en évolution rapide qui ne peut pas être suivie, et que les universités seront de toute façon le mésozoïque par rapport à la réalité dans laquelle les programmeurs qui veulent être utiles et être payés C'est de l'argent. Mais les algorithmes et structures de données sous-jacents changent-ils rapidement? Les principes de base de la POO ont-ils beaucoup changé ces derniers temps? Ou SQL? La base d'un spécialiste en informatique ne se résume pas à des paroles creuses, il peut et doit être enseigné. Est-ce important dans quelle langue? Pour moi, si seulement le professeur le connaissait, et la nouveauté voire la popularité est la deuxième chose.
Une autre approche populaire est que l'université est une théorie solide au lieu de la pratique. Mais je pense que, d'après ce qui précède, vous pourriez comprendre ce que signifie la théorie dans l'université moyenne. La vraie illusion de la science pour ceux qui ne veulent rien penser du tout et qui étudient dans une université pour une raison qu'ils comprennent.
Rares sont ceux qui peuvent obtenir leur diplôme d’école à l’âge de 16 ans et réfléchir immédiatement de manière critique à leur avenir, mais c’est un problème de l’enseignement supérieur en général, et je ne voudrais pas y approfondir. La programmation n'est pas magique, c'est une chose fondamentale dans le monde moderne - sinon comment expliquer le nombre considérable de professionnels actifs qui n'ont pas de formation spécialisée? Il est peu probable que tous soient tombés du ciel en comprenant les principes de base.
De plus, même si nous supposons que tous sont des spécialistes incroyables de l'auto-éducation, alors où cette auto-éducation devient-elle si populaire? Il existe en fait des milliers de livres, de cours, de formations, et le seul problème est que tout ne se passe pas non plus sans heurts et que vous devez souvent rechercher un bon contenu en tapant. Mais est-il possible de trier les universités en tapant?
Si, encore une fois, vous ne prenez pas le dessus, alors tout cela ressemble à une loterie dans laquelle vous pouvez gagner une éducation normale avec quelques professeurs enthousiastes dans les matières de base, ou vous pouvez simplement attraper un haha pendant cinq ans dans des universités comme la mienne. En plus de tout, beaucoup de gens ont vraiment besoin d'un système pour faire au moins quelque chose dans un domaine où, en général, il faut essentiellement s'asseoir devant un ordinateur avec concentration et assembler des structures plutôt complexes.
Mais comment ce système fonctionne-t-il avec un exemple comme celui que j'ai décrit? Distribue de l'argent à des personnes étranges qui, j'en suis sûr, préféreraient oublier la programmation, mais pour une raison quelconque, elles l'enseignent. Et les gens qui, dans une situation différente, pourraient et voudraient révéler leur potentiel, se retrouvent plongés dans l'hypnose de masse pendant 5 ans, puis, dans un ordre semi-aléatoire, s'envolent dans toutes les directions.
La publicité
VDSina offre VDS avec paiement quotidien, la possibilité d'installer n'importe quel système d'exploitation, chaque serveur est connecté à un canal Internet de 500 Mégabits et est protégé des attaques DDoS gratuitement!