Como aprender programação de computadores sem fazer curso?

Pessoal, abri um novo tópico porque tenho dúvidas sobre como aprender programação de computadores sem fazer curso e também não quero que sejam misturadas as respostas que pretendo que sejam enviadas para o novo tópico para não atrapalhar a boa discussão que há no tópico “Como é que crianças sem faculdade aprenderam desenvolvimento de software?”.

Como aprender programação de computadores sem fazer curso?

[quote=assembler]Pessoal, abri um novo tópico porque tenho dúvidas sobre como aprender programação de computadores sem fazer curso e também não quero que sejam misturadas as respostas que pretendo que sejam enviadas para o novo tópico para não atrapalhar a boa discussão que há no tópico “Como é que crianças sem faculdade aprenderam desenvolvimento de software?”.

Como aprender programação de computadores sem fazer curso?

[/quote]

sem ironia, você aprende a programa programando… se você não sabe nada, pega uma apostila online gratuita(Caelum, K19) e comece com elas.

[quote=Kevin_Stortz]
sem ironia, você aprende a programa programando… se você não sabe nada, pega uma apostila online gratuita(Caelum, K19) e comece com elas.[/quote]

Isso é verdade. Para programar é necessáro ler muito e praticar. Recomendo as apostilas da Caelum e os livros Use a cabeça java e Java como programar.

Primeiro, o que você considera como “aprender a programar”.
Descobrir como usar a sintaxe da linguagem? Sinceramente, isso não é programar.
Programar envolve entender o negócio, a razão pela qual um sistema deve ser criado.
Programar envolve interpretação e raciocínio lógico. Não basta apenas ter os ingredientes para fazer um bolo, é preciso saber a quantidade, como e em que momento cada um será adicionado. Senão, corre-se o risco de fazer uma grande porcaria.
Programar é um exercício mental. Mas isso não significa que você vai sentar na frente do computador e pensar na resposta mais adequada a um determinado problema. Você pode criar algoritmos manualmente, esboçar desenhos e uma série de outras coisas para tentar auxiliar a tarefa (incluindo tomar café).
Você precisa aprender a usar abstrações, entender os conceitos do paradigma com o qual está trabalhando, entender e usar padrões de desenvolvimento…
Além de uma série de outras coisas…

Cada um tem seu ritmo e maneira de aprender eu por exemplo aconselho a participar destes cursos livres que são otimos e gratuitos muito melhores que muitas escolas pagas.

cursos.cdtc.org.br

[quote=drsmachado]Primeiro, o que você considera como “aprender a programar”.
Descobrir como usar a sintaxe da linguagem? Sinceramente, isso não é programar.
Programar envolve entender o negócio, a razão pela qual um sistema deve ser criado.
Programar envolve interpretação e raciocínio lógico. Não basta apenas ter os ingredientes para fazer um bolo, é preciso saber a quantidade, como e em que momento cada um será adicionado. Senão, corre-se o risco de fazer uma grande porcaria.
Programar é um exercício mental. Mas isso não significa que você vai sentar na frente do computador e pensar na resposta mais adequada a um determinado problema. Você pode criar algoritmos manualmente, esboçar desenhos e uma série de outras coisas para tentar auxiliar a tarefa (incluindo tomar café).
Você precisa aprender a usar abstrações, entender os conceitos do paradigma com o qual está trabalhando, entender e usar padrões de desenvolvimento…
Além de uma série de outras coisas…[/quote]

Eu acho que isso defini um bom programador e tudo o que apreendeu durante o caminho para se tornar um bom profissional, mas não é necessário para começar.

Programar envolve entender o negócio, a razão pela qual um sistema deve ser criado.
Isso leva anos e muita leitura e conhecimento, não é necessário para o cara criar um hello word.

Programar envolve interpretação e raciocínio lógico. Não basta apenas ter os ingredientes para fazer um bolo, é preciso saber a quantidade, como e em que momento cada um será adicionado.
Racionio lógico se desenvolve e programar é uma ótima forma de fazer isso. Durante o processo de aprendizado o aluno segue a receita do bolo, porém o importante é entender o porque cada ingrediente foi adicionado e em qual sequência. Com o conhecimento adquirido ele vai “cozinhar” outras coisas.

Programar é um exercício mental. Mas isso não significa que você vai sentar na frente do computador e pensar na resposta mais adequada a um determinado problema. Você pode criar algoritmos manualmente, esboçar desenhos e uma série de outras coisas para tentar auxiliar a tarefa (incluindo tomar café).
Isso também faz parte do processo de aprendizado. A medida que a complexidade aumenta ele vai utilizar recursos para formular algorítimos. Algorítmos simples não demandam recursos.

Você precisa aprender a usar abstrações, entender os conceitos do paradigma com o qual está trabalhando, entender e usar padrões de desenvolvimento…
Novamente, criar, mapear e utilizar abstrações serão aprendidas durante o processo.

Para iniciar é necessário partir de algo e algo que seja simples. Tudo o que foi colocado é importante, mas não pré requisito para começar.

X@ndy, quis dizer que ele precisará aprender mais coisas que simplesmente a sintaxe de uma linguagem se ele quiser aprender a programar de verdade.
Copiar e colar código pode ser o início, mas não é o correto.

[quote=drsmachado]X@ndy, quis dizer que ele precisará aprender mais coisas que simplesmente a sintaxe de uma linguagem se ele quiser aprender a programar de verdade.
Copiar e colar código pode ser o início, mas não é o correto.[/quote]

Eu discordo! Tanto que apreendi assim e nem por isso sou um programador copy/paste. Apreender a programar sem um ensino formal é dificil, mas não impossível.

Pensando a grosso modo, eu também comecei com copy/paste, pois nem sabia o que estava fazendo direito. Benefícios disso:

  • Não me fez desanimar no meio do caminho, pelas dificuldades. Aquela enganação própria de que criei um sistema X fez a motivação crescer
  • Fazendo isso, aos poucos comecei a ter mais lógica de programação, entender dos paradigmas, dos negócios (de programação)
  • Facilitou para começar a escrever códigos sem a real necessidade copiar
  • Me fez, talvez, continuar no estágio, pois era mais produtivo, com menos chance de erro (é claro que estagiário está ali para aprender, mas tem limite e a própria cabeça de estagiário faz querer mostrar as coisas da melhor forma possível, pensando apenas na velocidade da entrega)

Mas, também não estou discordando com o drsmachado. Se começarmos a escrever código, a partir de um arquivo de texto, sem auto-complete, aprendemos muito mais e sabemos muito mais do que estamos fazendo. Se forçarmos nossa cabeça a pensar, para realizar coisas que sabemos no dia-a-dia, mas não conseguimos passar para o código-fonte por falta de lógica de programação, (como por exemplo fazer um fatorial, ou somar frações) com certeza ajudará muito na lógica para outras coisas.

Respondendo ao autor do tópico

  • A melhor forma que eu vejo é estudando materiais pela internet, que tem aos montes, e praticando muuuito. Fazendo as coisas das apostilas, criando projetos pessoais.
  • Outras formas que algumas pessoas aprendem é pegar um projeto pronto e estudar este código, baixar e depurar (mas isso é complementar, não se aprende a programar olhando, e sim programando)

É possivel sim aprender a programar sem curso algum,mas eu axo que fazer um curso tecnico melhora a experiencia de programar,
ter sempre um cara lá disposto a tirar suas duvidas,a competição que rola entre os alunos pra ver “quem programa mais”,são coisas otimas…
Eu pelo menos adoro a experiencia de sala de aula,estou terminando o nivel tecnico e pretendo realizar algum treinamento ano que vem e faculdade…
Se você é novo procure bolsas que o governo oferece(geralmente não são cursos bons,mas se você tiver fome de conhecimento vai aprender muito).

o melhor Video Aulas Nery… hehehehe

[quote=igor_ks]Pensando a grosso modo, eu também comecei com copy/paste, pois nem sabia o que estava fazendo direito. Benefícios disso:

  • Não me fez desanimar no meio do caminho, pelas dificuldades. Aquela enganação própria de que criei um sistema X fez a motivação crescer
  • Fazendo isso, aos poucos comecei a ter mais lógica de programação, entender dos paradigmas, dos negócios (de programação)
  • Facilitou para começar a escrever códigos sem a real necessidade copiar
  • Me fez, talvez, continuar no estágio, pois era mais produtivo, com menos chance de erro (é claro que estagiário está ali para aprender, mas tem limite e a própria cabeça de estagiário faz querer mostrar as coisas da melhor forma possível, pensando apenas na velocidade da entrega)

Mas, também não estou discordando com o drsmachado. Se começarmos a escrever código, a partir de um arquivo de texto, sem auto-complete, aprendemos muito mais e sabemos muito mais do que estamos fazendo. Se forçarmos nossa cabeça a pensar, para realizar coisas que sabemos no dia-a-dia, mas não conseguimos passar para o código-fonte por falta de lógica de programação, (como por exemplo fazer um fatorial, ou somar frações) com certeza ajudará muito na lógica para outras coisas.
[/quote]

Ai que está, isso faz parte da aprendizagem. Claro, tem muito programador “copy/paste” no mercado com anos de “experiência” mas esse não está interesado em apreender, a descobrir coisas novas.

O que ele colocou eu acredito que faz parte do processo de aprendizagem. É aquilo que o programador deve buscar e isso leva anos, sempre lembrando que a atividade de programação é de aprendizado continuo pois existem n linguagens, n paradigmas, n frameworks a serem prendidos.

[quote=Slow17]É possivel sim aprender a programar sem curso algum,mas eu axo que fazer um curso tecnico melhora a experiencia de programar,
ter sempre um cara lá disposto a tirar suas duvidas,a competição que rola entre os alunos pra ver “quem programa mais”,são coisas otimas…
Eu pelo menos adoro a experiencia de sala de aula,estou terminando o nivel tecnico e pretendo realizar algum treinamento ano que vem e faculdade…
Se você é novo procure bolsas que o governo oferece(geralmente não são cursos bons,mas se você tiver fome de conhecimento vai aprender muito).
[/quote]

Sim, na verdade é até mais rapido. Aprender a programar sozinho é bem dificil por não ter alguém para tirar as duvidas. Embora existam foruns como esse, no começo é dificil até expresar uma dúvida.

Da mesma forma que se aprende qualquer outra coisa na vida sem curso: correndo atrás de quem sabe, pegando os macetes, lendo livros, assistindo tutoriais no youtube.

Até para aprender a fazer arroz, não tive nenhuma vergonha de perguntar ao google: ficou uma beleza!

Eu aconselho o livro do deitel, java como programar.

Leia e faça os exercicios de todos os tópicos fundamentais da linguagem.

Depois desenvolva um aplicativo e tente colocar tudo o que você aprendeu, parte por parte, mesmo que algo pareça desnecessário ou pouco prático.

Acho que o segredo é praticar.

[quote=x@ndy][quote=Slow17]É possivel sim aprender a programar sem curso algum,mas eu axo que fazer um curso tecnico melhora a experiencia de programar,
ter sempre um cara lá disposto a tirar suas duvidas,a competição que rola entre os alunos pra ver “quem programa mais”,são coisas otimas…
Eu pelo menos adoro a experiencia de sala de aula,estou terminando o nivel tecnico e pretendo realizar algum treinamento ano que vem e faculdade…
Se você é novo procure bolsas que o governo oferece(geralmente não são cursos bons,mas se você tiver fome de conhecimento vai aprender muito).
[/quote]

Sim, na verdade é até mais rapido. Aprender a programar sozinho é bem dificil por não ter alguém para tirar as duvidas. Embora existam foruns como esse, no começo é dificil até expresar uma dúvida.[/quote]

O pior problema de querer aprender sozinho se baseando só em livros e fóruns, e digo por experiência própria, é quando você descobre que algo que parece ser simples para leigos, é na verdade bem mais complicado…

As vezes você vem no fórum pra solucionar um problema que julga ser simples, mas descobre que muita coisa acontece por trás da instrução que você roda, e aí dá um nó daqueles na cabeça…

:stuck_out_tongue:

Basta ter vontade e se cercar de recursos para pesquisa, e perguntar sem medo, muita coisa eu aprendi aqui no GUJ, coisas que nos cursos e livros que fiz não tinha conseguido entender.

Eu aprendi basic quando tinha 15 anos, basicamente lendo o help do qbasic. Visual basic tb, a mesma coisa, basicamente lendo o help e olhando os exemplos que tinha ali.

Obvio que com o tempo tu naturalmente vai sentir a necessidade de se aprofundar, vai ter que aprender técnicas…mas o começo só com a mão na massa.

edit: Aprender fazendo é natural ao ser humano, toda criança aprende a falar escutando e tentando reproduzir o que escutou. Se aprende a andar, andando, mesmo sem ter nem ideia de como os musculos se comportam ao se movimentar.Assim como é mil vezez melhor aprender outra lingua usando ela, melhor ainda, falando ela.

Fazer um projeto é melhor forma, tipo aqueles sistemas de padaria mesmo, que envolva tabelas, valores e regras de negocios.

E correr atrás para fazer o que não sabe.