JetBrains Academy
The place for learning and teaching computer science your way
Novos projetos e temas da JetBrains Academy: Atualização de abril
Na JetBrains Academy, acreditamos que o aprendizado pode ser educativo e divertido. Nossos projetos mais recentes permitem que você construa seu próprio semáforo, crie um sistema de agendamento de consultas hospitalares e até mesmo um projeto para hackear senhas, combinando aprendizado e diversão.
Este mês, lançamos 10 novos projetos e 36 temas em diversas áreas de programação, incluindo Java, Python, Flask, front-end e ciência de dados. Vejamos mais de perto as novidades do nosso repositório de projetos.
Java
🆕 Projeto: Traffic Light (Beta). Médio
Você sabe como funcionam os semáforos? Neste projeto, você terá a oportunidade de criar uma versão simplificada do seu próprio semáforo e aprender uma variedade de novas habilidades ao longo do processo. Ao final do projeto, você será capaz de trabalhar com multithreading, lidar com exceções, herdar classes e usar a estrutura de dados de fila circular.
🆕 Projeto: Hospital Appointment Booking System (Beta). Difícil
Neste projeto, você aprenderá a criar serviços REST com o Spring Boot e a trabalhar com bancos de dados, JSON e fundamentos da API REST. Usando suas novas habilidades, você desenvolverá um sistema de agendamento baseado em uma API REST que melhorará a administração de hospitais. Os pacientes poderão agendar consultas facilmente, o médico-chefe poderá monitorar as cargas de trabalho dos médicos, e os médicos poderão planejar melhor suas agendas.
🆕 Projeto: Password Hacker (Beta). Desafiador
Prepare-se para entrar no mundo dos hackers com nosso projeto Java! Como hacker, sua missão é se conectar a um servidor secreto sem saber a senha. Por meio desse projeto, você conhecerá as principais ferramentas e técnicas usadas no mundo dos hackers, incluindo iteradores, geradores e o módulo itertools em Java. Você também desenvolverá um aplicativo cliente, se conectará a um servidor usando o módulo socket e, ao mesmo tempo, terá uma compreensão mais profunda sobre JSON e o módulo time.
Além disso, o projeto Meal Planner saiu da fase Beta.
🆕 Temas:
- Organização do código: Thread-safe singleton
- Spring Boot: Custom queries with @Query, Testing repositories
Python
🆕 Projeto: Jeopardy! Question Answering Bot (Beta). Desafiador
Desafie-se com nosso projeto de perguntas e respostas ao estilo Jeopardy!, no qual você criará um bot capaz de responder a perguntas de diversas áreas de conhecimento. Será que você consegue superar o IBM Watson, famoso por vencer humanos neste jogo em 2011? Aprenda a usar algoritmos de incorporação de frases para separar as perguntas de usuários e ganhe insights sobre como preparar um corpus para criar um sistema de perguntas e respostas.
🆕 Projeto: Marathon Runners (Beta). Difícil
Entre no mundo do machine learning, implementando um dos algoritmos mais populares: o k-nearest neighbors (KNN). Nesse projeto, você usará ferramentas Python básicas para desenvolver o algoritmo KNN do zero e resolver problemas de classificação. Você aprenderá sobre os tipos básicos de dados, praticará o uso de funções Python e terá uma introdução à programação orientada a objetos. Além disso, você aprenderá a preparar e normalizar dados antes de os alimentar em um algoritmo de machine learning.
🆕 Projeto: Learning Progress Tracker (Beta). Difícil
Construa uma plataforma educacional para gerenciar matrículas, acompanhar o progresso do aprendizado e fornecer informações detalhadas para usuários e categorias. Você praticará o uso de loops, controles de fluxo, decomposição funcional e princípios SOLID. Saiba como processar strings e aproveitar a framework unittest para garantir um código sem erros. Coleções adequadas, como listas, serão usadas para classificar e filtrar dados.
Além disso, retiramos os projetos Simple Text Summarization, Sorting Tool e Video Game Database da fase Beta, com recursos e funcionalidades aprimorados para os alunos.
Flask
🆕 Projeto: Movie Database API (Beta). Desafiador
Os cinéfilos vão adorar esse novo projeto. Usando um banco de dados de filmes, você aprenderá a usar o SQLAlchemy para projetar e implementar mapeamentos de tabelas de banco de dados, inserir e recuperar dados e filtrar dados criando consultas SQL. Você também obterá uma experiência valiosa com a implementação de modelos de dados e relacionamentos em um esquema de banco de dados. Traga a pipoca e vamos começar!
Além disso, o projeto Memorization Tool saiu da fase Beta.
Front-end
🆕 Projeto: URL Shortener (Beta) Médio.
Neste projeto, você criará uma página Web para encurtar URLs de sites usando HTML e JavaScript. Você também praticará a manipulação do DOM (Document Object Model) para receber informações do usuário e exibir os resultados dinamicamente. Esta é uma ótima oportunidade para aplicar suas habilidades em HTML e JavaScript em um ambiente prático e ganhar experiência prática com desenvolvimento Web.
🆕 Projeto: Dog Glossary (Beta). Difícil
Quem não adora de ver fotos de cachorros fofos online? Crie sua página Web para exibir fotos aleatórias de cães e uma lista de raças usando uma API pública. Este projeto ajudará você a praticar o manuseio de APIs e a melhorar suas habilidades com HTML e JavaScript. Ao recuperar dados de uma API e exibi-los na página da Web, você aprenderá a trabalhar com promises e lidar com diferentes estruturas de dados.
🆕 Temas:
- CSS: Grid gaps, Introduction to Grid
- JavaScript: Local Storage
- Node.js: Working with filesystem, Creation of HTTP server, Querystring module, What is module?
Ciência de dados
🆕 Projeto de Machine learning: Naive Bayes Classifier with Pen and Paper (Beta). Fácil
Nesse projeto, você conhecerá o processo de conversão de palavras em dados numéricos e descobrirá o funcionamento interno do classificador Naive Bayes. Ao trabalhar em um conjunto de dados simples, você se familiarizará com a resolução de problemas de classificação. Também aprenderá sobre identificação de linguagem, uma tarefa crucial no processamento de linguagem natural, e descobrirá como criar um classificador básico apenas com papel e caneta.
Além disso, os projetos Generating Randomness e Linear Regression from Scratch estão agora fora da fase Beta.
🆕 Temas:
- Ferramentas: K-Means em sklearn
- Machine learning: 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 mês, também lançamos uma nova trilha, Game Development with Unity, e atualizamos a trilha Introduction to Natural Language Processing. Veja se você as perdeu.
Kotlin
O projeto Contacts saiu da fase Beta.
🆕 Temas:
- Ktor: WebSockets
- Fluxo de controle: Inline functions and reified types in Kotlin
- Programação orientada a objetos: Infix functions, Operator overloading
- Tipos e estruturas de dados: CharSequence, Type cast and smart cast
Bash (shell Unix)
O projeto Enigma já saiu da fase Beta.
Android
🆕 Tema: Parcel e Bundle
Fundamentos
🆕 Temas:
- Algoritmos e estruturas: Ford-Fulkerson algorithm, DFS-based topological sort, Coding: overview
- Ferramentas de desenvolvimento: Introduction to Kubernetes
- JVM: Parallel GC
- DevOps: Best practices for writing Dockerfiles
- SQL e bancos de dados: Sequences, The WITH statement, Aggregate operations, Explain, Import and export CSV files, Date and Time data types in SQLite
Observe que os projetos marcados como “beta” ainda estão nos estágios iniciais de teste. Se você tem interesse em experimentar projetos Beta na plataforma, verifique se o recurso de testador Beta está habilitado nas suas configurações de perfil.
Isso é tudo para este mês! Esperamos que você ache essas atualizações valiosas e que elas melhorem sua experiência de aprendizado. Como sempre, seus comentários e sugestões são muito bem-vindos, então não hesite em entrar em contato conosco em academy@jetbrains.com ou de compartilhar suas opiniões conosco no Twitter ou Facebook.
Divirta-se aprendendo!
A equipe da JetBrains Academy
Artigo original em inglês por: