Formación en programación Java. Desarrollador Java

Hola. Si estás leyendo estas líneas, te confirmo que estas son lecciones de Java. El curso está repleto de práctica (más de 1200 tareas prácticas) y está diseñado para una audiencia adulta. Odio las conferencias aburridas, por lo que JavaRush está hecho como un juego en línea (búsqueda).

¿Tuviste que jugar y actualizar personajes? A veces no notas cómo te involucras, ¿verdad? ¿Adivina a dónde me dirijo? En JavaRush, también debes actualizar tu personaje. Del nivel 1 al nivel 40. Si aprueba todo el curso, se convertirá en un genial programador de Java.

Pase 40 niveles: puede obtener un trabajo Java Junior. Aunque hay personas que ya en el nivel 20 han encontrado trabajo. Porque hay muchas tareas prácticas en JavaRush. Un montón de.

El juego tiene lugar en un futuro muy, muy lejano, en el año 3017, donde las personas viven en la Tierra junto con los robots, y cualquiera puede viajar por el espacio.

Una vez una nave espacial se estrelló en un planeta desconocido...

antecedentes

El equipo Galactic Rush se estrelló en un planeta desconocido. Al caer, el barco se estrelló contra una montaña y quedó casi completamente cubierto de fragmentos de roca. Pasaron varios días en vanos intentos de liberar el barco. La tripulación perdió toda esperanza de regresar a casa y comenzó a establecerse en un nuevo lugar...

Una semana después, Ellie, la navegante de la nave, descubrió accidentalmente que el planeta está habitado por... ¡miles de robots salvajes! Podrían ayudar a desmantelar las piedras y liberar el barco. Pero son muy primitivos y estúpidos, no tienen ninguna habilidad. Ni siquiera saben llevar piedras. Lo cual sería muy útil.

El jefe científico de la expedición, el profesor Noodles, recordó más tarde:
- Unos días después encontré una salida. Pensé en tomar el firmware del robot Diego, un miembro de nuestra tripulación, convertirlo al firmware de un albañil y subirlo a robots salvajes.

Pero el fracaso parecía perseguirnos. Después de investigar un poco, resultó que los robots no tienen un conector para descargar el firmware. ¡No tenían ningún conector para flashear en absoluto!

Bilaabo, el único extraterrestre de la tripulación, recordó haber visto un robot en su planeta natal que sabía programar. Y no solo lo supo, sino que corrigió errores en su propio firmware.

Fue en ese momento que tuve una idea brillante. Después de todo, una vez le enseñé a un robot capaz programar en Pascal.

Ordené capturar al robot joven más talentoso y le enseñé programación en Java. ¡Sabiendo programar, podría escribir cualquier firmware por sí mismo y ayudarnos!

En general, capturamos un espécimen ingenioso. Diego sugirió llamarlo Amigo, en honor a su hermano, a quien nunca tuvo.

Le ofrecí cuentas de metal a Amigo por cada mes de entrenamiento y diez dólares al año por el trabajo posterior para eliminar el bloqueo. Salvajes y esto es mucho, porque nos dedicamos a su educación de forma gratuita.

Diego luego escribe en sus memorias:

Estaba indignado por un robo tan abierto de mi colega, pero todo el equipo se puso del lado del profesor y Rishi. Por supuesto, acepté (para mostrar) y me ofrecí a ayudar a enseñar a Amigo. Jeje! Sobre todo porque nadie puede entrenar a un robot mejor que otro robot.

Todos estaban tan contentos con mi cumplimiento que también decidieron participar activamente en la enseñanza de Java al robot Amigo.

Empiezas en el primer nivel. Tu tarea es actualizar Amigo al nivel 40. Pero empecemos poco a poco. Primero, ve al segundo nivel. Tal vez te guste tanto que no notes como completas el curso y te pones manos a la obra ;)

Y ahora pasemos a aprender desde cero: haga clic en el botón "Abrir próxima lección...".

sergey
Torchikov

Programa.

Maestro.

Equipo OTUS

Resultado.

Nicolás
Dobrovolski



Antón
Matveev

Alexéi
Mayanov

Pablo
Strékalov

Miguel
polen

Daniel
Klipov

El curso solo me dejó impresiones positivas, me permitió estructurar y profundizar el conocimiento obtenido de varios artículos y manuales para principiantes, así como establecer la dirección para un mayor desarrollo. En el lado positivo, me gustaría destacar las tareas bastante difíciles, una presentación interesante y la calidad de la selección del material por parte de los profesores. Las características distintivas del curso incluyen la presencia de un umbral de entrada y una alta intensidad de clases. Se lo puedo recomendar a aquellos que ya dominan las bases del idioma, pero no saben en qué dirección seguir avanzando.

sergey
Novozhilov

Llevaba mucho tiempo buscando un curso como este, no para principiantes. Fue muy interesante y útil. Quiero mencionar especialmente a los profesores. No todos los que conocen muy bien el tema pueden contarlo y explicarlo de una manera accesible. Vitaly y Dmitry son buenos en eso. Otra gran ventaja es el análisis de la tarea por parte del profesor, es muy útil para obtener comentarios y recomendaciones. En general, 5 puntos sobre 5.

Olga
bayoneta

En general, me gustó mucho el curso. Tareas no triviales, conferencias comprensibles y accesibles de los maestros. Los temas de las clases en sí son relevantes, a veces no piensas en su importancia en el desarrollo actual, pero durante la discusión se vuelve claro el grado de necesidad de su comprensión. Las tareas se revisan relativamente rápido, las entregué para revisar el fin de semana y durante la semana se revisaron con comentarios detallados. Lo único negativo es la delicada situación con el pago. Pagué por separado cada mes. Toda la tarea entregada a tiempo. Para el proyecto, entendí de inmediato que no había suficiente tiempo físicamente, por lo que me negué a completarlo. Y resulta que el pago del último mes (en el que no hay deberes) implica únicamente la emisión de un certificado. 10000 por un certificado? No comme il faut.

Alexéi
Potekhin

Ha pasado casi un año desde abril de 2018, y solo vi el botón ahora).
En resumen, el curso es increíble!

Me gustó la forma en que se presentó el material, la preparación de los maestros para la lección, si surgieron preguntas durante la lección, las respondieron de inmediato, incluso hubo la oportunidad de preguntar con la voz. Me gustaba la tarea, al principio era dz encaminada a entender el lenguaje o la tecnología (web, jdbc). Luego comenzamos con más diversión, nuestro propio junit-framework, por ejemplo. Me gustó mucho la tarea del patrón de diseño y el serializador json. La tarea a menudo se revisaba, los consejos y sugerencias sobre dónde cavar siempre estaban en el punto. A veces se veía que el inspector intentaba insinuar el error de diferentes maneras. Aquellos. no habia tal cosa que lo arregle aqui y lo acepto. Además, los inspectores podrían dar una tarea con + deberes. Cierto, recuerdo que me negué, tenía muchas ganas de terminar todo, pero en realidad estaba endeudado.

No me gustó la plataforma a través de la cual pasó el seminario web, se cambió varias veces: se retrasa, se congela, Internet se rompe, horror en una palabra). Espero que sea mejor ahora. Algunos de los temas que se consideraron estaban muy arrugados y galoparon sobre ellos. Hay temas objetivamente grandes en Java y no puede explicarlos en 1-2 lecciones (Temas relacionados con la base de datos).

Igual iría, que me enseñen, pero me estoy preparando para OCA/OCP
¡Buena suerte a todos!

Yuri
Suvórov

En abril se cumplió un año desde que comencé a programar en java, es decir, comencé desde el curso básico. El resumen en términos de experiencia Java no brilla, pero los expertos independientes que dan tareas de prueba y verifican el código dicen que escribo como un intermediario, y que un junior necesita seis meses de trabajo para escribir "así". De hecho, los cursos de OTUS son un poderoso refuerzo en la práctica de la escritura. Teniendo medio año de poca experiencia en java, tomé dos cursos aquí en OTUS a la vez, estos son "Desarrollador de Java" y "Desarrollador empresarial de Java". Completó durante los próximos seis meses (en realidad notablemente menos) 28 tareas asignadas con revisión por parte de los maestros (en realidad, inspectores especiales) definitivamente no fueron en vano. Esta cantidad de tarea es sin duda una increíble pérdida de tiempo, así que piénsalo bien antes de tomar dos cursos a la vez. En este curso "Desarrollador Java" tendrás "solo" 16 tareas variadas, pero no todas se sacan. En general, será interesante. Lo que no va a pasar es la coacción en forma de pruebas después de cada tema tratado, aunque no sé, a lo mejor empieza (arranca) la administración. Y tampoco habrá obligación de escribir un documento de proyecto al final del curso y, lo que es peor, aquellos que decidan asumir el proyecto se quedarán solos con él, pero con la oportunidad de hacer preguntas. Pero no se brindará la oportunidad de adquirir experiencia en el desarrollo industrial como parte del trabajo de diseño, así que consígalo en la solución de DZ.

Dmitri
Oleinik

El curso incluye tecnologías actuales. Las asignaciones de tarea que refuerzan el material de lectura son lo más parecidas posible a las misiones de combate. Existe la sensación de que estás creando algo realmente valioso y nada sencillo. El proyecto final brinda una excelente oportunidad para aplicar nuevos conocimientos y recibir valiosas recomendaciones de los maestros sobre el camino del desarrollo. ¡Agradezco a todos los maestros por su profesionalismo e interesantes seminarios web!

Alejandro
Ivánov

Solo impresiones positivas.
Inicialmente, pensé que no sería conveniente estudiar debido a la gran diferencia horaria (+7 desde la hora de Moscú), pero resultó que fue en vano: en un día laborable ves la grabación de un seminario web y en los fines de semana participas en línea.
Recibí mucha información útil y "fichas" que ya han sido útiles en mi trabajo. Es imposible no notar la interacción con profesores e inspectores en el proceso de trabajo en la ZD. Esto es especialmente útil si no hubo tal experiencia antes: una imitación del trabajo real, por así decirlo.

Gracias a los profesores y a todo el equipo de Otus :)

Novela
musica

En mi opinión, el formato del curso es muy adecuado para aquellos que quieren expandir sus horizontes y tener una idea del estado de cosas en el desarrollo de Java. Por ejemplo, un curso de este tipo puede ser útil como intensivo para una inmersión rápida en el desarrollo de Java, o para desarrolladores más experimentados que están aprendiendo Java y que desean adquirir nuevos conocimientos. La comunicación en vivo con la oportunidad de hacer su pregunta y obtener una respuesta es lo que distingue el formato del curso de los MOOC tradicionales. Muchos ejercicios prácticos con retroalimentación refuerzan el material cubierto. Me gustaría señalar la muy buena preparación para las clases de Sergei Petrelevich. El material de lectura está bien estructurado y bien presentado. También hubo varias conferencias exitosas de Vadim. De las conferencias de Vitaly Kutsenko probablemente esperaba más: parece un profesor competente, pero el material de las clases parecía insuficientemente desarrollado.

También me gustó que la dificultad de las tareas se puede elegir de forma independiente, según la disponibilidad de tiempo libre y tus preferencias.

Deseos para los maestros. Por lo general, revisé las conferencias, a veces 2 o 3 veces. Como regla, hago esto en rebobinado 1.25, 1.5, 1.75. Pude establecer la velocidad de rebobinado en 1,75 solo con Sergey: su discurso es competente, medido, no interrumpido, gracias especiales a él por eso.

En general, estoy contento de haber tomado este curso y, como dijo Sergey en la última lección, este curso no solo se trata de la capacidad de resolver problemas, sino también de la capacidad de organizar el tiempo.

sergey
Torchikov

Fue bastante simple para mí tomar la decisión de estudiar un curso de lenguaje Java, fue suficiente mirar al profesor y la estructura del curso, también fue una gran ventaja ver la empresa en la que quería trabajar. los socios del sitio web. Es muy importante que antes del inicio del curso se celebre una Jornada de Puertas Abiertas, en la que personalmente podrás hacer preguntas sobre el curso y conocer con más detalle el programa. Me gustaría ordenar los componentes principales del curso en orden.

Programa.

Al principio, por supuesto, surgieron dudas en mi cabeza sobre si tiene sentido escuchar conferencias sobre programación que tocan los conceptos básicos (tipos de datos, por ejemplo), pero como dicen, la repetición es la madre del aprendizaje, decidí escuchar. , y no me arrepiento. Realmente analizamos todo en detalle y las tareas asignadas son muy interesantes, una tarea de medir el trabajo de varios recolectores de basura vale algo. Es bueno que Hibernate y Spring estén incluidos en el programa, aunque lo básico, pero esto es realmente suficiente para entender en qué dirección cavar en cada caso. Fue suficiente y notas a pie de página para material adicional que amplía el tema de la lección.

Maestro.

No sé si vale la pena señalar recursos de aprendizaje de terceros aquí, pero digamos que he estado familiarizado con las conferencias de Vitaly durante mucho tiempo. Siempre me gustó que Vitaly dé muchos ejemplos de la vida. Para mí personalmente, este es un gran problema en la programación, puedo aprender algo, entender cómo funciona, pero no sé absolutamente dónde aplicarlo. Todas las explicaciones son inteligibles y comprensibles. Pregunta constantemente sobre qué les gustaría saber más a los estudiantes. Hay ejemplos con código para cada tema, e incluso experimentamos varias veces en las conferencias, tratando de romper algo, fue bastante interesante.

Equipo OTUS

No diré mucho aquí, ya que realmente no me encontré. Pero por observaciones personales, todas las preguntas en el chat general para programadores fueron resueltas y en un tiempo bastante corto. El equipo es muy leal a los estudiantes y va al encuentro. Así que, si tienes cualquier duda o consulta, siempre puedes contactar.

Esos inconvenientes que puedo señalar, que yo sepa, ya se han solucionado. Por ejemplo, una plataforma.. Todos los programadores trataron esto con comprensión, porque. nosotros fuimos el primer grupo, por así decirlo pioneros

El segundo inconveniente ni siquiera es un inconveniente, sino un inconveniente: un maestro. Los futuros grupos tienen suerte, que yo sepa tendrán dos profesores. Esto se refiere principalmente a revisar la tarea, se dieron 48 horas para revisar, y si hay comentarios sobre la solución, existe la posibilidad de que no se entregue a tiempo, porque. Envíe la versión corregida para su revisión. Aunque esto también fue tratado con lealtad y nadie maldijo, el problema aquí es más probable en mi perfeccionismo, necesito entregar todo a tiempo.

Resultado.

En unos días me voy a trabajar a Moscú en la misma empresa donde quería trabajar. Todas las entrevistas fueron organizadas por empleados de Otus, por lo que ciertamente estoy satisfecho con el resultado.Por cierto, el conocimiento sobre los recolectores de basura que mencioné anteriormente fue útil durante las entrevistas. Así que me gustaría agradecer una vez más a todo el equipo del sitio por su profesionalismo y trabajo, así como a todos los chicos del curso por las interesantes discusiones y por compartir sus conocimientos. Seguiré siguiendo los cursos y si hay algo interesante para mí, ¡definitivamente volveré!

Nicolás
Dobrovolski

Me inscribí en el curso principalmente porque Vitaly Chibrikov fue anunciado como profesor. Conocí al maestro en otros cursos, además de escuchar previamente grabaciones de conferencias en la Universidad Técnica Estatal de Moscú. Bauman en el marco del proyecto TECHNOPARK (Moscú). Así que inmediatamente decidí unirme al grupo.

Me gustó mucho el curso. La impresión es muy positiva. Se consagró una lista bastante amplia de temas. Algunos puntos antes del curso no eran muy familiares (por ejemplo, el tema sobre GC: había conocimiento teórico, pero sin habilidades prácticas).

Me gustó la presentación del material en sí, los temas tratados fueron considerados sin interrupción de la vida real, acompañados de ejemplos específicos de proyectos reales. Muchos ejemplos interesantes del profesor.

El curso ayudó no solo a sistematizar los conocimientos existentes, sino también a adquirir nuevos. Me gustaron especialmente los temas sobre GC, JVM, subprocesos múltiples en Java, comunicación entre procesos en Java.
Después del final del curso, las invitaciones a las entrevistas están garantizadas, por lo que es una gran ventaja)
En mi opinión, sería genial echar un vistazo más de cerca a Spring como parte del curso, pero originalmente se declaró que la dirección principal del curso era Java Core, por lo que podría valer la pena inscribirse en un curso de Java EE para este tema. .

Antón
Matveev

El curso OTUS Java Developer fue muy útil para mí, que no tenía experiencia previa en el desarrollo comercial de Java. Fue él quien ayudó a reunir los conocimientos adquiridos a través del autoaprendizaje y otros cursos. A diferencia de otros cursos, se hizo hincapié en desarrollar una comprensión del proceso: cómo funciona esta o aquella tecnología y qué tareas resuelve, y no en una descripción general de sus capacidades. Las asignaciones de tarea se seleccionan de tal manera que te hacen mostrar creatividad y volver a leer mucha información útil. Las tareas fueron especialmente interesantes: escribir un serializador json, un marco de prueba simplificado, su propio orm pequeño, un servidor de intercambio de mensajes entre la base de datos y las interfaces. Aunque los deberes, tal vez con la excepción de los primeros, no encajaban en absoluto con el tiempo declarado de deberes de 4 horas a la semana - para tener tiempo de hacer los últimos 2 deberes del curso, tuve que tomarse unas vacaciones.

Por supuesto, el valor principal del curso se debe al instructor. Una explicación de muy alta calidad: no recuerdo que al menos alguna pregunta sobre el tema quedara sin respuesta, también fue muy agradable y útil recibir de Vitaly no solo información sobre las deficiencias en la teledetección, sino también sugerencias para su posible mejora ya está más allá del alcance de la tarea.

Y, por supuesto, la oportunidad de pasar entrevistas en grandes empresas es muy importante. Cada una de esas entrevistas es una experiencia muy interesante en sí misma, independientemente del resultado. ¡Personalmente, encontré un trabajo para mí y estoy muy contento de no haberme arrepentido del dinero para la capacitación!

Alexéi
Mayanov

Antes de incorporarme al curso, programaba en Java de forma ocasional. Para mí, el curso se ha convertido en gran medida en el punto de partida para sistematizar y ampliar mis propios conocimientos ya existentes. Puedo decir con absoluta certeza que después de graduarme mis habilidades de Java pasaron a un nuevo nivel, en primer lugar estoy agradecido con los autores del curso.

En mi opinión, el curso es bastante intensivo, lo que, en principio, se anunció al comienzo del entrenamiento. No siempre es posible profundizar en el tema que se está estudiando, lo que puede dejar lagunas en el conocimiento. Por lo tanto, es importante volver periódicamente a los materiales estudiados por su cuenta, donde las grabaciones de todas las conferencias y seminarios anteriores son de gran ayuda.

Según mis sentimientos, el mes del proyecto resultó bastante complicado: no fue posible obtener suficientes comentarios sobre el proyecto. Creo que el motivo es que muchos alumnos tienen deudas acumuladas, y todo el recurso docente se ha ido a revisarlas. Creo que en el último mes, los profesores deberían dar prioridad al trabajo con proyectos, de lo contrario resulta que los estudiantes que entregaron todas las tareas a tiempo y cambiaron a trabajar con proyectos se convirtieron en rehenes de las deudas de otros estudiantes.

Por separado, quiero señalar que toda la serie de entrevistas que pasé me dieron una cierta experiencia positiva.

Pablo
Strékalov

En general, la impresión del curso es positiva, el curso fue muy útil para mí.

Como inconveniente (o característica), me gustaría señalar que se sintió el aislamiento del grupo. Al completar las tareas, parecía que estaba uno a uno con el maestro (el chat en Slack realmente no ayudó en este sentido). Me parece que la comunicación entre estudiantes a través de la revisión de código tendría un buen efecto. Primero, el profesor revisa la tarea, la acepta, y luego el estudiante aún debe mirar, dar comentarios / comentarios sobre dos o tres trabajos completados y aceptados.
Vitaly también mencionó que sería bueno hacer una "exhibición de obras interesantes"; también, creo que vale la pena, pero no está claro en qué formato, porque. las deudas se acumulan durante toda la duración del curso y algunas tareas se entregan al final.

Sería bueno agregar un bloque de preguntas teóricas sobre cada tema (pero Vitaly también ya ha hablado de esto). Empezar a trabajar en el proyecto a mitad de curso (a partir del tercer mes), y no al final.

Miguel
polen

Hola. Ya he dado las gracias por los cursos muchas veces, pero quiero volver a hacerlo: muchos de los cursos que ahora están en Runet son bastante superficiales y solo brindan lo básico. Sus cursos solo brindan un conocimiento más profundo de la programación. El curso en sí es muy interesante, pero no tenía suficientes tareas para casa. No, las tareas en sí son interesantes y hay muchas, especialmente la última, pero, desafortunadamente, no cubren todo el material. Vitaliy es un especialista y maestro altamente calificado, creo que, por su bien, muchos se inscribieron en cursos. Sinceramente, las entrevistas concertadas, si bien fueron anunciadas, fueron una sorpresa, ya que no se creía que esto fuera posible. Parte de las entrevistas y la realización de la tarea de prueba fracasaron debido a circunstancias personales. Ahora estoy pasando por varias entrevistas finales: hay una pequeña posibilidad de conseguir mi primer trabajo en Moscú en el campo de la programación. Quisiera temas más profundos sobre Spring/Spring MVC/Spring Boot/Hibernate/Sockets/Intercambio de datos a través de una red o Internet/más datos sobre ConcurrentCollection. Y así, aconsejaré sus cursos. Realmente quiero un curso separado sobre los temas que escribí anteriormente + Java ee (en la parte que ahora es más demandada por los empleadores).

Java. Comienzo rápido
Conceptos básicos del lenguaje Java en el ejemplo de desarrollo de un juego pequeño

El curso en video le presentará uno de los lenguajes de programación más populares, hermosos, ampliamente utilizados y confiables: Java. En la primera parte, aprenderá los conceptos básicos del lenguaje y aprenderá a escribir aplicaciones de consola simples. A continuación, le mostraremos cómo puede crear un juego simple con una interfaz gráfica en solo unos minutos y no usar bibliotecas de terceros. El propósito del curso: revelar algunas de las características del lenguaje y mostrar que Java es simple y divertido. Después de completar con éxito el curso, podrá usar el modelo que creamos para desarrollar sus propios juegos. Para dominar el material de manera efectiva, se requiere una experiencia mínima en programación, por lo tanto, para desarrolladores completamente novatos, recomendamos que primero tome el curso en línea gratuito "Fundamentos de programación".

Lección 1

Breve descripción del idioma; instalación de las herramientas de desarrollo necesarias; escribir el primer programa.

Lección 2

Descripción de los conceptos fundamentales del lenguaje Java utilizando el ejemplo de una calculadora de consola sencilla.

Lección 3 Adivina el juego de números

Estamos comenzando a escribir el juego de consola Guess the Number, en cuyo ejemplo continuaremos estudiando los conceptos básicos del idioma.

Lección 4

Demostración de métodos en el ejemplo de mejorar el juego "Adivina el número".

Lección 5

Traemos el código del juego a la versión final.

Lección 6 Parte 1

Crea una ventana de juego.

Lección 7 Parte 2

Aprendiendo a subir y dibujar imágenes; implementar el bucle del juego.

Lección 8 parte 3

Capturamos eventos del mouse y terminamos el desarrollo del juego.

Lección 9

Recopilamos el proyecto en un archivo jar para que sea conveniente ejecutarlo sin un entorno de desarrollo; Resumiendo.

Los programadores no nacen, se hacen. Y eso significa que al menos tienes que intentarlo. Para ello, hemos creado un curso interactivo "Fundamentos de Programación". Aprenderá todo lo más útil y relevante sobre los lenguajes de programación modernos y obtendrá la primera experiencia de escribir código. Pensamos en cómo crear un curso en línea de este tipo para que se convierta en un evento brillante y memorable en la vida de cada programador novato. Después de todo, un mayor interés en esta dirección depende en gran medida del primer contacto con el código. Diremos y mostraremos cómo funciona, qué profesiones están en demanda y cuáles son las perspectivas de desarrollo en cada dirección de la esfera de TI. Durante el curso, crearemos un sitio web con juegos de navegador y publicaremos el proyecto en github.com. Este sitio será el primer caso en su cartera futura, lo cual es muy importante, porque la cartera es lo primero a lo que las personas prestan atención cuando solicitan un trabajo. ¡Después de completar este curso, dará el primer paso hacia un aprendizaje serio y podrá definir claramente la dirección de sus intereses!

Lección 1. El concepto de algoritmo, variables, tipos de datos.

Introducción: ¿qué haremos en el curso?
¿Me convertiré en un programador exitoso?
El concepto de un algoritmo. Instalación del entorno de trabajo. Hola Mundo.
Introducción a las variables.
Arquitectura de Computadores
Tipos de datos: cadenas y números. Operaciones con números y cadenas.

Lección 2. Ramificación. ciclos

Ramas: si/si no
Bucles: mientras, para
operaciones lógicas. hacer mientras bucle.
Desarrollo del juego "Adivinas"

Lección 3

Introducción a la matriz. Programa para el desarrollo de la memoria.
Cambiar la longitud de una matriz. Matrices multidimensionales. Programa para el estudio del inglés.
Introducción a las funciones. Funciones sin parámetro de retorno.
Funciones con parámetros de retorno.
funciones recursivas. Desarrollo de un programa para la enseñanza de mecanografía táctil.

Lección 4

Introducción a HTML
Introducción a CSS
Colocamos el juego en acertijos en el sitio.
Colocamos el juego "Juego de adivinanzas" en el sitio.
Publicación de un sitio para hospedaje

Lección 5

¿Cómo elegir un lenguaje de programación y dirección?
Elección del lenguaje de programación: desarrollo web
Desarrollo móvil. Lenguajes de programación universales
¿Cómo aprender a ser programador?

Un curso para desarrolladores principiantes, aquellos que quieren aprender rápidamente los conceptos básicos de la programación orientada a objetos (POO) y aprender a crear sus propios proyectos. La característica principal del curso es la combinación del estudio de los fundamentos teóricos del lenguaje Java y la formación práctica en línea bajo la guía de un mentor.

Lección 1: Introducción a Java

  1. Cómo funciona Java. JVM. Principios generales. Instrumentos.
  2. ¡Hola Mundo!
  3. Variables y tipos de datos.
  4. Métodos y su aplicación.
  5. Declaraciones condicionales.

Lección 2

  1. El concepto de ciclos. mientras bucle;
  2. bucles para, foreach;
  3. El concepto de matriz;
  4. Análisis de las tareas asignadas.

Lección 3 Estilo procesal de tres en raya

  1. Desarrollo de algoritmos;
  2. Creación de lógica;
  3. Creación de la lógica de la computadora enemiga;
  4. Análisis de la tarea.

Lección 4

  1. ¿Qué es OOP y por qué es necesario? Conceptos básicos;
  2. Creación de clases y objetos;
  3. encapsulación;
  4. Herencia;
  5. Clases abstractas, interfaces y polimorfismo;
  6. Análisis de la tarea.

Lección 5

  1. Almacenamiento de datos en Java: pila, montón;
  2. Recolección de basura;
  3. Clases de cadenas, grupos de cadenas;
  4. Análisis de la tarea.

Lección 6

  1. Biblioteca Swing y otras bibliotecas gráficas. Conceptos básicos del swing;
  2. Gestores de colocación y alineación de elementos;
  3. Eventos en Swing. Menús y cuadros de diálogo;
  4. Análisis de la tarea.

Lección 7 Tic-Tac-Toe en programación orientada a objetos

  1. Definición de clases y GUI;
  2. Desarrollo de la lógica, parte 1;
  3. Desarrollo de la lógica, parte 2;
  4. Análisis de la tarea.

Introducción a Git
Conceptos básicos de Git

A lo largo de 13 videos, nos familiarizaremos con los conceptos básicos del sistema de control de versiones de Git. Averigüemos por qué es importante en el desarrollo moderno y la programación colaborativa. Familiaricémonos con los conceptos básicos de Git: repositorios, confirmaciones, ramas y etiquetas. Aprenderemos operaciones básicas: crear y clonar un repositorio, fusionar ramas, consultar el historial de cambios y mucho más. Veamos cómo entregar la tarea usando Git. Este curso es básico y después puedes empezar a aprender cualquier lenguaje de programación. Además, estarás listo para una entrevista, donde generalmente varias preguntas son sobre el sistema de control de versiones.

Lección 1: Introducción a los sistemas de control de versiones

¿Qué es un sistema de control de versiones?
Tipos de sistemas de control de versiones
Git y sus beneficios
Documentación

Lección 2

¿Qué es la línea de comandos?
¿Por qué es importante la línea de comandos?
¿Cómo abrir la línea de comando?
Comandos útiles

Lección 3

Introducción al cliente de consola
configuración de git
Inicialización del repositorio
Clonar un repositorio
Clientes gráficos de git

Lección 4

Indexación
Publicación de cambios
confirma
Cancelar indexación
Estado actual

Lección 5

Historial de cambios
Retroceder a través del historial del proyecto
Autores de los cambios: culpa de git
Ignorando archivos .gitignore
Sitio gitignore.io
Mantener carpetas.mantener

Lección 6

Gestión de sucursales
Creación y eliminación de sucursales
Cambio entre sucursales
Métodos de conflictos y su resolución.
combinación de git

Lección 7

Alojamiento Git (GitHub, GitLab, Bitbacket)
Creando tu propio repositorio bare-git
Registro en GitHub
Publicación de cambios en un repositorio remoto

Lección 8

Nombres de repositorio
Múltiples repositorios en un proyecto
.git/config
Gestión de sucursales en un repositorio remoto

Lección 9

Métodos de control de versiones
Etiquetas y su relación con las confirmaciones
Agregar una etiqueta
Eliminación de una etiqueta
Administrar una etiqueta en un repositorio remoto

Lección 10

Fusionamos los cambios. combinación de git
Movemos sucursales. git rebase
Transferimos compromisos. git pico de cereza
Combinar el compromiso en uno. calabaza
Manos
Alias

Lección 11

¿Cómo se usa y por qué?
Ciclos de prueba
Posiblemente azul/verde
Liberar ramas
Revisiones

Lección 12

protocolo SSH
¿Por qué se usa?
Creando claves
Reenvío
agente SSH
Copiar archivos a través de SSH
Windows: Git para Windows
Usar SSH con Git

Lección 13

Fundamentos de la base de datos. 20 lecciones.
Diseño de bases de datos y consultas SQL

Las bases de datos (DB) son sistemas de almacenamiento y procesamiento de datos a los que se accede mediante SQL (lenguaje de consulta estructurado). Cualquier sitio web, juego o aplicación de escritorio moderno necesita almacenamiento de datos. Actualmente, existen muchos sistemas de gestión de bases de datos (DBMS) diferentes, siendo el más popular MySQL. “Fundamentos de la base de datos” son 20 lecciones intensivas en video (10 minutos cada una), donde recorreremos todas las etapas del diseño de la base de datos usando el ejemplo de una tienda en línea que usa el lenguaje de consulta SQL. Después de este curso, podrá utilizar varias bases de datos como MS SQL y Postgre Sql, ya que la sintaxis del lenguaje SQL es casi la misma para ellas.

Lección 1

¿Cuál es la diferencia entre una base de datos y un DBMS? qué bases de datos se denominan relacionales; Revisión del DBMS moderno.

Lección 2

Instalación del DBMS MySql y la aplicación gráfica Mysql Workbench.

Lección 3

Diseño de datos en Excel; formas normales; Clave primaria.

Lección 4

Creación de tablas en la GUI de MySql Workbench; comando CREAR; tipos de datos; trabajar en la consola.

Lección 5

Llenar tablas con datos usando una interfaz gráfica; comando INSERTAR; AUTOINCREMENTO.

Lección 7

Recuperar y filtrar datos usando los comandos SQL DISTINCT y LIMIT; ordenar con el comando ORDER BY.

Lección 9

El concepto de consistencia o consistencia de datos.

Lección 10

El concepto de clave externa y restricciones en los valores de columna; RESTRICCIONES DE CLAVE EXTRANJERA.

Lección 11

Agregar un carrito de compras a la base de datos de la tienda en línea.

Lección 12

Uso de una clave principal compuesta al diseñar una tabla de muchos a muchos.

Lección 13

Obtener datos de varias tablas interrelacionadas; la inconsistencia del enfoque usando múltiples SELECT.

Lección 14

Unión de datos de varias tablas mediante la instrucción INNER JOIN.

Lección 15

Unión de datos de varias tablas mediante las declaraciones LEFT JOIN y RIGHT JOIN.

Lección 16

Combinando los resultados de múltiples consultas SQL usando el operador UNION.

Lección 17

Funciones de agregación COUNT, SUM, MIN, MAX.

Lección 18

Agrupar el conjunto de filas seleccionado mediante la cláusula GROUP BY.

Lección 19

Filtrado en GROUP BY usando HAVING; aumentando la velocidad de ejecución de consultas utilizando índices.

Lección 20

El concepto de transacción; declaración de TRANSACCIÓN; Requisitos ACID para un sistema transaccional.

Curso para aquellos que quieran afianzar sus conocimientos en Java. En el curso, los estudiantes dominan la teoría y, al mismo tiempo, bajo la guía de un profesor, desarrollan un proyecto completo en Java desde cero, adquiriendo así experiencia práctica en la aplicación de conceptos complejos orientados a objetos característicos del lenguaje. Antes de realizar el curso, se recomienda dominar el curso para principiantes: "Java. Nivel 1".

Lección 1: Programación Orientada a Objetos Java

Un estudio en profundidad de los problemas de programación orientada a objetos en Java: los principios básicos de programación orientada a objetos, clases abstractas, interfaces.

Lección 2

El concepto de manejo de excepciones, su comparación con el mecanismo tradicional de manejo de errores, bloque try-catch-finally, tipos de excepciones, excepciones estándar en Java y su rol, lanzando una excepción desde un método

Lección 3

Tipos de contenedores en Java: Lista, Mapa, Conjunto. Implementaciones básicas y técnicas de uso, iterando a través de los elementos de la colección, comparando y clasificando los elementos de la colección.

Lección 4

Crea tus propios controles. Trabajar con gráficos. Manejo de eventos

Lección 5

Subprocesos en Java, formas de crear y administrar estados de subprocesos, problemas comunes con subprocesos y sincronización.

Lección 6

Enchufes. Escribir un servidor de eco simple y un cliente de consola.

Lección 7 Parte I

Escribir las partes cliente y servidor del chat. Procesamiento de subprocesos múltiples de conexiones de clientes.

Lección 8 Parte II

Desarrollo de la interfaz para el lado del cliente. Autorización. Mecanismos de interacción entre el cliente y el servidor.

Java. Nivel 3. 2 meses.
Desarrollo de software profesional

El curso está destinado a aquellos que desean conocer las funciones avanzadas del lenguaje Java y obtener experiencia práctica en la creación de aplicaciones. Para completar con éxito el curso, los estudiantes deben comprender los conceptos básicos de programación y tener una experiencia inicial con Java. El curso cubre todos los temas principales necesarios para el trabajo profesional.

Lección 1

Qué son los genéricos, clases genéricas, métodos e interfaces, herencia de clases genéricas, limitaciones al trabajar con genéricos

Lección 2

Bases de datos relacionales, lenguaje de consultas SQL. Instrucciones SELECCIONAR, INSERTAR, ACTUALIZAR, ELIMINAR. Conectarse a la base de datos a través de JDBC, enviar consultas y procesar los resultados

Lección 3

Descripción general de las instalaciones de entrada-salida. Byte, carácter, secuencias almacenadas en búfer. Redes, serialización/deserialización de objetos

Lección 4. Multihilo. Parte I

Multihilo en Java, memoria compartida, gestión de hilos y problemas de sincronización, interacción de hilos de ejecución, interbloqueo

Lección 5. Multihilo. Parte II

Clases para trabajar con multithreading, Concurrent collections, análisis de ejemplos prácticos

Lección 6

Inicio sesión. Pruebas con JUnit, pruebas de escritura, clase Assert

Lección 7. API de Reflection y anotaciones

El concepto de reflexión, el tipo de datos Clase, metadatos de clase, acceso a campos y métodos, anotaciones y su uso, escribir sus propias anotaciones.

El curso se enfoca en el uso de estructuras de datos y algoritmos en la programación Java. Las estructuras de datos definen cómo se almacenan los datos en la memoria de la computadora. El curso cubrirá las siguientes estructuras de datos: matrices, pilas, colas, listas, gráficos, árboles, tablas hash. Para cada estructura de datos, se considerarán algoritmos que proporcionen diversas operaciones sobre estas estructuras, como la búsqueda o la clasificación. El curso está diseñado para estudiantes que dominan el curso básico de Java SE.

Lección 1

Introducción a los algoritmos y estructuras de datos.

Lección 2

Trabajando con arreglos y cómo ordenarlos.

Lección 3

Una descripción general de la estructura de datos, la pila, la cola y la cola de prioridad.

Lección 4

Aprende a crear y usar listas.

Lección 6

Considere trabajar con árboles binarios.

Lección 7

Considere trabajar con una de las estructuras más flexibles y versátiles.

Lección 8

Búsqueda e inserción rápidas con tablas hash.

Prácticas en GeekBrains. 2 meses.
en formato de seminario web

Durante la pasantía, los estudiantes deberán trabajar de forma remota en un proyecto o startup de código abierto. Se les pedirá a los estudiantes que elijan entre un conjunto de proyectos disponibles para su desarrollo. Los estudiantes aprenderán a trabajar en equipo, comunicarse con otros desarrolladores, gerentes de productos y proyectos, diseñadores, aprenderán metodologías flexibles, el marco SCRUM y dominarán los principios del trabajo remoto. El resultado de la pasantía es la capacidad de trabajar en equipo, la reposición de la cartera, la capacidad de indicar el trabajo en el proyecto como una experiencia laboral central en el currículum. La pasantía se desarrolla en formato de trabajo remoto a tiempo parcial, reuniones semanales de estado con el docente en formato webinar.

Lección 1

¿Cuáles son los roles en el desarrollo? Product Manager, Project Manager, desarrollador, diseñador. Que es MVP. Arquitectura de servicio moderna. Cómo los desarrolladores interactúan entre sí. API REST, toma web. Backend, Frontend, aplicaciones móviles. Arquitectura de microservicios. Fundamentos del trabajo remoto. Inscripción en equipos.

Lección 2

Relevamiento de metodologías. Cascade (cascada), Manifiesto ágil, Kanban, Scrum. ¿Dónde y por qué se utilizan? Metodologías mixtas.

Lección 3. Metodología SCRUM

Trabaja en SCRUM. Planificación de sprints. Preparación de la cartera de pedidos. Meta de Sprint. Incremento. Metodología flexible en condiciones de trabajo remoto. Rastreadores de tareas (Trello, Favro)/

Lección 4

Tipos de tareas. Descomposición de tareas. Construcción de un mapa de historias de usuario. Trabajando en historias de usuario. Trabajar con TK en la cascada y en metodologías flexibles.

Lección 5

Qué y cómo motivarse. Cuáles son los niveles de motivación. Cómo no quemarse en el trabajo. Y como no anotar en el trabajo.

Lección 6

Cómo escribir un currículum para que RRHH no lo elimine. Cómo lograr que un empleador se interese. Cómo demostrar las habilidades adquiridas en los estudios si aún no hay experiencia laboral relevante.

Lección 7

Análisis de hojas de vida de los estudiantes. Resumen preliminar. Un poco sobre startups, monetización, inversores.

Lección 8

Demostración de un prototipo funcional por parte de los estudiantes. Discusión de los resultados obtenidos. Comentarios del profesor. Palabras de despedida.

Cómo convertirse en un programador. 13 lecciones.
Guía paso a paso para la búsqueda de empleo

Una carrera en programación es un viaje emocionante al mundo de la tecnología moderna. Cada desarrollador tiene su propia historia y experiencia. Sin embargo, existe un algoritmo básico que te ayudará a dar los primeros pasos correctamente y te llevará a tu objetivo. Hemos preparado 13 videotutoriales en los que respondimos a las preguntas más acuciantes sobre la carrera de un programador en empresas y en el mercado freelance. ¿Piensas a menudo en el empleo y sientes que estás listo para empezar a ganar? Entonces este video curso es para ti.

Lección 1

Características de la profesión; preguntas frecuentes; demanda en el mercado laboral.

Lección 2

¿Me convertiré en un programador exitoso? factores de éxito.

Lección 3

Lo más importante es la primera impresión; cómo nombrar el trabajo.

Lección 4

Revisión de lenguajes para desarrollo de sitios web: HTML, CSS, JavaScript, PHP, Python, Ruby, C#, Java; Buena elección.

Lección 5 Lenguajes de programación universales

Descripción general del lenguaje: Java, Objective-C, Swift; C#, C++, Python: la elección correcta.

Lección 6

Lista de tecnologías; portafolio diplomas y certificados; cualidades personales. La visión de un especialista técnico y de RRHH.

Lección 7

Trabajo de ensueño, aspectos psicológicos; técnica de consulta.

Lección 8

Entrevistas para programadores: cómo comportarse, qué decir, qué escuchar; período de prueba y las reglas para su superación.

Lección 9

Descripción general de los sitios independientes; características del registro; Registro de cuenta; cómo destacar entre la mayoría de los artistas.

Lección 10

Estrategia de búsqueda de pedidos; orden de prioridad: qué llevar al trabajo; Negociación; tareas y peligros de los conocimientos tradicionales; métodos de contacto con el cliente; escribir respuestas y atraer la atención de los clientes; las preguntas correctas.

Lección 11

Métodos de pago: no efectivo o efectivo; prepago o pospago; una descripción general de las situaciones en las que cada uno de los métodos funcionará mejor; preparación para el trabajo y acuerdos vinculantes con el cliente; características del proceso de trabajo; etapas finales de la cooperación; intercambio de retroalimentación; técnica de "consulta".

Lección 12

¿Cómo es el desarrollo en las grandes empresas? ¿Quiénes son analistas, diseñadores, probadores, arquitectos, jefes de proyecto, jefes de equipo, etc.

Lección 13

¿Cómo es el escalafón de la carrera de TI? ¿En qué especialidades es más fácil iniciar tu andadura? ¿Cuáles son las perspectivas de desarrollo?

El curso, desarrollado en conjunto con la escuela EnglishDom, lo ayudará a dominar los temas clave del idioma inglés que son relevantes para los especialistas en TI principiantes. Máxima práctica y enfoque en el vocabulario de TI. En 10 lecciones se analiza la elaboración de CV, encargos técnicos y cartas comerciales, entrevistas y negociaciones, comunicación internacional a la hora de impulsar tu proyecto. En diálogos en vivo en inglés, los estudiantes consolidarán frases que serán útiles en el trabajo de desarrolladores y evaluadores, vendedores y diseñadores.

Lección 10

Hablamos de nuestro proyecto y presentamos al equipo en inglés.

Moscú es una gran metrópolis. Esto significa que casi todo está aquí. Se pueden encontrar cursos de programación en Moscú para todos los gustos, pero para un principiante, esta variedad no lo hace más fácil. Él tiene una pregunta razonable: ¿sobre qué base buscar? ¿A quién se le puede confiar su propia educación? En este artículo no consideraremos las universidades como fuente de conocimiento y habilidades para un futuro programador, sino que hablaremos de cursos privados. Sobre qué son, cuáles son sus características y a qué debes prestar atención a la hora de elegir.

Los cursos se pueden dividir en presenciales (offline) y online.

Forma de educación a tiempo completo.

Cursos de programación de pago

Para empezar, considera los cursos de pago de Java en Moscú. Implican trabajar en una clase de computación con un maestro además de hacer la tarea. Por lo general, un estudiante debe escribir de 1 a 3 problemas de programación por semana. Todo es más o menos igual que en una universidad, solo que la audiencia suele ser más pequeña y, en teoría, hay más atención a cada estudiante.

Ubicación

Todos los que viven en la capital saben que la primera pregunta que hay que aclarar es dónde están ubicados geográficamente los cursos de programación, Moscú es grande. Si tiene la suerte de encontrar una escuela cerca de donde trabaja o vive, entonces puede considerar los siguientes factores. Si no... Incluso las personas serias a veces abandonan la escuela después de faltar a clases varias veces seguidas debido a atascos de tráfico de dos horas.

Horario de visita

Por lo general, se asignan dos noches de lunes a viernes después del trabajo para las clases. Las clases duran 2-3 horas. Algunos cursos de programación en Moscú ofrecen grupos de fin de semana. Quizás esto sea conveniente: la cabeza está más fresca, hay menos atascos. Sin embargo, esta opción a menudo no es adecuada para personas de familia.

Clases de computación

Antes de comenzar las clases, debe aclarar si los cursos ofrecen computadoras o si es necesario llevar su propia computadora portátil. La segunda opción es cada vez más común. Esto tiene sus pros y sus contras. Si ya llevas tu computadora contigo al trabajo, entonces no experimentarás muchas molestias, pero si realmente no quieres llevar a tu amigo de hierro contigo en el metro, es posible que debas buscar otras opciones.

Maestro

¡Un factor muy importante! Antes de pagar el curso, debe averiguar:
  1. Cualificación del profesor.¿Es un programador profesional o un profesor universitario técnico que decidió ganar algo de dinero por las tardes? Si es programador, ¿para qué empresa trabaja? ¿Cómo suena su posición (desarrollador Java Junior, Middle o Senior)? Es deseable que te encuentres con una persona que conozca la industria de la programación desde adentro, y no desde las historias de otros.
  2. ¿Qué tan ocupado está el maestro?¿El maestro tendrá ayudantes o trabajará solo? ¿Cuántos grupos dirigirá este maestro al mismo tiempo? Esto también es importante. Imagínese: generalmente hay 10-15 personas en un grupo, todos deben revisar su tarea. ¿Y si el maestro tiene muchos de esos grupos? No podrá físicamente estudiar cuidadosamente el código de cada estudiante.
  3. ¿Cuánto tiempo ha estado tomando estos cursos? Si es así, intenta encontrar foros y reseñas que escriban sobre él: la combinación “un buen profesor (es decir, alguien que sabe explicar bien el material complejo) + un buen programador” es muy rara. Si por casualidad encuentras uno, considérate muy afortunado.

Precio

El número de billetes de tesorería que tienes que pagar por los cursos de programador en Moscú depende principalmente del párrafo anterior. Es decir, de las calificaciones y solicitudes del maestro. Un buen programador de nivel Medio gana al menos $2,000 al mes, siéntete libre de multiplicar por dos si es un Senior. Como comprenderá, no es fácil interesar a una persona así en un trabajo a tiempo parcial. Si su maestro es un estudiante reciente, entonces los cursos serán más baratos, pero aquí está la calidad ... Sin embargo, no lo juzgaremos. Hay profesores natos a los que les encanta enseñar. Estas personas pueden ganar mucho en su trabajo principal y considerar la enseñanza como su pasatiempo.

Programa de entrenamiento

Por lo general, un curso de programación, por ejemplo, "Java desde cero" dura de 2 a 3 meses, y se ofrecen 1-2-3 de estos cursos. Dos clases por semana, 2-3 tareas en la misma semana. Se trata de 36 tareas por curso; para un programador novato, esto es catastróficamente pequeño. Casi cualquier empresa educativa ofrece cursos de programación desde cero, en Moscú hay muchos cursos de este tipo para principiantes. Pero si ya tiene algo de experiencia, la elección se reduce drásticamente. La razón es la misma: hay muy pocos programadores dispuestos a enseñar. Y si los cursos para principiantes siguen siendo aceptables para un profesor verde o un profesor de informática, entonces esto ya no funcionará con los "continuos". En resumen, ventajas:
  • Comunicación personal con un profesor-programador (si tienes suerte);
  • Comunicación igualmente personal con otros estudiantes;
  • Hay un programa de entrenamiento al que puedes "ir".
Defectos:
  • Necesitas pasar tiempo en el camino a los cursos;
  • Un horario estricto que es fácil para una persona que trabaja atrasarse;
  • Pocas tareas prácticas;
  • A menudo, cursos de alto precio o de baja calidad;
  • Por lo general, una gran carga de trabajo de los maestros.
Por supuesto, solo damos ventajas y desventajas generalizadas de los cursos presenciales. Si tiene la suerte de encontrar cursos con un buen profesor y una ubicación conveniente, las deficiencias se nivelan de inmediato.

Cursos/prácticas en empresas

Los cursos en empresas de TI son muy diferentes de los cursos presenciales que discutimos anteriormente. Por lo general, estos cursos son pasantías no remuneradas (ya veces remuneradas). Por lo general, las grandes empresas de TI contratan para estos cursos varias veces al año. Esto es muy útil, y los residentes de Moscú deben realizar un seguimiento de tales eventos. Solo que ahora necesitan ingresar, y no es fácil hacerlo, ya que hay muchos candidatos para cada lugar. Y un punto más importante: estos cursos están diseñados para los llamados "principiantes experimentados", de hecho, desarrolladores junior casi preparados sin experiencia laboral real. En consecuencia, dichos cursos suelen durar seis meses. Son muy complejos y requieren mucho esfuerzo. Del grupo inicial, ⅔ se elimina al final. Como resultado, los mejores ya pueden ser contratados para un trabajo de tiempo completo, por el salario de un "jun". Beneficios de los cursos corporativos:
  • Libre;
  • Los profesores son programadores activos;
  • Mucha práctica relevante (la que se necesita en la TI moderna);
  • Experiencia laboral casi real en una empresa de TI;
  • Oportunidad de conseguir un trabajo en la empresa.
Desventajas (para principiantes):
  • Para ingresar a los cursos, debe ser un programador casi listo y aprobar una selección difícil;
  • Enorme carga de trabajo (a menudo incompatible con el trabajo principal);

Forma de estudio: cursos en línea

Cursos grupales de programación en línea

Este tipo de curso no es muy diferente de los cursos de tiempo completo. Tenemos las mismas 2 clases por semana en un horario estrictamente definido durante tres meses. Solo un grupo de alumnos y un profesor no se reúnen en el aula, sino cada uno en su propio ordenador. Todo lo demás es lo mismo. Probablemente, estos cursos son preferibles para los moscovitas ocupados: al menos desaparece el problema de perder el tiempo y los nervios en el camino a la escuela de programación. Además, estos cursos pueden resultar algo más económicos que los cursos presenciales, ya que sus organizadores no necesitan gastar dinero en alquilar aulas y comprar equipos. Hay otra opción para cursos grupales en línea. Los estudiantes no ven conferencias en vivo, sino registros de seminarios web, y en un momento determinado, el maestro realiza una serie de consultas sobre teoría y tareas. ventajas:
  • No hay necesidad de perder tiempo y dinero en el camino
  • Comunicación con el profesor y otros estudiantes.
Defectos:
  • Igual que los cursos presenciales (excepto el tiempo de viaje)

Cursos individuales de Java en línea en Moscú

Dichos cursos son algo similares a la tutoría, por lo que suelen ser costosos. Como regla general, se mueve de acuerdo con el programa compilado por el maestro, escucha las grabaciones de sus conferencias, hace su tarea, obtiene su verificación y breves consultas personales. Una buena y flexible opción: ya no hay una referencia rígida a la hora de las clases, ves las conferencias cuando te conviene y acuerdas con el profesor una consulta en un horario conveniente para ti. ventajas:
  • Horario personal
  • Mentora "en vivo"
Defectos:
  • Precio alto
Es posible imaginar una opción más económica, en la que un maestro sea "compartido" por una gran cantidad de estudiantes. En consecuencia, no se presta demasiada atención a cada uno (todo depende de la responsabilidad del autor de los cursos). Las tareas con este enfoque a menudo son verificadas por un autovalidador simple, en el peor de los casos, comparándolas con el código de otra persona en GitHub.

Cursos en línea “Plataforma”

Las plataformas Coursera, Udemy, edX y otras contienen una gran cantidad de cursos de programación. Hay muchos gratuitos entre ellos, grabados por maestros en su oficio (el mismo "Harvard CS50. Fundamentos de programación" en inglés está en edX, y en el sitio web de JavaRush hay un ruso de este curso más popular para principiantes). En algunas plataformas, existe un cronograma aproximado para completar los cursos (la mayoría de las veces las tareas se dividen en semanas) y es mejor no salirse de este cronograma. Por lo general, estos cursos consisten en videos, materiales adicionales, pruebas y tareas. A veces, las tareas se pueden verificar utilizando validadores integrados simples, pero la mayoría de las veces, la corrección del código no se puede verificar de manera confiable. ventajas:
  • Horario flexible
  • A menudo gratis o no muy caro
Defectos:
  • Falta de retroalimentación, razón por la cual los estudiantes abandonan con mayor frecuencia dichos cursos;
  • Pocas tareas prácticas.

Cursos especiales de Java: JavaRush

JavaRush está al nivel de Java Junior Developer.

El curso se divide en 4 bloques (misiones), cada uno de los cuales tiene 10 niveles. Mientras toma el curso, usted, como en un juego de computadora, pasa de un nivel a otro, aumentando así su conocimiento y habilidad para programar. Cada nivel contiene varias conferencias de texto breve, escritas en forma de diálogo de personajes muy originales, así como muchas tareas. Solo resolviendo la mayoría de las tareas del nivel obtendrás los puntos suficientes (aquí los llaman “materia oscura”) para llegar más lejos. Cada tarea se proporciona con una lista de requisitos, lo que hace que sea más fácil de entender para los principiantes. Además, el curso tiene incorporada la verificación automática de soluciones y un sistema de recomendaciones, una especie de "mentor virtual". Simplemente presiona un botón y la solución se envía al "mentor". En un momento, llega una respuesta en la que recibe información sobre la corrección de la solución y una lista de recomendaciones sobre cómo corregir errores, si los hay. Entonces, atención: ¡hay más de 1200 tareas de este tipo en JavaRush! Su estudio es la primera experiencia de programación muy valiosa que tanto les falta a los principiantes. Debido a esta característica, los profesores de cursos presenciales o en línea suelen recomendar JavaRush como fuente de tareas adicionales. La mayoría de las tareas son bastante simples, pero a partir de la mitad del curso, JavaRush ofrece miniproyectos: son tareas grandes con instrucciones paso a paso que ayudan a los estudiantes a crear sus primeros programas complejos. Por ejemplo, el juego 2048 o un emulador de restaurante. Dependiendo de la carga de trabajo del alumno y sus habilidades antes del inicio del curso, JavaRush se puede completar en 3 meses a un año. Al final del curso, puede inscribirse en una pasantía en línea, explorar la pila de tecnología Java EE y crear su propio proyecto. Aquellos que buscan cursos a menudo temen que no haya comentarios significativos en el entorno en línea, lo que hace que los problemas graves sean casi intratables. JavaRush ha solucionado este problema con éxito con la ayuda de la comunidad de JavaRush y la sección "Ayuda", donde puede hacer preguntas sobre tareas y teoría. Por lo general, las preguntas de los estudiantes se responden con bastante rapidez. Esto lo hacen otros estudiantes o alguien del equipo de JavaRush.

conclusiones

¡Las conclusiones son tuyas! ¡Pase lo que pase, le deseamos los mejores cursos de programación en Moscú o en línea!
Qué más leer: