Skip to content

emersonpessoa01/RARO-ACADEMY

Repository files navigation

logo-turma-java

🚀 Raro Academy – Turma Java

Este repositório contém informações e referências sobre o curso Turma Java da Raro Academy, uma formação intensiva voltada para desenvolvedores(as) em início de carreira ou em transição, com foco prático e voltado para o mercado de tecnologia.

Linguagens e ferramentas:

logo-insomnia

📚 Conteúdo do Curso

O curso tem duração de 14 semanas e oferece uma abordagem completa, combinando teoria e prática em aulas síncronas. Os principais tópicos abordados incluem:

✅ Sintaxe básica da linguagem Java
✅ Orientação a Objetos (OOP)
✅ Spring Framework e padrões de projeto
✅ Integração com bibliotecas externas (ex: Jackson)
✅ Persistência de dados
✅ HTTP e APIs RESTful
✅ Testes unitários e de ponta a ponta (E2E)
✅ Desenvolvimento de Soft Skills

🧑‍🏫 Metodologia de Ensino

📌 Aulas ao vivo com instrutores especialistas
🧑‍💻 Monitorias e suporte contínuo
📂 Acesso a material didático atualizado e organizado

👨‍🏫 Instrutores

image-rodrigo-sol
Rodrigo Sol
image-marcelo-pinheiro
Marcelo Pinheiro
image-lucas-santana
Lucas Santana
image-bruno-sottomaior
Bruno Sottomaior

O curso conta com profissionais experientes do mercado, incluindo:

  • Rodrigo Sol – Mestre em Ciência da Computação e cofundador da Raro Labs
  • Marcelo Pinheiro – Desenvolvedor Back-End com mais de 10 anos de experiência
  • Lucas Santana – Desenvolvedor Mobile com atuação internacional
  • Bruno Sottomaior – Engenheiro de Software especialista em Java e Spring Boot

👥 Monitores

image-fernanda-cássia
Fernanda Cássia
image-breno-peruchi
Breno Peruchi

O suporte aos alunos é reforçado por monitores dedicados:

  • Fernanda Cássia – Analista de QA com experiência desde 2020, apaixonada por tecnologia e aprendizado contínuo
  • Breno Peruchi – Head da Raro Academy, com background em Jornalismo e Cinema, e transição para o mercado tech em 2021

🎯 Público-Alvo

Este curso é ideal para:

  • Desenvolvedores(as) iniciantes
  • Pessoas em transição de carreira
  • Interessados(as) em aprofundar conhecimentos em Java e frameworks modernos

Pré-requisitos recomendados:

  • Conhecimentos básicos em lógica de programação
  • Noções de orientação a objetos

📎 Para mais detalhes, acesse o site oficial da Raro Academy.


📚 Módulo Introdução - Curso Java

(14 aulas, 2h cada – Detalhamento Completo)

🔹 Aula 1 – Introdução ao Java, Ambiente e Conceitos Básicos

  • História, características e relevância atual da linguagem Java
  • Conceitos importantes: JVM, JRE e JDK
  • Configuração do ambiente de desenvolvimento:
    • Instalação e configuração do JDK
    • Apresentação das principais IDEs (IntelliJ IDEA, Eclipse, VSCode)
  • Estrutura básica de um programa Java
  • Tipos primitivos, variáveis, operadores e expressões básicas
  • Compilação e execução do primeiro programa: "Hello World"

🔹 Aula 2 – Estruturas de Controle, Arrays e Introdução a Testes Unitários

  • Estruturas de controle condicionais:
    • if, if-else, switch
  • Estruturas de repetição:
    • for, while, do-while
  • Introdução a arrays:
    • Arrays unidimensionais e multidimensionais
    • Operações básicas com arrays
  • Introdução prática aos testes unitários com JUnit:
    • Conceito básico de TDD (Test Driven Development)
    • Criando testes simples para estruturas condicionais e loops

🔹 Aula 3 – Fundamentos da Orientação a Objetos

  • Conceitos essenciais da Orientação a Objetos (OOP)
  • Classes e objetos:
    • Declaração e instanciação
    • Atributos, métodos e encapsulamento
    • Modificadores de acesso (public, private, protected)
  • Construtores e sobrecarga de métodos
  • Exercícios práticos com testes unitários aplicando conceitos

🔹 Aula 4 – Herança e Polimorfismo

  • Conceitos fundamentais de herança:
    • Reutilização de código, hierarquias de classes
  • Polimorfismo:
    • Polimorfismo estático (sobrecarga) e dinâmico (sobrescrita)
  • Classes abstratas e interfaces:
    • Aplicações práticas, diferenças fundamentais
  • Implementação de cenários práticos com testes unitários

🔹 Aula 5 – Modelagem e Projeto Orientado a Objetos

  • Introdução à modelagem orientada a objetos
  • UML básico aplicado ao Java:
    • Diagramas de classes, associações, agregação e composição
  • Técnicas práticas para análise e resolução orientada a objetos de problemas reais
  • Exercícios integrados com implementação prática e testes unitários

🔹 Aula 6 – Principais Classes do Pacote java.util

  • Apresentação geral do pacote java.util
  • Classes essenciais:
    • Objects, Arrays, Collections
    • Scanner, Random
    • Date/Calendar
  • Implementação de comparações (Comparable, Comparator)
  • Exercícios com testes unitários utilizando essas classes

🔹 Aula 7 – Fundamentos de Algoritmos

  • Conceitos fundamentais de algoritmos e pseudocódigo
  • Complexidade de algoritmos (introdução simples ao Big-O)
  • Algoritmos essenciais:
    • Busca linear e busca binária
    • Algoritmos básicos de ordenação: bubble sort, selection sort, insertion sort
  • Exercícios práticos com implementação Java e testes unitários

🔹 Aula 8 – Manipulação de Strings, Datas e Arquivos

  • Manipulação avançada de Strings:
    • Classe String, StringBuilder, StringBuffer
  • API moderna de datas com java.time:
    • LocalDate, LocalTime, LocalDateTime, Duration
  • Manipulação de arquivos:
    • IO clássico (File, FileReader, FileWriter)
    • Introdução ao pacote java.nio
  • Exercícios práticos com testes unitários aplicados aos tópicos acima

🔹 Aula 9 – Estruturas de Dados: Collections (Listas, Sets, Filas, Maps)

  • Introdução ao Collections Framework
  • Uso e implementação prática das principais estruturas:
    • Listas (ArrayList, LinkedList)
    • Conjuntos (HashSet, TreeSet)
    • Filas (Queue, PriorityQueue)
    • Mapas (HashMap, TreeMap)
  • Exercícios integrados e implementação com testes unitários

🔹 Aula 10 – Tratamento de Exceções e Reflection

  • Exceções em Java:
    • Conceitos gerais de exceções (try-catch-finally)
    • Checked e unchecked exceptions
    • Criação e uso de exceções customizadas
  • Reflection API:
    • Introdução básica ao Java Reflection
    • Carregamento dinâmico de classes
    • Introspecção e invocação dinâmica de métodos
  • Exemplos práticos com cenários reais e testes unitários

🔹 Aula 11 – Introdução a Threads e Concorrência

  • Fundamentos de threads e multitarefa
  • Implementação básica de threads com Thread e Runnable
  • Concorrência e problemas comuns (race conditions)
  • Técnicas básicas de sincronização (synchronized)
  • Exercícios práticos e testes unitários simples

🔹 Aula 12 – Introdução ao Java Moderno (Lambdas, Streams e Optional)

  • Expressões Lambda:
    • Sintaxe, conceitos fundamentais
  • Interfaces funcionais padrão (Predicate, Function, Consumer, Supplier)
  • API Streams:
    • Processamento funcional de coleções (filtros, mapeamentos e reduções básicas)
  • Uso do Optional:
    • Boas práticas de programação defensiva
  • Exercícios práticos com testes unitários

🔹 Aula 13 – Paradigma Funcional Aplicado ao Java

  • Introdução ao paradigma funcional:
    • Conceitos principais (imutabilidade, funções puras, efeitos colaterais)
  • Funções de alta ordem, composição de funções
  • Streams avançados, operações intermediárias e terminais
  • Aplicações práticas com Java utilizando lambdas, streams e Optional
  • Exercícios avançados e testes unitários associados

🔹 Aula 14 – Boas Práticas e Qualidade de Código

  • Introdução ao Clean Code com Java
  • Princípios SOLID na prática
  • Testes unitários avançados:
    • Técnicas práticas com Mockito (introdução ao mocking)
  • Refatoração prática de código real (exercícios guiados)
  • Revisão e consolidação de melhores práticas ao longo do curso

🎯 Resumo Final (com ordem definitiva):

Aula Título Principal
1 Introdução ao Java e Ambiente
2 Estruturas de Controle, Arrays e Testes Unitários
3 Fundamentos da Orientação a Objetos
4 Herança e Polimorfismo
5 Modelagem e Projeto Orientado a Objetos
6 Principais Classes do pacote java.util
7 Fundamentos de Algoritmos
8 Manipulação de Strings, Datas e Arquivos
9 Estruturas de Dados (Listas, Sets, Filas, Maps)
10 Tratamento de Exceções e Reflection
11 Introdução a Threads e Concorrência
12 Java Moderno (Lambdas, Streams e Optional)
13 Paradigma Funcional aplicado ao Java
14 Boas Práticas e Qualidade de Código

About

Este repositório contém informações e referências sobre o curso Turma Java da Raro Academy, uma formação intensiva voltada para desenvolvedores(as) em início de carreira ou em transição, com foco prático e voltado para o mercado de tecnologia.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Contributors

Languages