JetBrains Academy
The place for learning and teaching computer science your way
Nuevos proyectos y temas de JetBrains Academy: actualización de Abril
En JetBrains Academy, creemos que la formación puede ser a la vez educativa y entretenida. Con nuestros proyectos más recientes, podrá construir su propio semáforo, crear un sistema de reserva de citas médicas e incluso hackear contraseñas: formación y diversión, todo en uno.
Este mes hemos lanzado 10 proyectos nuevos y 36 temas en distintas áreas de programación, entre las que se incluyen Java, Python, Flask, frontend y ciencia de datos. Veamos las novedades de nuestro repositorio de proyectos con más detalle.
Java
🆕 Proyecto: Traffic Light (Beta). Medio
¿Sabe cómo funcionan los semáforos? En este proyecto, podrá crear una versión simplificada de su propio semáforo y aprender mucho por el camino. Al final del proyecto, podrá trabajar con varios subprocesos, gestionar excepciones, heredar clases y utilizar la estructura de datos de cola circular.
🆕 Proyecto: Hospital Appointment Booking System (Beta). Difícil
En este proyecto, aprenderá a construir servicios REST con Spring Boot y a trabajar con bases de datos, JSON y conceptos básicos de la API de REST. Con estas nuevas habilidades, desarrollará un sistema de citas basado en una API de REST que mejorará la gestión hospitalaria. Los pacientes pueden pedir citas fácilmente, el médico responsable puede controlar la carga de trabajo de los sanitarios y estos pueden planificar mejor sus jornadas.
🆕 Proyecto: Password Hacker (Beta). Muy difícil
¡Prepárese para entrar en el mundo del hackeo con este proyecto de Java! Como hacker, su misión será conectarse a un servidor secreto sin conocer la contraseña. En este proyecto, aprenderá qué herramientas y técnicas clave se utilizan en el hackeo, incluidos los iteradores, los generadores y el módulo itertools de Java. También desarrollará una aplicación cliente y se conectará a un servidor utilizando el módulo Socket, a la vez que profundiza en el conocimiento de JSON y el módulo Time.
Además, el proyecto Meal Planner ha salido de Beta.
🆕 Temas:
- Organización del código: Thread-safe singleton
- Spring Boot: Custom queries with @Query, Testing repositories
Python
🆕 Proyecto: Jeopardy! Question Answering Bot (Beta). Muy difícil
Póngase a prueba con este proyecto de preguntas y respuestas al puro estilo de Jeopardy! en el que creará un bot capaz de responder a preguntas de diversos temas. ¿Podrá superar a IBM Watson, que venció a los humanos en este juego en 2011? Aprenda a utilizar algoritmos de incrustación de frases para separar las preguntas de los usuarios y conozca mejor cómo preparar un corpus para crear un sistema de preguntas y respuestas.
🆕 Proyecto: Marathon Runners (Beta). Difícil
Adéntrese en el aprendizaje automático con uno de los algoritmos más famosos: el algoritmo k-nearest neighbors (KNN). En este proyecto, utilizará herramientas básicas de Python para codificar el algoritmo KNN desde cero y resolver problemas de clasificación. Aprenderá qué tipos de datos básicos existen, practicará el uso de funciones de Python y dará sus primeros pasos en la programación orientada a objetos. Además, aprenderá cómo se preparan y normalizan los datos antes de introducirlos en un algoritmo de aprendizaje automático.
🆕 Proyecto: Learning Progress Tracker (Beta). Difícil
Construya una plataforma de formación donde gestionar inscripciones, hacer un seguimiento del aprendizaje y proporcionar información detallada para los usuarios y las categorías. Practicará el uso de bucles, controles de flujo, descomposición funcional y principios SOLID. Aprenderá a procesar cadenas y a cómo aprovechar el marco de trabajo unittest para asegurarse de que no hay errores en el código. Para ordenar y filtrar datos, utilizará colecciones adecuadas, tales como las listas.
Además, los proyectos Simple Text Summarization, Sorting Tool y Video Game Database han salido de la fase Beta, con características y funcionalidades mejoradas para los alumnos.
Flask
🆕 Proyecto: Movie Database API (Beta). Muy difícil
A los cinéfilos les encantará este nuevo proyecto. Con una base de datos de películas, aprenderá a usar SQLAlchemy para diseñar e implementar asignaciones de tablas de bases de datos, insertar y recuperar datos y filtrar datos con consultas SQL. También aprenderá a implementar modelos de datos y relaciones en un esquema de base de datos. ¡Coja las palomitas y empecemos!
Además, el proyecto Memorization Tool ha salido de Beta.
Frontend
🆕 Proyecto: URL Shortener (Beta) Medio
En este proyecto, creará una página web para acortar URL de sitios web con HTML y JavaScript. También practicará la manipulación del Document Object Model para tomar los datos del usuario y mostrar los resultados de forma dinámica. Es una oportunidad magnífica para aplicar sus conocimientos de HTML y JavaScript en un entorno práctico y adquirir experiencia con el desarrollo web.
🆕 Proyecto: Dog Glossary (Beta). Difícil
¿A quién no le gusta ver fotos bonitas de perros en Internet? Cree una web donde mostrar fotos aleatorias de perros y una lista de razas de perros utilizando una API pública. Con este proyecto, podrá practicar la gestión de las API y mejorar sus habilidades en HTML y JavaScript. Gracias a la obtención de datos de una API y la visualización de estos en la web, aprenderá a trabajar con promesas y a manejar diferentes estructuras de datos.
🆕 Temas:
- CSS: Grid gaps, Introduction to Grid
- JavaScript: Local Storage
- Node.js: Working with filesystem, Creation of HTTP server, Querystring module, What is module?
Ciencia de datos
🆕 Proyecto de aprendizaje automático: Naive Bayes Classifier with Pen and Paper (Beta). Fácil
En este proyecto, profundizará en el proceso de conversión de palabras en datos numéricos y descubrirá el funcionamiento interno del clasificador Naive Bayes. Gracias a que trabajará con un conjunto sencillo de datos, se familiarizará con la resolución de problemas de clasificación. También practicará a identificar lenguajes, una tarea crucial en el procesamiento del lenguaje natural, y aprenderá a crear un clasificador básico con papel y boli.
Además, han salido de Beta los proyectos Generating Randomness y Linear Regression from Scratch.
🆕 Temas:
- Herramientas: K-Means in sklearn
- Aprendizaje automático: Basics of neural network architecture, MAE, Introduction to Question Answering
- NLP: Knowledge-based QA, Machine Reading Comprehension & Logical Reasoning QA, Open-domain and close-domain QA
Este mes, también hemos lanzado el itinerario Game Development with Unity y hemos actualizado el de Introduction to Natural Language Processing. Puede echarles aquí un vistazo si se lo perdió.
Kotlin
El proyecto Contacts ha salido de Beta.
🆕 Temas:
- Ktor: WebSockets
- Flujo de control: Inline functions and reified types in Kotlin
- Programación orientada a objetos: Infix functions, Operator overloading
- Tipos y estructuras de datos: CharSequence, Type cast and smart cast
Bash (shell Unix)
El proyecto Enigma ha salido de Beta.
Android
🆕 Tema: Parcel and Bundle
Fundamentos
🆕 Temas:
- Algoritmos y estructuras: Ford-Fulkerson algorithm, DFS-based topological sort, Coding: overview
- Herramientas de desarrollo: Introduction to Kubernetes
- JVM: Parallel GC
- Desarrollo y operaciones: Best practices for writing Dockerfiles
- SQL y bases de datos: Sequences, The WITH statement, Aggregate operations, Explain, Import and export CSV files, Date and Time data types in SQLite
Tenga en cuenta que los proyectos en fase Beta están todavía en las primeras fases de prueba. Si le interesa conocer qué proyectos en Beta hay disponibles en la plataforma, asegúrese de que la funcionalidad Beta-tester esté activada en la configuración del perfil.
¡Estas son las novedades de este mes! Esperamos que estas actualizaciones le resulten útiles y mejoren su experiencia de aprendizaje. Como siempre, nos encantaría que nos enviase sus comentarios y sugerencias, así que no dude en escribirnos a academy@jetbrains.com o en compartir su opinión en Twitter o Facebook.
¡Disfrute aprendiendo!
El equipo de JetBrains Academy
Artículo original en inglés de: