Dicas para melhorar apostilas FJ-11 da Caelum

Olá, bem, estou aprendendo Java na faculdade e estou complementando meus estudos com a FJ-11 da Caelum.

Primeiramente gostaria de parabenizar a equipe da Caelum, a apostila é muito boa, porém, tem algumas coisas que ficam meio vagas, creio que isso ocorre com todos.

Bem, enfim, gostaria de criar um tópico aqui, onde todos possam enviar dicas e sugestões para melhorar a apostila, e também, ajudar quem está com alguma dúvida em alguma parte da apostila.

Vou começar, sugerindo uma coisa:

Estou no capítulo 11 da apostila (controlando os erros com excessões) e ao adicionar throws FileNotFoundException no código, sempre obtinha um erro: FileNotFoundEsception cannot be resolved to a type. Após pesquisar um pouco, descobri que para este exemplo, é necessário se importar uma biblioteca, sendo ela: import java.io.FileNotFoundException;

Enfim, acho que seria interessante se na apostila estivesse explicito que é necessário importar essa biblioteca, pois, quem está estudando pela mesma, ainda nem sabe o que é um import, e então, fica impossível testar as excessões…

É isso, quem tiver mais sugestões, pode contribuir também, para tornar a apostila melhor ainda do que já é :smiley:

T+

Se não me engano, nessa altura a apostila já esta usando o eclipse para os exemplos e ai basta executar o atalho para os imports serem adicionados automaticamente.

Sim, todos os exemplos utilizam o eclipse, o problema, é que nesse ponto da apostila, ainda nem foi dito o que é um “import”, então, pra quem está aprendendo com a apostila (iniciante de verdade), sem o auxílio de um professor ou conhecimento de outra linguagem, fica difícil descobrir o problema… e mesmo vendo a sugestão de importação automática do eclipse, não saberá do que se trata…

Seria mais fácil se no início do capítulo (ou dos exemplos) estivesse explícito que se deve colocar a linha “import java.io.FileNotFoundException;”, e dizendo que mais pra frente seria explicado o porque desta linha…

t+

se o kra chegou no capitulo 11 de uma apostila e não souber importar uma classe q está faltando ai não é a apostila q tá errada.

Mas as pessoas normalmente não lêem linearmente as apostilas ou livros, portanto pode ser que você saiba um recurso avançado antes de saber um recurso básico, e não tenha a prática de usar Ctrl+Shift+Alt+Window+X ou outros atalhos do Eclipse. É sempre bom pôr (mesmo que seja um rodapé) a história do “import”.

Ola Cristiano, o problema, é que mesmo seguindo a apostila, até agora nao foi falado nada de imports… e pra quem não sabe nada, e está realmente aprendendo java do zero, nem sabe o que é uma biblioteca… aí fica difícil. Creio que com uma nota de pelo menos dizendo pra importar a biblioteca facilitaria bastante, e tendo em vista que incluir essa informação é bem simples :slight_smile:

t+

Como já foi bastante discutido aqui no GUJ, as apostilas da caelum são para serem usadas durante o curso, logo, quem apenas as le pode ficar ‘boiando’…

quanto as exceptions, de uma olhada nesse link:
http://lucabastos.blogspot.com/search/label/Exceptions

apenas uma opinião.

ele não tinha visto um material a respeito ainda, se virou sozinho para descobrir o problema, e veio com boa vontade (ao menos creio eu, ja que li a paalvra “sugestão”), e a duvida dele pode ser de outros tb… essa é uma utilidade de deixar nos tópicos do forum a resolução do problema que teve…

Cheguei no capitulo 12 e olhem o nome do capítulo: “Pacotes - Organizando suas classes e bibliotecas”

Agora estão explicando o que são packages, imports, etc., então, pra quem está seguindo a apostila inteira (como eu), ainda não saberá o que é um import no capítulo 11, com isso, com certeza não tirará tanto proveito do capítulo de excessções se não conseguir executar seus exemplos (sem importar java.io.FileNotFoundException. Por isso fiz o tópico, para que todos possam deixar dicas aqui, e sugestões, para talvez serem inseridas nas apostilas para ajudar quem está começando nessa linguagem.

Devo dizer novamente que esta apostila é muito boa :), explica muito bem os temas abordados e com exercícios bem interessantes…

é que a apostila deu a dica do ctrl + espaço

a idéia é não preocupar o aluno com coisa demais no começo

Certo, entendo, mas acho que ficaria ainda melhor a apostila se simplesmente dissessem pra inserir a linha do import la sem se preocupar com o que o mesmo significa…

t+

Acho a dica bem válida, mas seria interessante falar sobre alguns pontos:

  • As apostilas da Caelum são material de apoio dos cursos, muita coisa não está escrito nelas para serem discutidas em sala de aula com o instrutor.

  • Se você ler o método de ensino da Caelum, vai ver que eles primam por não tratar assuntos não relevantes ao tópico que está sendo ensinado, por exemplo, no capítulo de exceções, o foco não são os imports. Java é muito amplo e detalhado, é impossível ensinar um tópico falando sobre tudo que envolve o código.

  • Ok, mas sem os imports o código não funciona, então porque não tem os imports ali? Se você ler a apostila inteira, no capítulo que trata do Eclipse você vai ver que é ensinado ao aluno ali os atalhos do Eclipse, ali o aluno começa a ver que embora o código do Java seja muito detalhista, ele não precisa escrever tudo, pois existem ferramentas para auxiliar nesse trabalho e justamente por isso os blocos de código que tem ajuda do eclipse não são escritos na apostila, para incentivar o aluno a aprender a trabalhar com o Eclipse!

As dicas são válidas, mas elas fogem do propósito das apostilas, que é de servir de material de apoio para os cursos.

No caso essa dica seria válida para um “Livro da Caelum”, e não para as apostilas!

Só para deixar claro, eu fiz o curso FJ-11 e também concordo que a apostila pode ser melhorada (embora seja excelente), mas em outros aspectos!

Concordo com o André. Acho que, mesmo sendo proposto no início da apostila não se aprofundar em algo que não seja prioridade, seria legal ele colocarem a linha do import no código exemplo.

Também concordo com “F?io” (rsrs que f***), pq esse realmente não é o objetivo principal da apostila (pra quem não faz os cursos da Caelum acaba sendo um concessão e, ainda bem que existe).

Mas a minha opinião é de que melhorias sempre serão bem-vindas e acho que essa é a proposta do tópico, não reclamar da apostila e sim propor “melhorias” que facilitariam a vida de quem a usa como uma fonte primária de conhecimento em java.

Gosto destas opiniões divergentes, pois acredito que sejam muito produtivas colocando diferentes pesos nos dois lados da balança e agregando diferentes visões da situação.

Parabéns a todos pelos comentários bem feitos e bem fundamentados…

Não é generics no meu nome não, é Fábio!, mas o Fórum não aceita acento e eu não consigo mudar, nem acho alguem que consiga hauahu

Blz, vlw, a ideia é essa msm, propor melhorias pras apostilas da Caelum ficarem ainda melhores do que ja sao :),

t+

É tinha visto na sua assinatura… Vc registrou com caractere acentuado né… Será que não dá pra pedir pros caras desativarem esse usuário e criar um novo com o nome certo? Daí talvez conseguissem passar suas mensagens e tópicos pro “novo” usuário…

É só pedir p/ mudarem o nome…

É só pedir p/ mudarem o nome…[/quote]

Pedir pra quem? :confused:

Paulo Silveira ou qqr outro administrador.

queria que inserissem as resoluções dos desafios da apostila.

exemplo: fiz o desafio do início da apostila pag. 58 nº 1,

[quote]1) Um método pode chamar ele mesmo. Chamamos isso de recursão. Você pode resolver a série de fibonacci
usando um método que chama ele mesmo. O objetivo é você criar uma classe, que possa ser usada da
seguinte maneira:
Fibonacci fibo = new Fibonacci();
int i = fibo.calculaFibonacci(5);
System.out.println(i);
Aqui imprimirá 8, já que este é o sexto número da série.
Este método calculaFibonacci não pode ter nenhum laço, só pode chamar ele mesmo como método. Pense
nele como uma função, que usa a própria função para calcular o resultado.
2) Por que o modo acima é extremamente mais lento para calcular a série do que o modo iterativo (que se usa
um laço)?
3) Escreva o método recursivo novamente, usando apenas uma linha. Para isso, pesquise sobre o operador
condicional ternário. (ternary operator)[/quote]

bem resolvi sem utilizar laços mas acho q não era assim q era pra resolver:

class FibonaciProgram{//1,1,2,3,5,8,13,21,... int i=2; public static void main(String[]args){ FibonaciProgram fibo=new FibonaciProgram(); fibo.calculaFibonacci(1,1,5); } void calculaFibonacci(int y,int x,int limite){ y=y+x; ++i; if (i==limite)System.out.println(y+x); x=y+x; ++i; if (i==limite)System.out.println(y+x); if(i<limite)calculaFibonacci(y,x,limite); } }