Skip to content

Java Challenge é uma iniciativa para os estudantes inciantes da Turma 4 do Programa 1000Devs, da mesttra em parceria com a J&J Medtech e o Hospital Albert Einstein.

Notifications You must be signed in to change notification settings

Jorgeluisreis/JavaChallenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

Logo

Java Challenge

Este repositório foi criado para a documentação de aprendizado, principalmente para ser usado para os iniciantes do programa 1000Devs Turma 4. Nele será abordado a parte teórica e prática de cada tópico aqui apresentado.

Roadmap de Estudos em Java

Este roadmap foi criado para te guiar desde os fundamentos até tópicos mais avançados em Java. O plano foi organizado para que você possa estudar de forma consistente, praticando boas práticas e aumentando gradualmente a complexidade dos tópicos.

1. Fundamentos do Java (1 a 2 semanas)

Tópico Atividades Links
História do Java e JVM Estudar como a JVM funciona. História do Java e JVM
Tipos de dados e operadores Resolver problemas básicos de lógica no console. Tipos de dados e operadores
Controle de fluxo Criar pequenos programas com if/else, switch, laços (for, while). Controle de fluxo
Métodos e escopo de variáveis Implementar funções para cálculos matemáticos básicos. Métodos e escopo de variáveis
Manipulação de Strings Simular operações com Strings. Manipulação de Strings
Calculadora Simples Criar um programa que solicita dois números e uma operação matemática. Calculadora Simples

Duração: 1-2 semanas (1 hora por dia)
Tempo por tópico: 2-3 dias


2. Estruturas de Dados e Coleções (2 a 3 semanas)

Tópico Atividades Links
Iteradores Praticar a navegação por coleções utilizando Iteradores, com métodos que encapsulam essa lógica. Iteradores
Métodos Criar métodos reutilizáveis para manipular Arrays, Listas, Sets e Mapas de forma eficiente. Métodos
Arrays e Matrizes Aplicabilidade na prática entre Arrays e Matrizes, implementando métodos para manipulação. Arrays e Matrizes
Listas, Sets e Mapas A importância de Coleções em Java para manipular grandes volumes, com métodos de busca e inserção. Listas, Sets e Maps
Sistema de Cadastro Simples Um sistema de cadastro de pessoas abordando tudo que foi estudado até aqui. Sistema de Cadastro Simples

Duração: 2-3 semanas (1 hora por dia)
Tempo por tópico: 2-3 dias


3. Orientação a Objetos (2 a 3 semanas)

Tópico Atividades
Classes e Objetos Criar um sistema simples (ex: gerenciador de biblioteca ou loja de produtos).
Encapsulamento, Herança, Polimorfismo Implementar exemplos práticos com herança e polimorfismo.
Modificadores de acesso Praticar o uso de public, private, protected em um sistema de cadastro.
Construtores e destrutores Simular a criação e destruição de objetos.

Duração: 2-3 semanas (1-1.5 horas por dia)
Tempo por tópico: 3-5 dias

4. Exceções e Manipulação de Arquivos (1 semana)

Tópico Atividades
Bloco try, catch, finally Manipular exceções básicas em programas.
Exceções Personalizadas Criar suas próprias exceções para tratamentos específicos.
Leitura e escrita de arquivos Criar um sistema de logs ou gerenciador de cadastro com manipulação de arquivos.

Duração: 1 semana (1-1.5 horas por dia)
Tempo por tópico: 3-4 dias para exceções, restante para arquivos


5. Programação Funcional e Streams (1 semana)

Tópico Atividades
Interfaces Funcionais Estudar interfaces funcionais.
Lambda Expressions Praticar uso de expressões lambda em coleções.
Stream API Criar programas que usam Stream API para manipular listas e coleções.

Duração: 1 semana (1-1.5 horas por dia)


6. Banco de Dados e JDBC (2 semanas)

Tópico Atividades
Bancos de dados relacionais Estudar como funcionam os bancos de dados relacionais (ex: MySQL).
JDBC Conectar e executar consultas usando JDBC.
ORM (Hibernate) Introdução ao Hibernate para mapeamento objeto-relacional.

Duração: 2 semanas (1-1.5 horas por dia)
Tempo por tópico: 4-5 dias para JDBC, restante para Hibernate


7. Multithreading e Concorrência (2 semanas)

Tópico Atividades
Threads e ciclo de vida Criar programas que processam tarefas em paralelo usando threads.
Synchronized e Locks Praticar controle de concorrência com synchronized e Locks.
ExecutorService e Callable Implementar ExecutorService e tarefas assíncronas.

Duração: 2 semanas (1-1.5 horas por dia)


8. Java Avançado: Spring Framework (3 a 4 semanas)

Tópico Atividades
Injeção de Dependência Praticar DI em projetos Spring Boot.
Spring Boot Criar um projeto básico com Spring Boot.
Spring Data JPA Implementar CRUD com Spring Data JPA.
APIs RESTful Desenvolver uma API completa com Spring Boot.

Duração: 3-4 semanas (1.5-2 horas por dia)


9. Testes Automatizados (1 a 2 semanas)

Tópico Atividades
JUnit 5 Criar testes unitários para funcionalidades anteriores.
Mockito Utilizar Mockito para simulação de dependências nos testes.
Testes de Integração Implementar testes de integração para serviços RESTful.

Duração: 1-2 semanas (1 hora por dia)

About

Java Challenge é uma iniciativa para os estudantes inciantes da Turma 4 do Programa 1000Devs, da mesttra em parceria com a J&J Medtech e o Hospital Albert Einstein.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages