Onde aprender nível intermediário/avançado de Java?

Oi, galera. Seguinte, eu acabei um curso no Udemy: Fundamentos de Programação com Java
em que aprendi o nível básico e lógica de programação em Java. Gostei muito. Agora queria passar para o nível intermediário. Vocês podem sugerir algum curso (na Udemy ou não) ou algum material onde eu posso aprender de forma sistemática?

Se você já tem uma sólida formação em engenharia de software, algoritmos e estrutura de dados eu recomendaria ler alguns livros sobre Java que abrangem a linguagem de forma sistemática:

Use a cabeça! Java - Um bom livro para você praticar e entender o funcionamento de bibliotecas padrão da plataforma Java. Além de possuir alguns desafios e exercícios de programação.
Java - Como Programar - do Deitel (Oferece várias edições) - Livro completo sobre Java para todos os níveis.

Caso ainda só tenha estudado lógica de programação, procure entender mais sobre como construir
programas de forma eficiente e técnicas que vão te tornar um excelente programador.
Recomendo a trilha de estudos que indico logo abaixo:
Algorithms, 4th Edition - Robert Sedgewick (Em inglês) - Excelente livro que além de te ensinar muitos recursos úteis do Java, ensina algoritmos e técnicas para construir e abstrair dados para resolver diversos tipos de problema.

As vezes pensamos que sabemos tudo sobre Orientação a objeto usando Java para isso. Bem, depois de assistir esse curso grátis do ITA, no site do Coursera, aumentei a minha experiência ao aprender técnicas para construir, testar e depurar programas em Java de forma otimizada. Excelente se você deseja aproveitar o máximo da linguagem e se tornar um ótimo programador e conhecer bem as técnicas de OO que Java oferece.
SIte do curso: Coursera- OO com Java

Você não precisa seguir a trilha passo a passo. Eu recomendo ler alguns tópicos que você ainda não viu nos livros que indiquei e aprender sobre engenharia de software em cursos, apostilas e livros. Além disso, procure exercitar tudo que aprendeu e tirar dúvidas em fóruns como este (GUJ) ou mesmo o Stack Overflow.
Além de aprender a programar em qualquer linguagem, creio que será também um expert em Java.
Bons estudos!

1 curtida

Muito obrigado!!!
Eu estou fazendo um curso de Web lá na Udemy também, quero aprender JavaScript lá. Você acha que vai ajudar? Manter estudos nas duas linguagens ao mesmo tempo

Eu recomendo a você a aprender técnica de programação, algoritmos e estrutura de dados dos livros que citei ou qualquer outro curso na internet sobre. No Udemy mesmo, por exemplo. Depois aprenda outras linguagens como JavaScript.
O ideal é aprender os conceitos, matemática e lógica.
Lembre-se, a linguagem é só uma ferramenta. O que saber fazer com elas é a ARTE de programar.
Você pode usar o JavaScript para aprender os conceitos que aprendeu, pois sendo uma linguagem voltada para Web, será divertido construir programas e elementos e vê-los em tela. Em java, isso seria mais complicado, por exemplo. Enfim, experimente e defina a melhor linguagem para você aprender de fato, depois brinque com elas ao final.

Sendo bem sincero, dificilmente um livro vai te dar o conhecimento que você busca.
Só experiência e isso só vem com desenvolvimento real

1 curtida

Eu comecei a aprender algoritmos e estrutura de dados, além de fundamentos matemáticos para ciência da computação na linguagem C. Com o tempo, resolvendo problemas e desafios lógicos, a prática da programação evoluiu minhas habilidades e passei a desenvolver apps em Java e JavaScript. No entanto, foi de suma importância ler livros sobre onde, como e o que fazer para resolver um problema. Afinal, aprender um pouco de uma determinada linguagem te dará algumas habilidades para criar algo, entender os fundamentos da computação e resolvê-los te levará ainda mais longe.

Brother, O livro vai ter dar um universo do tipo sandbox: uma caixinha de areia onde tudo funciona quase 100%.
Agora, pouquíssimos livros te orientam acerca de problemas comuns durante o desenvolvimento e como resolvê-los.
Como tratar bugs? Como usar logs de maneira adequada? Como lidar com código legado ruim, prazo apertado e a necessidade de escolher entre usar boas práticas ou entregar o projeto sem atraso?

Livros são, sim, muito importantes. Assim como apostilas, vídeo aulas, fóruns, etc. Conhecimento é sempre bem vindo.
Eu concordo que livros são um primeiro contato, uma porta de entrada, além disso, creio que eles são ótimas fontes de consulta.
Mas, sem o dia a dia, você fica limitado.

Por exemplo, eu me considerava um excelente programador java, até me deparar com o livro e as ideias do clean code. Tive que, praticamente, reaprender a programar.

E essa é a minha opinião pessoal e particular.

2 curtidas