Hoy es el último día de
inscripción para la Olimpiada estudiantil "
Soy un profesional ". Y hablamos sobre la dirección de "Programación y Tecnología de la Información".
El socio general de la Olimpiada en las áreas de la Universidad ITMO es "Programación y TI", "Información y ciberseguridad", " Big Data " - Sberbank.
Christina Morillo / Pexels / PDAlgunas palabras sobre los Juegos Olímpicos "Soy un profesional"
La Olimpiada estudiantil "Soy un profesional" es una competencia para licenciados y maestros en especialidades humanitarias y técnicas. Aquellos estudiantes que se muestren bien en los Juegos Olímpicos podrán ingresar a las universidades rusas sin exámenes. Al mismo tiempo, recibirán capacitación en las principales compañías de TI rusas: Yandex, Sberbank, IBS y Mail.Ru.
Los Juegos Olímpicos comenzarán el 24 de noviembre (
hoy es el último día de registro ), esta es la fecha de inicio de las etapas de clasificación. Se llevarán a cabo en un formato en línea. Aquellos participantes que pasarán a la siguiente ronda llegarán a la etapa de tiempo completo de la competencia. Se llevará a cabo en varias universidades del país en febrero de 2019.
¿Qué áreas de la Olimpiada supervisamos?
La Universidad ITMO está preparando tareas en las siguientes áreas: "Programación y TI", "Información y ciberseguridad" y "
Fotónica ".
Incluso este año, presentamos dos nuevas áreas:
- " Robótica ": los temas en el campo son mecánica, electrónica y control. Se debe dar participación a aquellos estudiantes que planean continuar sus estudios en el campo de la mecánica aplicada, ingeniería de software, etc. Los socios en esta área fueron Motorika, NPO Android Technique y DNS.
- Big Data : los temas en esta área incluyen análisis de datos, estadísticas y aprendizaje automático. Adecuado para estudiantes que estudian en las facultades de informática aplicada, TIC, tecnología de la información en el campo humanitario , etc. Entre los socios se encuentran empresas como Gazprom, Siemens, MTS y Business Lines.
A continuación, hablaremos más sobre la dirección de "Programación y Tecnología de la Información".
Sobre la dirección "Programación y TI"
La Universidad ITMO es uno de los mayores organizadores de eventos que están cerca del nivel de la Olimpiada "Soy un profesional".
Celebramos una gran cantidad de competencias creativas y competencias en informática y programación. Estas son las olimpiadas escolares, por ejemplo, la Olimpiada del equipo de toda Rusia para escolares , la " Tecnologías de la información " de la Olimpiada y el IOIP . También organizamos olimpiadas estudiantiles, en particular, las semifinales del campeonato mundial de programación ICPC .
Al trabajar en la dirección "Programación y tecnologías de la información", tomamos en cuenta la rica experiencia en la realización de otros eventos competitivos temáticos en el campo de TI y la experiencia de colegas. Por ejemplo, desde este año, Mikhail Mirzayanov, autor y desarrollador del portal
Codeforces , ha estado trabajando en la Universidad ITMO.
La preparación de la dirección de “Programación y Tecnología de la Información” por parte de la Universidad ITMO es realizada por los empleados de la facultad correspondiente. Este es Dean Parfenov Vladimir Glebovich, así como Profesor Asociado y Entrenador del Equipo de Programación de Estudiantes ITMO para Programación Deportiva Andrey Sergeyevich Stankevich.
Los empleados de las empresas de TI, que imparten disciplinas especializadas en la facultad, y los empleados de las universidades coorganizadoras participan en el diseño y desarrollo de tareas para la Olimpiada. Estas universidades son la Universidad Federal de los Urales, la Universidad Federal del Nordeste. Ammosova, Saratov State University y Samara University.
Cómo prepararse para los Juegos Olímpicos
La dirección de "
Programación y Tecnología de la Información " se basa en el conocimiento de las matemáticas, la informática y la capacidad de desarrollar software confiable y seguro. Durante la preparación, es recomendable que los estudiantes repitan la teoría de la complejidad computacional, la teoría de los lenguajes formales y las gramáticas, los principios de construcción de arquitecturas computacionales, OOP y programación paralela, y la teoría de las bases de datos relacionales.
Recomendamos ver seminarios web temáticos preparados por nuestros maestros. Por ejemplo, este video analiza problemas de almacenamiento y sistemas operativos.
El seminario web de segunda dirección trata sobre algoritmos y estructuras de datos:
Al prepararse para las etapas de calificación y final, se debe prestar atención no solo a cuestiones teóricas, sino también prácticas. Por lo tanto, daremos algunos ejemplos de tareas que pueden ocurrir en las etapas de calificación y final. Estos son casos reales que se ofrecieron a los estudiantes el año pasado.
Tarea de ejemplo: código dado en un lenguaje de programación abstracto que simula el funcionamiento de una cola de consulta.
Código para la tareaqueue tasks; task worker_task; void do_task(task) { sleep(random()) : } void request() { while (true) { new_task = new task(); if (worker_task == null) worker_task = new_task; else if (queue.size() < 5) queue.push(new_task) sleep(random()) } } void worker() { while (true) { if (worker_task == null) { sleep(1000); } else { do_task(worker_task); if (queue.notEmpty()) worker_task = queue.pop(); } } } main() { thread worker_thread(worker); for (int i = 0; i < N; ++i) { threadr tr(request) } }
En un hilo separado, se inicia el proceso de trabajo, que procesa las tareas que provienen de N (N> 1) hilos de solicitud. El método do_task imita la ejecución de tareas.
¿Cuál de las siguientes afirmaciones es verdadera?
- Condición de carrera por variable trabajador_tarea
- La cola puede contener 6 elementos.
- El sistema puede dejar de realizar tareas incluso si la cola no está vacía.
- El sistema siempre completará tareas si llegan,
- El sistema está garantizado para completar todas las tareas entrantes.
Respuesta: 1, 2, 3
Además, como ejemplo, damos la tarea desde la etapa final. Aquí hay una tarea relacionada con los sistemas operativos y la programación de procesos.
Ejemplo de una tarea: considere un sistema informático con un procesador central, que en cualquier momento puede realizar cálculos de un solo proceso. El tiempo del sistema es discreto y se mide en ciclos arbitrarios.
Continuación del texto de la tarea.Hay tres fuentes de trabajo en el sistema. Cada tarea genera un proceso que finaliza cuando se completan los cálculos. Para cada fuente de tareas, se conoce el número de medida en el que apareció la primera tarea de esta fuente, la cantidad de medidas después de las cuales aparece cada tarea posterior y la cantidad de medidas necesarias para completar la tarea desde esta fuente (todas las tareas de una fuente requieren el mismo tiempo para completarse) .

Se utiliza una cola de varios niveles para controlar el orden en que se completan las tareas. Para cada fuente, su propia cola FIFO se forma a partir de las tareas de esta fuente. Las colas tienen prioridad. El proceso de completar una tarea específica solo puede iniciarse si no hay tareas en ninguna cola con alta prioridad.
La tarea que aparece inmediatamente en el mismo tiempo comienza a ejecutarse si el procesador está libre o, a su vez, está en pie de ejecución. Después del inicio de la ejecución, el proceso no se interrumpe hasta que finaliza. Si se completa la ejecución del siguiente proceso, el siguiente paso es la selección del proceso desde la prioridad más alta de las colas no vacías. La tarea que apareció en ese ritmo también participa en esta elección.
Consideramos el tiempo de respuesta como el número de medidas que han transcurrido desde la aparición de una tarea específica hasta el final de su ejecución. Consideraremos una situación en la que el tiempo de respuesta de una de las tareas excedió los 50 ciclos de reloj como un accidente.
Determine la cantidad mínima de ticks hasta que aparezca el siguiente trabajo de origen 3 - X, en el cual el sistema funcionará indefinidamente sin situaciones de emergencia.
- Suponemos que en el momento en que aparece la tarea, este es el momento inicial de la medida especificada. En consecuencia, cuando decimos que el ciclo de reloj de la primera tarea de la fuente es 1, y el número de barras hasta la siguiente tarea es 5, la segunda tarea de esta fuente aparecerá al comienzo de la barra 6.
- El tiempo requerido para cambiar para completar la siguiente tarea se considerará insignificante y no se tendrá en cuenta al resolver la tarea.
- Cada fuente tiene una numeración de asignación independiente que comienza en 1.
Respuesta: 24
Se puede encontrar gran información sobre el tema en los cursos de programación temática
de la lista aprobada en el sitio web de la Olimpiada .
Enlaces relacionados adicionales: