Programador de Educación - ¿Qué? Donde Cuando


Hola Habr! Mucho se ha dicho sobre la educación, en particular para los programadores, sobre los programas que se adaptan mejor o no, pero cada año la situación cambia y no importa cuán triste sea, debe comprender esto (sea usted un solicitante o un empleador). Es muy importante comenzar su viaje precisamente con la elección del alma mater ... Le pido que corte a todos los que no tienen miedo de un largo artículo sobre el tema.


Advertencia

Este artículo / publicación se puede considerar como un tutorial o guía para cualquier persona que ya esté en TI o quiera conectar su vida con TI. Haremos una reserva de inmediato: aquí no estamos hablando de administradores de sistemas, diseñadores o ingenieros, sino de programadores (desde 1C hasta aprendizaje profundo).


0 - Paso cero. Educación escolar Preparatoria (grados 5 a 9)


Lo primero que enfrentamos en la vida es la escuela. Esta es solo una gran parte de nuestras vidas, a menudo nuestro segundo hogar (desafortunadamente, en las realidades actuales, en términos del tiempo que pasamos en la escuela). Y como evento muy importante, es necesario abordar de manera responsable y consciente la elección de su futura institución educativa.


Matemáticas


Las ciencias exactas como las matemáticas, la física y la informática desempeñan un papel especial en la vida de una persona inclinada al pensamiento racional o que le gusta pensar. Muchos pueden argumentar que las matemáticas no son muy necesarias en una amplia gama de problemas de TI, pero déjenme estar en desacuerdo. Todo, desde máquinas de cálculo mecánicas hasta la creación de la primera computadora, se basó en principios y modelos matemáticos. Sí, esto, por supuesto, no era una sección estrecha de las matemáticas, pero cada problema necesitaba su propio enfoque y se podía encontrar en las matemáticas. La capacidad de pensar aún no ha detenido a nadie, esta es una habilidad muy útil, pero el sentido común no es suficiente, necesita una biblioteca adicional con la que pueda realizar su idea. Entonces, el papel de tal biblioteca es la matemática.


Física


La física no necesita un programador "puro", pero si una mente joven comprende que la ciencia simplemente no lo da, entonces tiene razón. La física no es necesaria donde incluso teóricamente no se usa, pero en todo el espectro de tareas es simplemente vital. Mira al menos el desarrollo de juegos, puedes usar soluciones ya hechas, motores, pero ¿no te gustaría arreglar algo, rehacerlo o simplemente entender cómo funciona? ¿Y si necesitas rehacerlo? Sin conocer los fundamentos fundamentales, hurgará en los libros de texto o sitios web en busca de la verdad, pero si sabe qué es y cómo aplicarlo, no tendrá que perder tiempo buscando y perdiendo células nerviosas. Comenzará a ser apreciado no solo como un codificador de monos, sino como una persona pensante que puede resolver un problema fundamental. ¿No es ese el punto? Todos los cálculos científicos, visualizaciones y otras cosas ahora se realizan en computadoras, y los programas están escritos por los mismos programadores.


También vale la pena aceptarlo porque resuelve una serie de tareas cotidianas. Por ejemplo, si tiene un problema con la fuente de alimentación, puede reemplazar fácilmente el condensador explotado y continuar trabajando. Comprenderá por qué puede haber un mal funcionamiento a nivel de hardware y cómo evitarlo. Por lo tanto, en los años escolares, la física definitivamente no debe evitarse, especialmente porque el programa no es tan complicado.


Informática


¿Qué puedo decir? No importa si no tienes éxito o si no te gusta demasiado (después de todo, esto es solo la escuela secundaria). Pero, si te gusta y sientes la necesidad de hacerlo, ¡genial!


En las realidades rusas, sin lecciones de informática, ir a la programación no es tan atractivo. Por supuesto, se le enseñará en algunas universidades, pero este no será el enfoque correcto, y lo más probable es que abandone este negocio.


¿Vale la pena enseñarle a un programador de informática la informática o se debe prestar más atención a las matemáticas en la escuela? Buena pregunta, todo depende de qué tan bien le vaya con cada uno de los elementos. Es imposible, a expensas del primero, contentarse con el segundo.


Lo más importante es participar en las olimpiadas. Entonces te vuelves más inteligente, obtienes experiencia y conoces mejor el mundo de las personas "pensantes". Quizás tenga tanta mala suerte que no ganará una sola Olimpiada, pero le diré las buenas noticias: no conozco a una sola persona que participe constantemente en este movimiento y no gane una sola Olimpiada (o al menos no se convierta en un ganador del premio).


Podemos decir que el conocimiento escolar de estas materias tiene muchas más ventajas que desventajas. Cuanto más joven eres, más debes absorber información útil.


1 - El primer paso. Educación escolar Preparatoria (de 10 a 11 grado)


Surge una elección difícil: dedica tu tiempo a un buen entrenamiento y pasar el estado. exámenes (como el Examen de estado unificado), o, ¿puede profundizar en actividades profesionales y comenzar a participar en la programación aplicada, o incluso puede enfocarse en olimpiadas y algoritmos?


No hay una respuesta definitiva, aunque todavía recomiendo participar en las Olimpiadas, es muy útil.


En cuanto a dedicarse a la programación "real", este camino no es adecuado para todos. El objetivo que finalmente debe lograrse es convertirse en un programador, un verdadero "codificador cerebral" profesional. Recordemos las historias de aquellas personas que dejaron las universidades y luego se convirtieron en multimillonarios en el campo: Steve Jobs, Bill Gates, Mark Zuckerberg, Michael Dell y otros. Pero entienda una cosa muy importante: ninguno de ellos se propuso abandonar la escuela. Alguien era hijo de padres adinerados y tenía talento para hacer negocios, alguien nació en una familia famosa y no era tonto, alguien tuvo menos suerte, pero fue brillante. Todos tienen su propia historia, pero si algunos abandonan debido a dificultades en la supervivencia y solo entonces "se ponen de pie", otros inmediatamente tienen una ventaja en forma de familia y no les importa saber cuándo comenzar y comenzar un negocio.


Por cierto, a pesar del prestigioso estatus de las familias Zuckerberg y Gates, eran estudiantes talentosos y pasaban su tiempo en las mejores universidades del mundo.
Entonces, si una situación de la vida te permite sentirte bien: tienes un hogar, comida y seres queridos, entonces nunca debes sacrificar un determinado presente, en aras de un futuro incierto. Aprenda mientras tenga la oportunidad, escriba programas, estudie las ciencias exactas, porque al final, su primer objetivo importante en este caso es una buena universidad. Pero ya sea el examen o los Juegos Olímpicos, es necesario prepararse. No puede perder el tiempo en temas como biología, química, geografía, porque ahora definitivamente no los necesita, en los grados 10-11 hay información demasiado limitada y no tiene sentido recordar cuántos campos de petróleo hay en Tyumen o qué tipo de descendencia tendrá un gato manchado. Por supuesto, el sector de TI es mucho más tolerante en términos de empleo, pero puede comenzar a ser complejo porque los otros son educados, y usted no, que algunos han pasado por algunos niveles, y usted ni siquiera lo hará 5 veces más tarde sobresalir en la habilidad de sus colegas, entonces no dejará la sensación de que no tuvo tiempo, se olvidó, no terminó ...


En general, ahora con más detalle sobre la formación.


Si apuntas a una buena universidad, necesitas una buena escuela. ¿Cómo elegirla? Es muy simple: busca en Google las calificaciones de las escuelas / liceos, lee acerca de cada una que te guste, pregunta a los estudiantes y elabora tu calificación de control. Al final, ve donde te sentirás cómodo en todos los sentidos. Tienes que trabajar duro, pero vale la pena.


Pero si no llegaste a donde querías, no te desesperes. Primero, recuerde sobre la autoeducación, cuanto más le sea útil más de una vez. En segundo lugar, tiene una gran oportunidad para pasar el tiempo en una buena preparación. Lo más probable es que el profesor no lo ayude en la dirección de la olimpiada, pero puede prepararse perfectamente para el examen. Busque cursos, cree un horario de clases y comience. Si sigue el cronograma claramente, verá cuánto mejor comenzó a conocer el material. Por lo tanto, es bastante factible obtener 300 o 400 puntos en el examen. ¡Busca cursos, lee libros, decide opciones!


Ranking escolar para 2017/2018


¡Es hora de trabajar!


2 - El primer paso alternativo. Colegio (después del grado 9)


Muy inesperadamente ¿Quiénes están interesados ​​en las universidades? - usted pregunta Miles de estudiantes de noveno grado, responderé.


Tal vez para alguien sea noticia, pero en nuestro país existe el siguiente tipo de institución: la universidad.


Incluso hace 10 años, las universidades sin excepción recordaban a esas mismas escuelas vocacionales que actúan como memes en varios sitios de Internet. Pero literalmente hoy, la demanda de software de código abierto (educación vocacional secundaria) ha aumentado muchas veces entre los estudiantes. ¿Cuál es la razón de esto? Puedo nombrar algunas razones:


  1. No es necesario realizar el examen al ingreso y después de la graduación.
  2. Exámenes internos universitarios.
  3. Habilidades profesionales y asignaturas especializadas.
  4. Especialista Certificado

A muchas personas no les gusta el sistema de exámenes y, por lo tanto, a menudo esta es la primera razón para ir a la universidad. No puedes culpar por esto, porque cualquier examen es estresante, y si también es imposible volver a realizarlo en el mismo año, aún más. De hecho, en el buen sentido, esta debería ser la razón más insignificante. Muchos se sienten atraídos por la oportunidad de realizar exámenes internos en lugar del examen.


Las habilidades profesionales y las materias especializadas son simplemente una parte integral de cada universidad. Además del hecho de que obtienes conocimientos básicos en prof. áreas en las que ya está comenzando a aplicarlas en esta área. Conocimientos técnicos, habilidades, experiencia, todo esto hace que esta institución sea aún más atractiva.


Y, por supuesto, un diploma que dice que te has convertido en un especialista en tu campo ( no realmente )


Todo comienza con la elección de la dirección de capacitación y la presentación de una solicitud al comité de selección. Esto es muy similar a aceptar solicitudes en una universidad, donde las personas también se sientan en una mesa, los estudiantes los invitan e invitan a ingresar a la facultad. Quiero presentarles la especialidad en la que estoy estudiando el año pasado (no hay tantas especialidades en programación, también hay informática aplicada, pero la opción más razonable es PCS).
02/02/03 - Programación en sistemas informáticos (PCS).


Enlace a la descripción y lista de universidades


Porque Como estamos hablando de programadores, es lógico suponer que la especialidad más adecuada es PKS. Está completamente dirigido a capacitar personal versado en las tendencias modernas de la programación aplicada. Ya sea web o de escritorio, tal vez incluso desarrollo móvil, todo esto se aplica a esta especialidad. En muchas instituciones educativas, el programa puede variar, pero las disciplinas obligatorias más comunes son: 10-11 grado (estándar - el primer año de estudio, generalmente el énfasis está en matemáticas y física), fundamentos de programación, algoritmos (algoritmos básicos), elementos de lógica matemática (a- Para la versión "ligera" de las matemáticas discretas), los conceptos básicos del análisis matemático (que incluye parcialmente el programa de álgebra lineal del primer semestre de una universidad técnica), sistemas operativos, redes y sistemas de comunicación, arquitectura informática con istem. En los cursos superiores, pueden aparecer temas como programación aplicada, programación web y seguridad de la información. De universidad en universidad, los programas de capacitación, la orientación están cambiando, pero de alguna manera estas materias siempre están ahí. Siempre necesita ver el programa de capacitación en el sitio web oficial de la institución, esto es importante.


Describí aquí algunas pequeñas cosas que teníamos

- Fundamentos de programación:
En estas clases, aprenderá los "conceptos básicos" de la lógica, aprenderá a escribir código y desmontará diagramas de flujo (parte opcional). Ejercicios bastante útiles para profundizar en todo el sistema y comprender qué es qué. Si ya tiene experiencia en programación, las clases pueden parecerle aburridas, no hay nada que hacer.


- Algoritmización:
Bueno, qué puedo decir, este tema está dedicado a los algoritmos. Pero tenga cuidado, por ejemplo, en nuestro programa, esto significaba lo siguiente: una máquina Turing, una máquina Mark y una máquina Post. Por así decirlo, se les asignaron tareas de lógica. Además, hubo ejemplos de recursión y el concepto de funciones, etc., pero en un aspecto matemático. Debes entender que todo dependerá del maestro.


Comentario del autor:


Este curso es uno de los pocos que me gustó en la institución educativa donde estudié, y no porque hubiera un maestro único o interesante, sino porque estábamos imbuidos de estas ideas y tareas, tratamos de resolverlo rápidamente y luego comparamos nuestras soluciones entre nosotros y buscamos lo mejor! Eso fue realmente genial! Es cierto, cuando nos explicaron la recursividad usando mat. de las fórmulas, lo hicimos tan mal que simplemente seleccionamos las soluciones a los problemas empíricamente ...

- Lógica matemática:
Este es un curso corto de matemática discreta para desarrollo general. Personalmente, entendí no solo el concepto de conjunto y qué es DNF, sino también cómo funciona el procesador y mucho más en principio. Es decir matemáticas, pero, en primer lugar, es útil en la universidad, y en segundo lugar, abre los ojos a muchas cosas.


- Fundamentos del análisis matemático y álgebra lineal.
En resumen: conceptos básicos de cada semestre del programa universitario. Es decir Resolvimos ecuaciones diferenciales, pero digamos que no hablamos sobre integrales dobles. En álgebra lineal, se nos habló de las matrices, cuáles son las operaciones en ellas y qué es un determinante y cómo contarlo.


Honestamente, estaba satisfecho con este programa, es decir es solo una introducción al curso de matemáticas superiores, pero nos encontramos con un maestro tan maravilloso que me gustó mucho todo, resolví todo lo que nos dieron y competí con los compañeros para hacer todo más rápido (y correctamente, por supuesto, también). Definitivamente, vale la pena asistir a estas clases, especialmente porque esta base es útil para usted en la universidad.

- Teoría de la probabilidad. estadísticas
Estas dos disciplinas fueron enseñadas por el mismo maestro que los conceptos básicos del tapete. análisis Es decir Fue maravilloso. Estas conferencias también te serán útiles en la universidad.


- Arquitectura de sistemas informáticos
Una gran oportunidad para comprender cómo funciona una computadora a nivel físico, qué le sucede al hardware en el momento del trabajo, etc. También se consideran los principios de construcción de la arquitectura de microcontroladores, procesadores, etc. También es posible trabajar en el programa LogiSim y realizar trabajos prácticos en él.


Desafortunadamente, nos encontramos con un maestro muy vago y casi no entendimos nada. Constantemente lo metió en su computadora portátil y dio trabajo "fuera de lugar" que él mismo no entendía cómo hacer. Sucede, no se puede hacer nada.

- sistemas operativos
El curso sobre sistemas operativos considera, de hecho, el trabajo de los sistemas operativos modernos (Linux, Windows, sistemas en tiempo real, etc.). También hay de laboratorio.


No es perfecto, pero aprendí sobre señales en Linux, sobre varias arquitecturas para construir sistemas operativos, ¡y también aprendí a trabajar en vim!

- Redes y sistemas de comunicación.
Un curso en redes es imprescindible para un programador. Si no sabe qué es una máscara, o cómo la dirección de red difiere de la dirección del host, entonces se verá como una oveja negra. Aquí, se consideran los conceptos básicos en la terminología de la red, la topología, el trabajo se organiza en Cisco Packet Tracer e incluso en la configuración de equipos reales.


Tuvimos dos temas similares y ambos sobre redes. Uno condujo a un profesor perezoso de "arquitectura", pero el segundo nos dijo cosas bastante útiles. Traté de exprimir al máximo estas clases e hice todo el trabajo que pude. Definitivamente como las disciplinas.

- Programación del sistema
Un curso de programación del sistema cubre la programación en lenguaje ensamblador de bajo nivel. En mi universidad fue MASM611. Un curso introductorio útil para aquellos que desean aprender aún más sobre lo que está sucediendo en la computadora desde el punto de vista del programador. Laboratorio, teoría, todo por "Feng Shui".


Bueno, ya sabes, por ejemplo, ¿por qué en los idiomas normales el índice del primer elemento en una matriz comienza desde cero?

La respuesta

Debido a que el índice es solo un desplazamiento en la memoria por el tamaño del tipo de elemento de matriz, y el primer elemento ya está al principio.


- Programación de aplicaciones
Este curso es obligatorio, pero el plan de estudios es elegido y dirigido por cada maestro a su manera. Puede elegir entre lenguajes de programación completamente diferentes. En realidad, el curso más importante para un programador.


Tenemos una historia muy divertida (triste). Nos dijeron que un nuevo maestro con experiencia en la vida real enseñará este curso. Resultó que la última vez que ella (la maestra) programó en ensamblador hace 20 años en una fábrica y no tenía ni idea de cómo llevar a cabo las clases. Y luego sugerí realizar un curso en C # en lugar de hacerlo. Preparándose para las clases (que fue ayudado por un maravilloso maestro de la Escuela de Programadores de Mytishchi), se le ocurrieron tareas, laboratorio, control, tarea. En el primer semestre, también hice un examen. Estoy satisfecho!
UPD: De hecho, si un estudiante en lugar de un maestro dirige parejas durante todo el semestre de manera continua, entonces esta es una situación muy mala, porque habla sobre las bajas calificaciones de los docentes.

- Seguridad de la información
La dispersión es demasiado grande, por lo que no existe un plan claro sobre cómo llevar a cabo esto (en las universidades, esta es generalmente una dirección separada). Las expectativas se restablecen a cero.


No tiene sentido considerar temas como: filosofía, economía, gestión, documentación, etc., porque esto no es absolutamente lo que me gustaría dedicar tiempo a la capacitación. Por cierto, fuimos golpeados con esto más que con temas especializados, y esto es terrible. .


: , – . Es decir ! - . , , , , - . , .


:


, ( - , ). ( ). ( ). . . . . . , . , . . , , , (, , .. ).


— , , , . , - front-end . , , — . .


UPD: . .


. . (, - ), , . , , - . 4 , , , CTF , - ( ) , (99%), , , .


3 – . .


. . , .


  1. – . , . , ( ).
  2. , . , , .
  3. . — .
  4. , .
  5. , .

:


  1. . (4-5 )
  2. .
  3. .
  4. .
  5. , .

, . Si puedes. , , , , , , .
, .


UPD: : « » IT , .


. :


  • ( )

, — . .


: C# , , big data, . “” “” .


:


  • (01.03.02)
  • (02.03.01)
  • (02.03.02)
  • (09.03.01)
  • (09.03.03)
  • (09.03.04)

“” “”.
! . .


(01.03.02)


“”. : , , (. ), . , , , ( ).


, , , , .


, , . , , ,


, , , “ ” :


  • /
  • (50/50)

  • ( , ):
  • ,
  • -
  • Análisis de datos
  • ( , )

, , . Es decir , data scientist ( ), ( ..). , , ( ) .
, . , , , .
2017 2018 (2017/2018/):
– 295/295/310 (+)
– 298/297/310 (+)
– 422/425/510 (+ , + )
. – 277/268/310 (+)
– 309/283/310 (+)
– 266/263/310 (+)
– 253/249/310 (+)
* , . (). , ( ) 2018 . , ( , , .. ).


“”. Es decir , , .


(02.03.01)


, : ( ).



  • -

. , , , , . , , . , .
2017 2018 (2017/2018/):
– XXX/273/310 (+)
– 251/246/310 (+)


“”. “”, .


(02.03.02)


— .


,


  • Sistemas operativos
  • C++ ( )
  • XML, UML
  • ( , ..)

. , . , , . , , . , .
PS , , .
2017 2018 (2017/2018/):
– 267/264/310 (+)
– 258/254/310 (+)
“”, , “” .


, 9. , , — .


(09.03.01)


.


, , . ,


  • ( )
  • /
  • ,
  • Sistemas operativos

? , , , . “” . , , , .

2017 2018 (2017/2018/):
– 389/410 (+, +)
– 257/263/310 (+)
. – 275/278/310 (+)
– 272/272/310 (+)
– 255/249/310 (+)
“” “”. . , , , “”.


.


(09.03.03)


— .


. ,


  • Economía
  • -
  • UML
  • Matemáticas
  • -

, . , ? .
2017 2018 (2017/2018/):
. – 272/274/310 (+)
– 285/282/310 (+)
“”, .. , ó , .
PS : , “ ” ( , ).


— .


(09.03.04)


— .


, . , , ,


  • -
  • Sistemas operativos
  • -

  • :
  • Análisis de datos
  • Mathlab
  • (Android / iOS) —

, " " , , , , . . . , , . , . , , , data scientist, , , / . .


2017 2018 (2017/2018/):
– 296/296/310 (+)
. – 275/287/310 (+)
– 282/284/310 (+)
– 282/281/310 (+)
– 259/262/310 (+)


"", , , .


: , , -2017 , () , , , IT


UPD: , . ! – . . .




. , "Computer Sceince", . , , .


, .
- "" . , , ( ), . - , "" .


PS , :


, .

, ( , 300/400 ) , , .


, , , . ( ). . .
, ( . )...


, IT


UPD: , .


,

, .

, , (, ), ?
, , , . , 10 , , ...


? ?
, , , ( ), . 9 , ( -).


?
, , .


?
, , ) 6 + 4


?
, :)


? , ?
, , , : 96+84+84+71, 80/100


? ?
, ( ( , -)), , . , .


, ?


? ? ?
*, . , – , ( ) – data science :) : ( Linux) – , , .


, , . , ( , , – ). ( , , , ).
– , .*


//?
, ( )


, , ?
— ( ), () . . , , , , , () .


, ?
, , , . , — , ( , — , ////etc. )


- ?
– ( 40 ), . , 40 . - , , – .


, , ?
* . , , , . , – ( , , – . , , , .
, ( , , , , // ) . , , , - . – ( - – , Samsung ), , , , , . , .
– ( https://cs.msu.ru/departments ) – , . , , .
, . , , - , ( , – , ( Bushwhackers ), ). , , .*


.
?
, 4 .


, , .


: ?
, , — , , ( ); , . - "", . , — , .


?
— (, ) . , , — , — , ; ( -, ). — , () .


, ?
, , , – , , .


!


, Booking.com

.
, , (, ), ?
-, 104 (1- ), 653( 2- 7- ), 664 ( , 8- 11- ). , . , .
? ?
1 1 , :)
(, )?
.


:
?
.
?
. 4.
? ?
( , ). .


...
?
, , – :)
, , ?
. , ( 10 ). , (, ). .. .
, ?
, . , . .
, ?
, , .
/ ? ?
, . .
?
2000-, :)
- ?
, :)
, , ?
, 11 . . , . - , .


:
? , ?
, . Booking.com. . 3 .
, /?
. , . , .
, ?
Computer Science, (Android ), .


:
: ?
, . .
, ?
. , .


, !


,

, , (, ), ?
, : , . , .
? ?
, , . , .
?
, .
(, )
. :


:
?
, .
?
, , . , )
? , ?
, . 75, , , . , — .
? ?
, . .


:
/?
.
, , ?
, , , .
, / ?
, . , .
, ?
, .
/ ? ?
, . , 3-5% , . , , . , , :)
?
.
- ?
. , , .
, , ?
, , . , . , . , . , .


:
? , ?
3 , , , .
, /?
.
, ?
.


:
: ?
. .
?
, , . , , .
, ?
, . .


,

:
, , (, ), ?
1563 .
? ?
, — .
?
.
(, )?
.


:
?
.
? , ?
, .


:
/?
.
, , ?
, , ( ).
, / ?
.
, ?
.
/ ? ?
3 .
?
.
?
, .


:
? , ?
, 2 .
?
.
?
, .


:
, ?
.
: ?
.
, ?
.


, : , , , . – . , .


, / . (PS : https://docs.google.com/spreadsheets/d/1utkv_GnvsU378ktW-Ztlcjdqb7zp8PCYShEBZOuLyjc/edit?usp=sharing )


Warning!


FAQ

:


  1. . , - , - , .


  2. . , - , .


  3. - , , , !


  4. – . , !



: https://goo.gl/forms/W7DGa1htfFCZlzOD3
UPD: , !


  • " №xxx"
    imagen

, 4 5, : , /.


  • . , .
    imagen


  • , .
    imagen


  • .
    imagen


  • .
    imagen


  • , , .
    imagen


  • / ?
    imagen



, . , 01.03.xx 02.03.xx 09.03.xx. 17% , . , , . , ( ) , .. , , , .


: - , - HR , , – . (), C# . Es decir . : , Copter Express, , ( , ?), , Delta Solutions. , 3- . - , . . : !


- , , , .

Source: https://habr.com/ru/post/es434908/


All Articles