Mientras que las personas que temen al código y odian el desarrollo enseñan en las universidades, no obtendremos ningún fundamento ni base.





Cuando los recién llegados están interesados ​​en dónde comenzar a aprender programación, a menudo se les aconseja a las universidades: existe una verdadera informática, conocimientos fundamentales y, en general, el camino hacia la vida normal. No es como tirar de la Internet del conocimiento y correr a programar con una mirada inteligente, para luego meter peces gordos y deshonrar frente a personas con "conocimientos reales".



Puede que no tuviera la intención de escribir código para proyectos avanzados de la NASA, pero quería que la universidad me ayudara a aprender a profundizar en los problemas que los programadores profesionales resuelven día tras día. No hace falta decir, ¿qué tipo de conexión con la realidad vi en mi universidad? Creo que todavía es necesario.



Empecé a estudiar programación en la escuela, me interesaba y la cuestión de elegir una profesión ni siquiera entonces, solo era necesario elegir una universidad. Al principio iba a ingresar al KPI o KNU Shevchenko, en general, en la cima del país, pero luego pensé que mudarme a Kiev, lo que significa vivir en un albergue o alquilar un apartamento, realmente no quiero, así que decidí ingresar a mi ciudad, sí. y luego escuché mucho sobre cómo y dónde enseñan, así que no me arrepiento de no haberme movido. Otra pregunta es con qué terminé.



Para muchos de mis compañeros de estudios, la programación fue inicialmente algo muy abstracto, que en el futuro, al parecer, puede ayudarte a conseguir un trabajo normal. La mayoría de mis compañeros no entendían nada del programa en absoluto, estudiaban según el principio "solo para aprobar" y en general con gran dificultad, muchos confundían la raíz cuadrada y el cuadrado de un número, no podían decir con sus propias palabras qué es un logaritmo. Pero en la forma en que se estructuró el entrenamiento, ni siquiera vi ningún intento de solucionarlo.



Una cosa es dar una conferencia, allí el profesor todavía se sienta frente a los estudiantes y puede entender qué está llegando a quién y de alguna manera explicar los momentos incomprensibles, pero cuando se trata del trabajo de laboratorio, resulta que las conferencias generalmente trataban de otra cosa, y al final deciden las tareas sólo pueden ser realizadas por quien él mismo enseñó el material necesario. Dónde y cómo obtuvo este material es un misterio.



A quienes podría, por supuesto, ayudar, porque es extraño e injusto no enseñar nada en realidad, pero al mismo tiempo exigir a los estudiantes. No hace falta decir que leer algo extra no es la actividad más popular entre nuestros estudiantes.



No estoy escribiendo esto de manera franca, todavía no me he establecido en la profesión, e incluso poniendo, en mi opinión, muchos esfuerzos, me siento un proger-impostor. Pero el hecho de que estudié durante tres años no entiendo qué, hay culpables.



Aquí, echa un vistazo al programa del curso



En el primer semestre, hay dos materias especializadas a la vez: los conceptos básicos de programación (en Python) y algoritmos. Genial, solo las listas de tareas para ambas materias son por alguna razón iguales, solo que se mezclan entre los estudiantes de una manera diferente. Toda la algoritmización se reduce al dibujo interminable de diagramas de flujo. Tal vez para algunos sea como ir al espacio, pero yo tampoco me sentía como un astronauta experimentado, simplemente entendía la lógica de las operaciones más simples con ciclos, matrices y todo eso.



Esto no molestó a nadie: aparte de dibujar una tabla con los valores de una variable en cada paso del algoritmo, aparentemente no había soluciones dignas para los problemas. El código para las mismas tareas debe imprimirse junto con el "análisis" (solo una descripción textual del algoritmo) por su cuenta y entregarse al profesor para su verificación. Esto, para que lo entiendas, todo sucedió en una clase de computación, pero las computadoras permanecieron encendidas todo este tiempo. A nadie le interesaba si este código impreso en papel iba a ser ensamblado.



Los primeros laboratorios para funciones son solo en el segundo semestre. También existe la primera mención de punteros. Además, hay exactamente una tarea para los punteros: escribir la suma de dos números usando punteros. Es decir, en lugar de aprovechar de alguna manera las ventajas reales de los punteros, mostraron cómo no escribir código bajo la apariencia de algo útil. Al menos podría pedir escribir a través de punteros de intercambio, no es un ejemplo ideal, porque hay enlaces, ¿pero además?



Como resultado, durante todo el segundo semestre, se agregaron funciones, punteros y estructuras a partir de los conceptos; también estructuras, como comprenderá, al nivel de contar algo para una lista de estudiantes. Pero esto es lo que empezaron a exigir en el segundo año, cuidado.



Asunto "Estructuras discretas". Conferencia sobre decorados. El profesor dice lo que es, muestra las operaciones más simples (unión, intersección, suma), habla sobre la paradoja de Russell, sobre el conjunto de subconjuntos y da el enunciado "La cardinalidad de un conjunto es menor que la cardinalidad del conjunto de sus subconjuntos", sin prueba.



¿Qué preguntan en el laboratorio? Un programa que imprime muchos subconjuntos. Yo, la misma persona que hasta hace poco se perdía los diagramas de flujo, hice frente a este laboratorio solo gracias a un amigo que me animó un poco con los problemas de las Olimpiadas y, en general, me enseñó muchas cosas en la escuela. ¿Cuántos tienen un amigo así? O tal vez el conferenciante debería haberse esforzado un poco más y no limitado a información como 2 + 2, solo sobre conjuntos.



Es lo mismo con las funciones booleanas - una lección sobre AND, OR, NOT y la flecha de Pierce, pero de laboratorio - escribe una calculadora para expresiones booleanas. Por supuesto, puede estudiar todo esto usted mismo y luego al menos descartar estas calculadoras, pero ¿por qué se necesita un maestro en tal situación? ¿Decir la tabla de multiplicar y poner las integrales en la casa? Y ahí, y hay números. ¿O simplemente para asustarte con una mirada y hacerte aprender rápidamente algo “como un adulto”? Lo siento, pero los estudiantes, incluso los de primer año, no son idiotas. Y todo esto en algún momento comenzó a ser necesario para escribir solo en C ++, lo que todos odiaban: el lenguaje sigue siendo bastante complejo. Por qué era imposible hacer lo mismo en otros idiomas, todavía no lo entendía, debido al hecho de que las ventajas tienen indicadores, probablemente.



Pero mi principal dirige la asignatura de programación orientada a objetos y específicamente el profesor en ella, cada vez que llegaba tarde durante treinta minutos, y luego empujaba dos opciones, ya sea naturalmente el plan de estudios de la escuela al nivel de algo-información-o-algoritmo, o iniciaba largas discusiones sobre la importancia del ensamblador. y "sondeo de bajo nivel". Y sobre el ensamblador, al parecer, solo por un eslogan, porque el asunto no iba más allá de las confusas historias sobre la función de llamada. ¡Y eso es sobre el tema de OOP!



Los laboratorios estaban evaluando diagramas de flujo nuevamente, no código. Además, este profesor en particular tenía claramente miedo al código, y cuando se le pidió que mostrara ejemplos, se disculpó con el estilo de "por qué necesita ejemplos, lo principal es el concepto". Bueno, en general, todo el semestre de una tarea de programación es escribir un programa para 20 líneas, y para él un diagrama de bloques, un diagrama UML, 50 diagramas más, y no olvides atornillar la herencia en alguna parte, porque el enfoque OOP.



No les diré lo que se enseñó más tarde; de ​​alguna manera, todo gira en torno a esquemas, diagramas y profesores que le temen al código. Además, al final del tercer año técnicamente me echaron de la universidad por razones que ni siquiera quiero discutir, porque ya estaba convencido de que esto era lo mejor.



Cualquier conversación sobre los problemas de la educación en TI comienza con el hecho de que la TI es una industria que cambia rápidamente y que no se puede seguir, y que las universidades en cualquier caso serán el Mesozoico en comparación con la realidad en la que los programadores que quieren ser útiles y que se les pague Esto es dinero. Pero, ¿están cambiando rápidamente los algoritmos y las estructuras de datos subyacentes? ¿Han cambiado mucho los principios básicos de la programación orientada a objetos últimamente? ¿O SQL? La base de un especialista en TI no son solo palabras vacías, puede y debe aprender. ¿Es importante en qué idioma? Para mí, si tan solo el maestro lo conociera, y la novedad o incluso la popularidad es lo segundo.



Otro enfoque popular es que una universidad es teoría sólida en lugar de práctica. Pero creo que, por lo anterior, podrías entender lo que se entiende por teoría en la universidad intermedia. Una verdadera ilusión de ciencia para quienes no quieren pensar en nada y están estudiando en una universidad por algún motivo que entienden.



Pocos pueden graduarse de la escuela a los 16 años e inmediatamente pensar críticamente sobre su futuro, pero este es un problema de la educación superior en general, y no me gustaría profundizar en él. La programación no es magia, es algo básico en el mundo moderno; de lo contrario, ¿cómo se explica el considerable número de profesionales en activo que no tienen una formación especializada? Es poco probable que todos se hayan caído del cielo para comprender los principios básicos.



Además, incluso si asumimos que todos ellos son increíbles especialistas en autoeducación, ¿dónde se vuelve tan popular esta autoeducación? En realidad, hay miles de libros, cursos, capacitaciones, y el único problema es que tampoco todo es fácil y, a menudo, tienes que buscar un buen contenido escribiendo. Pero, ¿es posible clasificar las universidades escribiendo?



Si, de nuevo, no te llevas la cima, entonces todo esto se asemeja a una lotería en la que puedes ganar una educación normal con un par de profesores entusiastas en materias básicas, o simplemente puedes coger un jaja durante cinco años en universidades como la mía. Además de todo, muchas personas realmente necesitan un sistema para hacer al menos algo en un área donde, en general, básicamente necesitas sentarte frente a una computadora con concentración y ensamblar estructuras bastante complejas.



Pero, ¿cómo funciona este sistema con un ejemplo como el que describí? Distribuye dinero a algunas personas extrañas que, estoy seguro, preferirían olvidarse de la programación, pero por alguna razón enseñarlo. Y las personas que, en una situación diferente, podrían y quisieran revelar su potencial, se encuentran inmersas en la hipnosis masiva durante 5 años y luego, en un orden semi-aleatorio, vuelan en todas direcciones.






Publicidad



VDSina ofrece VDS con pago diario, la posibilidad de instalar cualquier sistema operativo, cada servidor está conectado a un canal de Internet de 500 Megabits y está protegido de ataques DDoS ¡gratis!






All Articles