Melhores maneiras de ensinar um novato para programar?

votos
325

Pergunta original

Atualmente, estou empenhado em ensinar o meu irmão para o programa. Ele é um novato total, mas muito inteligente. (E ele realmente quer aprender). Tenho notado que algumas das nossas sessões de ter se atolar em detalhes menores, e eu não sinto que eu tenho muito organizado. ( Mas as respostas para este post têm ajudado muito. )

O que posso fazer melhor para ensiná-lo de forma eficaz? Existe uma ordem lógica que eu posso usar para executar através conceito pelo conceito? Há complexidades que eu deveria evitar até mais tarde?

A linguagem que estão trabalhando com é Python , mas o conselho em qualquer língua é bem-vinda.


Como ajudar

Se você tem bons por favor, adicionar o seguinte em sua resposta:

  • Exercícios iniciantes e Idéias de Projetos
  • Recursos para iniciantes de ensino
  • Screencasts / posts / e-books gratuitos
  • livros impressos que são boas para iniciantes

Por favor, descreva o recurso com um link para ele para que eu possa dar uma olhada. Eu quero que todos saibam que eu definitivamente tenho usado algumas dessas idéias. Suas submissões serão agregados neste post.


Recursos on-line para ensinar iniciantes:


Livros de impressão recomendado para iniciantes de ensino

Publicado 06/08/2008 em 06:01
fonte usuário
Em outras línguas...                            


86 respostas

votos
118

Eu tive que trabalhar com vários iniciante (nunca escreveu uma linha de código) programadores, e eu vou estar fazendo um depois oficina escola com estudantes do ensino médio neste outono. Esta é a coisa mais próxima que eu tenho de documentação. Ainda é um trabalho em andamento, mas espero que ajude.

1) FizzBuzz. Comece com programas de linha de comando. Você pode escrever alguns jogos divertidos, ou ferramentas, muito rapidamente, e você aprende todos os recursos de linguagem muito rapidamente sem ter que aprender as ferramentas GUI em primeiro lugar. Estes primeiros aplicativos deve ser simples o suficiente para que você não vai precisar usar todas as ferramentas reais de depuração para fazê-los funcionar.

Se nada as outras coisas como FizzBuzz são bons projetos. Seus primeiros aplicativos não deveria ter que lidar com bancos de dados, sistema de arquivos, configuração, ect. Estes são conceitos que apenas confundem a maioria das pessoas, e quando você está começando a aprender a sintaxe e características estruturais básicas que você realmente não precisa de mais complexidade.

Alguns projetos:

  • Olá Mundo!
  • Leve o ano de meu nascimento, e calcular minha idade (apenas (agora - então) sem correções mês). (matemática simples, de entrada, de saída)
  • Peça uma direção (para cima, baixo, esquerda, direita), em seguida, informar ao usuário o seu destino (queda em um buraco, encontrar um bolo, ect). (Lógica booleana)
  • FizzBuzz, mas contar uma vez a cada segundo. (Loops, temporizadores, e mais lógica)
  • Dependendo da sua idade alguns realmente gostar um aplicativo que chama os usuários um insulto aleatório em algum intervalo. (Loops, matrizes, temporizadores e aleatória se você fizer o aleatório intervalo)

2) Projeto Simples Uma vez que eles têm uma boa compreensão dos recursos de linguagem, você pode começar um projeto (jogos simples, divertido trabalhar bem.). Você deve tentar ter o primeiro projeto de poder ser concluída dentro de 6-12 horas. Não gaste tempo para arquiteto-lo cedo. Deixe-os projetá-lo, mesmo se é uma porcaria. Se ele cai por terra, falar sobre o que aconteceu e por que falhou, em seguida, escolher um outro tema e começar de novo.

Isto é onde você começar a introduzir os recursos de depuração de suas ferramentas. Mesmo que você pode ver o problema através da leitura do código que você deve ensiná-los a usar as ferramentas e, em seguida, mostrar-lhes como você pode vê-lo. Que serve o duplo objectivo de ensinar as ferramentas de depuração e ensinando como erros de ID sem ferramentas.

Uma vez, ou se, o projeto recebe funcional que você pode usá-lo para introduzir ferramentas de refatoração. É bom se você pode, em seguida, expandir o projeto com algumas características simples que você nunca planejado. Isso geralmente significa refatoração e depuração significativa, uma vez que muito poucas pessoas escrevem mesmo código meia decente sua primeira vez.

Alguns projetos:

  • jogo da forca
  • Experiências com robótica ( Vex e Mindstorms são opções)

3) real Projeto Iniciar um projeto real que pode levar algum tempo. Use o controle de origem adequada, e fazer um ponto de ter um horário. Executar este projeto como um projeto real, se nada mais a sua boa experiência ter que lidar com as ferramentas.

Obviamente você precisa ajustar isso para cada pessoa. A coisa mais importante que eu encontrei é fazer com que até mesmo os primeiros aplicativos simples aplicar o que a pessoa está interessada em.

Alguns projetos:

  • Tetris
  • arquivo de texto com base mecanismo de blog
  • Mais avançado robótica trabalho
Respondeu 06/08/2008 em 07:00
fonte usuário

votos
30

Você pode tentar usar Alice . É um programa 3D projetado para uso em aulas de programação introdutórios.

Os dois maiores obstáculos para novos programadores são muitas vezes:

  • erros de sintaxe
  • motivação (escrever algo significativo e divertido, em vez de artificial)

Alice usa uma interface de arrastar e soltar para a construção de programas, evitando a possibilidade de erros de sintaxe. Alice permite construir mundos 3D e ter o seu controle de código caracteres (simples) 3D e animação, que normalmente é muito mais interessante do que implementar listas ligadas.

Os programadores experientes podem olhar para Alice como um brinquedo e zombam arrastando e soltando linhas de código, mas a pesquisa mostra que esta abordagem funciona.

Disclaimer: Eu trabalhei em Alice.

Respondeu 06/08/2008 em 06:29
fonte usuário

votos
28

Eu recomendo Logo (aka a tartaruga) para obter os conceitos básicos para baixo. Ele fornece uma boa caixa de areia com feedback gráfico imediato, e você pode demostrate loops, variáveis, funções, condicionais, etc. Esta página fornece um excelente tutorial.

Após Logo, mover-se para o Python ou Ruby. Eu recomendo Python, como ele é baseado no ABC, que foi inventado para fins de programação de ensino.

Ao ensinar programação, devo segunda sugestão de projetos simples e projetos, em seguida, complexos de EHaskins. A melhor maneira de aprender é começar com um resultado definido e um marco mensurável. Ele mantém as lições focadas, permite ao aluno desenvolver habilidades e, em seguida, construir sobre essas habilidades, e dá ao aluno algo para mostrar aos amigos. Não subestime o poder de ter algo para mostrar para seu trabalho.

Teoricamente, você pode ficar com Python, como Python pode fazer quase qualquer coisa. É um bom veículo para ensinar programação orientada a objeto e (a maioria) algoritmos. Você pode executar Python no modo interativo como uma linha de comando para ter uma idéia de como ele funciona, ou executar scripts inteiros de uma só vez. Você pode executar seus scripts interpretada na mosca, ou compilá-los em binários. Existem milhares de módulos para estender a funcionalidade. Você pode fazer uma calculadora gráfica como o que vem com o Windows, ou você pode fazer um cliente de IRC, ou qualquer outra coisa.

XKCD descreve o poder do Python um pouco melhor: "Você está voando! Como?"  "Python!"

Você pode mover-se para C # ou Java, depois disso, embora eles não oferecem muito que Python ainda não tiver. A vantagem deles é que eles usam sintaxe de estilo C, que muitos (ouso dizer mais?) Línguas usar. Você não precisa se preocupar com o gerenciamento de memória ainda, mas você pode se acostumar a ter um pouco mais liberdade e menos handholding do intérprete de linguagem. Python impõe espaços em branco e recuo, o que é bom na maioria das vezes, mas nem sempre. C # e Java permitem que você gerencie seu próprio espaço em branco, permanecendo fortemente tipado.

A partir daí, o padrão é C ou C ++. A liberdade em línguas é quase existencial. Você está agora no comando de seu próprio gerenciamento de memória. Não há coleta de lixo para ajudá-lo. Isto é onde você ensinar os algoritmos muito avançados (como mergesort e quicksort). Isto é onde você aprender por "falha de segmentação" é um palavrão. Isto é onde você baixar o código-fonte do kernel do Linux e olhar para o abismo. Comece por escrever um buffer circular e uma pilha para manipulação de string. Em seguida, sua maneira de trabalhar.

Respondeu 20/08/2008 em 22:09
fonte usuário

votos
15

Um curso de boa python é do MIT A Gentle Introdução à Programação Usando Python . É tudo gratuito on-line, e você não tem que ser um uberstudent MIT para compreendê-lo.

Editar [ Justin Padrão ]

Este curso utiliza este livro online gratuito: como pensar como um cientista da computação
que eu definitivamente estou achando muito útil.

Respondeu 06/08/2008 em 06:47
fonte usuário

votos
12

Comece com gráficos tartaruga em Python.

Gostaria de usar os gráficos de tartaruga que vem com o Python. É visual, simples e você poderia usar esse ambiente para introduzir muitos conceitos de programação como chamadas de iteração e procedimento antes de ficar muito longe na sintaxe. Considere o seguinte sessão interativa em python:

>>> from turtle import *
>>> setup()
>>> title("turtle test")
>>> clear()
>>>
>>> #DRAW A SQUARE
>>> down()        #pen down
>>> forward(50)   #move forward 50 units
>>> right(90)     #turn right 90 degrees
>>> forward(50)
>>> right(90)
>>> forward(50)
>>> right(90)
>>> forward(50)
>>>
>>> #INTRODUCE ITERATION TO SIMPLIFY SQUARE CODE
>>> clear()
>>> for i in range(4):
        forward(50)
        right(90)
>>>
>>> #INTRODUCE PROCEDURES   
>>> def square(length):
        down()
        for i in range(4):
            forward(length)
            right(90)
>>>
>>> #HAVE STUDENTS PREDICT WHAT THIS WILL DRAW
>>> for i in range(50):
        up()
        left(90)
        forward(25)
        square(i)
>>>
>>> #NOW HAVE THE STUDENTS WRITE CODE TO DRAW
>>> #A SQUARE 'TUNNEL' (I.E. CONCENTRIC SQUARES
>>> #GETTING SMALLER AND SMALLER).
>>>
>>> #AFTER THAT, MAKE THE TUNNEL ROTATE BY HAVING
>>> #EACH SUCCESSIVE SQUARE TILTED

Na tentativa de realizar os dois últimos trabalhos, eles terão muitas tentativas fracassadas, mas as falhas serão visualmente interessante e eles vão aprender rapidamente como eles tentam descobrir por que ele não chamar o que eles esperavam.

Respondeu 25/02/2009 em 22:00
fonte usuário

votos
12

Pacote Python VPython - Programação 3D para Ordinary Mortal ( vídeo tutorial ).

exemplo de código:

from visual import *

floor = box (pos=(0,0,0), length=4, height=0.5, width=4, color=color.blue)
ball = sphere (pos=(0,4,0), radius=1, color=color.red)
ball.velocity = vector(0,-1,0)
dt = 0.01

while 1:
    rate (100)
    ball.pos = ball.pos + ball.velocity*dt
    if ball.y < ball.radius:
        ball.velocity.y = -ball.velocity.y
    else:
        ball.velocity.y = ball.velocity.y - 9.8*dt

VPython bola quicando http://vpython.org/bounce.gif

Respondeu 08/09/2008 em 19:26
fonte usuário

votos
11

O importante é que a pessoa em questão tem de ter algum problema que querem resolver. Se você não tem um programa que você quer escrever (e algo sensato e bem definida, não "Eu quero escrever a próxima Quake!"), Então você não pode aprender a programar, porque você não tem nada para motivá-lo . Quero dizer, você pode ler um livro e ter uma compreensão aproximada de sintaxe e semântica de uma língua, mas até que você tenha um programa que você quer escrito que você nunca vai enfrentar o problema.

Se esse impulso existe, então tudo o resto é apenas detalhes menores.

Respondeu 22/08/2008 em 11:35
fonte usuário

votos
8

Eu não sei se alguém já mencionei isso aqui, ainda, mas você pode querer verificar para fora Zed Shaw 's Python the Hard Way Saiba

Espero que isto ajude

Respondeu 19/10/2010 em 01:42
fonte usuário


votos
7

http://tryruby.hobix.com/">Try Ruby (no seu navegador)

Respondeu 06/08/2008 em 17:37
fonte usuário

votos
5

Este é um livro fantástico que meus irmãozinhos usado para aprender:

http://pine.fm/LearnToProgram/

Claro, a coisa mais importante é começar em um programa real, útil de algum tipo IMEDIATAMENTE depois de terminar o livro.

Respondeu 07/08/2008 em 06:33
fonte usuário

votos
4

Eu tinha acabado de deixá-lo escrever toneladas de código. Deixá-lo dirigir em tudo o que vocês fazem, e apenas estar disponível para responder a perguntas.

Acredite ou não, depois de alguns meses de escritos toneladas de código de baixa qualidade, ele vai começar a ficar com a ideia e começar a escrever programas melhores. Nesse ponto, você pode se atolar em detalhes (memória, etc), e também falar sobre os princípios gerais de design.

Ouvi dizer que o que separa os grandes artistas dos medíocres, é que cada vez que eles praticam, eles melhorar em alguma coisa, não importa quão pequena. Deixe sua prática irmão, e ele vai melhorar a cada vez que ele se senta no teclado.

Edit: [Justin Standard]

Esteban, isso me lembra de uma recente pós horror codificação , e eu não acho que você está certo. Mas eu acho que é ainda vale a pena para encontrar métodos para orientar sua prática. Sem dúvida, eu quero que ele escrevendo tanto código como ele sabe como fazer. Isso é uma razão que eu estou pedindo para projetos de amostra.

Respondeu 09/08/2008 em 02:37
fonte usuário

votos
4

Se ele está interessado, não são os pequenos detalhes as partes boas? Usando python, você já cortou a GUI fora do mesmo modo que a confusão se foi. Por que não escolher um projeto, um jogo ou algo assim, e implementá-lo. O número adivinhando jogo clássico oi-lo pode simplesmente ser implementada a partir da linha de comando em 20-30 linhas de código (dependendo do idioma é claro) e dá-lhe variáveis, condições, loops e entrada do usuário.

Respondeu 06/08/2008 em 06:08
fonte usuário

votos
2

Depois de passar por alguns e-books gratuitos, achei o melhor livro para aprender a programar foi Head First Programação publicado pela O'Reilly Press. Ele usa Python como a língua e dá-lhe programas para trabalhar em desde o início. Eles são todos mais interessante que 'Olá Mundo'. Vale a pena o dinheiro que eu gasto com ela, e desde que ele foi para um pouco você pode ser capaz de encontrar um exemplar usado mais barato no eBay ou Amazon.

Respondeu 03/01/2011 em 02:54
fonte usuário

votos
2

Python Desafio

Respondeu 08/12/2010 em 17:58
fonte usuário

votos
2

Se o seu irmão gosta de quebra-cabeças, eu recomendaria Python Desafio . Eu não iria utilizá-lo como ferramenta de ensino formal em 1 a 1 tutorial, mas é algo que ele pode fazer quando você não está em conjunto para desafiar a si mesmo e ter algum divertimento.

Respondeu 07/04/2010 em 01:35
fonte usuário

votos
2

Apenas torná-lo divertido!

Surpreendentemente Scala pode ser mais fácil se você tentar Kojo

Respondeu 19/03/2010 em 14:44
fonte usuário

votos
2

Eu acho que Python é uma ótima idéia. Eu daria a ele alguns trabalhos básicos para fazer por conta própria e dizer-lhe que qualquer morto termina ele bate provavelmente pode ser resolvido por uma viagem à Google. Para mim, pelo menos, resolver um problema em meu próprio sempre deixou ficar melhor do que alguém dizer-me a solução.

Algumas possíveis projectos (em nenhuma ordem particular):

  • simulador de coin flip. Deixe que a entrada do utilizador um número desejado de ensaios para a cara ou coroa. Executá-lo e exibir os resultados, juntamente com a porcentagem de cara ou coroa.

  • Faça um conversor de temperatura com um menu que leva a entrada do usuário de escolher qual tipo de conversão que o usuário quer fazer. Depois de escolher a conversão e fazê-lo, ele deve retornar ao menu principal.

    Aqui está um exemplo de um conversor estendida com a mesma idéia: http://pastebin.org/6541

  • Faça um programa que tem uma entrada numérica e exibe a letra de grau que se traduziria em. Ele vai acabar avaliar a entrada contra se e elif declarações para descobrir onde ele se encaixa.

  • Faça um teste simples que passa por vários múltipla escolha ou preencher as questões em branco. No final ele irá mostrar como o usuário fez. Ele pode escolher qualquer dúvida que ele quer.

  • Tome uma entrada de algum número (presumivelmente grande) de moedas e convertê-lo em denominações maiores. Por exemplo, 149 centavos de dólar = 1, 1 quarto, 2 dimes, e 4 centavos.

  • Crie um gerenciador de lista simples. Ser capaz de adicionar / excluir listas e adicionar / excluir entradas nessas listas. Aqui está um exemplo de um gerente de lista do natal: http://pastebin.org/6543

  • Criar um programa que irá construir e testar se os números digitados formar um quadrado mágico (com uma matriz 2D). Aqui está um código de exemplo, mas ele realmente deve imprimir o quadrado a cada passo, a fim de mostrar onde o usuário está, em termos de buliding da praça: http://pastebin.org/6544

Também gostaria de sugerir fazendo algumas coisas com xTurtle ou outro módulo de gráficos para misturar as coisas e mantê-lo de ficar chato. Claro, isso é muito programação prática e não o script que um monte de gente seria realmente usando python para, mas os exemplos que dei são praticamente levado diretamente a partir de quando eu estava aprendendo via python e funcionou muito bem para mim. Boa sorte!

Respondeu 04/08/2009 em 23:20
fonte usuário


votos
2

há uma wikilivro que é muito bom para aprender python .

Eu não sei como as wikibooks são para outras línguas, mas eu pessoalmente aprendi python do wikilivro como era em fevereiro de 2007

ps - se você não estiver familiarizado com wikibooks , é basicamente a versão wikipedia do livro de autoria. é meio difícil de descrever, mas se você verificar alguns dos livros lá você vai ver como ele funciona

Respondeu 26/08/2008 em 04:39
fonte usuário

votos
2

Se teu irmão tem acesso ao iTunes, ele pode baixar aulas em vídeo de um curso de ciência da computação introdutório dado por Richard Buckland na Universidade de New South Wales. Ele é um instrutor envolvente e abrange os fundamentos da computação e da linguagem C. Se nada mais, informe o seu irmão para jogar os vids no fundo e alguns conceitos pode afundar através de osmose. :)

COMP1917 Computing Superior - 2008 Sessão 1 http://deimos3.apple.com/WebObjects/Core.woa/Browse/unsw.edu.au.1504975442.01504975444

Se o link não funcionar, aqui está um caminho:

Home -> iTunes U -> Engenharia -> COMP1917 Computing Superior - 2008 Sessão 1

Respondeu 20/08/2008 em 22:54
fonte usuário

votos
2

Ela realmente depende do estilo de aprendizagem do seu irmão. Muitas pessoas aprendem mais rápido, sujar as mãos e só entrar em-lo, cristalizando os conceitos e a grande imagem à medida que progridem e construir seu conhecimento.

Me, eu prefiro começar com o retrato grande e detalhar o âmago da questão. A primeira coisa que eu queria saber era como tudo se encaixa, então tudo o que gobbledygook orientada a objetos, em seguida, sobre classes e instâncias e assim por diante. Eu gostaria de saber os conceitos subjacentes e um pouco de teoria antes de eu aprender a sintaxe. Eu tinha um pouco de uma vantagem, porque eu escrevi alguns jogos em BASIC 20 anos atrás, mas nada muito desde então.

Talvez seja útil para sombrear um processo de produção, começando com uma declaração geral da missão, em seguida, um plano e / ou fluxograma, em seguida, elaborar em algum código pseudo (inclinando-se para a sintaxe que você finalmente vai usar) antes de realmente escrever o código.

A regra de ouro aqui é Suss estilo inclinada do aluno.

Respondeu 06/08/2008 em 11:44
fonte usuário

votos
2

Eu costumava ensinar programação e seu irmão tem uma vantagem principal sobre a maioria dos meus alunos, ele quer aprender :)

Se você decidir ir com C um amigo tem um site que tem o tipo de programas aqueles de uso de gerações mais velhas se lembrar como tipo-ins básicos. O mais complexo deles usam ncurses que tipo de nega seu uso como um auxiliar de ensino um pouco, mas alguns deles são pequenas coisas e você pode aprender cargas sem ser ensinados a.

Pessoalmente acho que Python e Ruby faria grandes primeiras línguas.

EDIT: lista de atribuições de programação iniciantes apareceu durante a noite pode ser apenas o que você está procurando.

Respondeu 06/08/2008 em 07:07
fonte usuário

votos
2

Algo que você deve ser muito consciente de ao ensinar seu irmão programa é para ele não confiar demais em você. Muitas vezes, quando eu me encontro ajudar os outros eles vão começar a pensar em mim como resposta livro para todas as suas perguntas e, em vez de experimentar para encontrar uma resposta eles simplesmente me perguntar. Muitas vezes, o melhor professor é a experimentação e cada vez que seu irmão tem uma pergunta como "O que vai acontecer se eu adicionar 2 para uma cadeia?" você deve dizer-lhe para experimentá-lo e ver por si mesmo. Também tenho notado que quando eu não posso obter um conceito até a alguém, isso ajuda a ver um código de exemplo onde podemos olhar para cada segmento individualmente e explicá-lo peça por peça. Como uma nota lateral pessoas novas para a programação muitas vezes têm dificuldade com a idéia de programação orientada a objeto, eles vão dizer que eles entendem que quando você ensina a eles, mas não terá um conceito claro de que até realmente implementá-lo.

Respondeu 06/08/2008 em 06:18
fonte usuário

votos
2

Primeiro de tudo, a começar como todo mundo faz: com um Olá mundo programa. É simples, e isso lhes dá uma sensação básica para o layout de um programa. Tente lembrar-se de quando você era primeiro programação, e quão difícil alguns dos conceitos foram - começar simples.

Depois Olá mundo, passar a criar algumas variáveis ​​básicas, aritmética, em seguida, para a lógica booleana e if / else. Se você tem um de seus livros de programação de idade, confira alguns dos primeiros exemplos e tê-lo executado através aqueles. Só não tente introduzir demais de uma só vez, ou ele vai ser esmagador e confuso.

Respondeu 06/08/2008 em 06:13
fonte usuário

votos
1

Academic Earth oferece links para libertar Ciência da Computação cursos das principais universidades. Eles têm uma seção voltada para Beginning Ciência da Computação. As línguas ensinadas nos cursos iniciais variam:

  • MIT - Introdução à Ciência e Programação de Computadores - Python
  • Stanford - Ciência da Computação I: Metodologia Programação - Java
  • Harvard - Introdução à Ciência da Computação I - C (foco principal), com alguns outros polvilhado em boa medida (por exemplo, SQL, PHP, LISP, Assembler, etc.)
  • Berkeley - um dialeto da língua LISP
Respondeu 17/04/2010 em 13:33
fonte usuário

votos
1

Tente encontrar uma cópia do Why (Comovente) Guia de Ruby online. O site original está offline, mas eu tenho certeza que existem alguns espelhos lá fora. Não é o seu guia de programação típica; ele coloca uma rotação original (e engraçado) em aprender uma nova linguagem que pode se adequar ao seu amigo. Já para não falar, Ruby é uma grande linguagem de aprender com.

Respondeu 26/08/2009 em 16:22
fonte usuário

votos
1

Posso recomendar o meu projeto, PythonTurtle .

Resumo:

PythonTurtle se esforça para fornecer o caminho de menor limiar para aprender Python. Os alunos comandar um shell interativo do Python (similar ao ambiente de desenvolvimento IDLE) e utilizar as funções do Python para mover uma tartaruga exibido na tela. Uma tela de ajuda ilustrado introduz o aluno aos conceitos básicos de programação Python enquanto demonstra como mover a tartaruga.

Se parece com isso:

texto alt http://www.pythonturtle.com/screenshot.gif

Respondeu 04/08/2009 em 22:42
fonte usuário

votos
1

Eu acho que Python é realmente um grande Idioma começar com: :-)

Eu sugiro que você tente http://www.pythonchallenge.com/

É construído como uma pequena aventura e cada Solutions faz a ligação de um novo problema agradável.

Depois soluting o problema que você tenha acesso a um bom Fórum para falar sobre o seu código e começar a ver o que as outras pessoas criaram.

Respondeu 08/07/2009 em 10:57
fonte usuário

votos
1

uma vez que lhes ensinou como programar, eles podem querer aprender a desenvolver software .. para que eu acho que de Greg Wilson Software Carpintaria curso é grande .. ele também usa Python como linguagem do aluno.

Respondeu 18/03/2009 em 15:51
fonte usuário

votos
1

Livro: Programação Java para crianças, pais e avós (PDF)

Eu não tenho experiência pessoal sobre a aprendizagem utilizando esse livro, mas parece ser bom porque ele rapidamente vai para produzir algo visível, e não gastar muito tempo com os sintáticas detalhes itty bitty. Tem alguém aqui tentou usar esse livro?

Respondeu 14/02/2009 em 14:47
fonte usuário

votos
1

Muito bom curso de introdução em vídeo pela Universidade de Stanford (nenhum conhecimento prévio necessário):

Metodologia de programação

Vai te ensinar boas "metodologias" cada programador deve conhecer e alguma programação Java.

Respondeu 20/09/2008 em 23:23
fonte usuário

votos
1

Uma vez que ele tem o básico, eu sugiro a Torre de Hanói como um bom exercício. Eu recomendo começando com o brinquedo de madeira, se tiver um; deixá-lo tentar resolver o problema por si mesmo e descrever o seu método de forma sistemática. Mostre-lhe onde a recursão entra em jogo. Explique-lhe como o número de movimentos depende do número de discos. Em seguida, deixá-lo escrever um programa para imprimir a seqüência de movimentos, no idioma de sua escolha.

Respondeu 19/09/2008 em 12:43
fonte usuário

votos
1

I desnatado através dos comentários e se parece com ninguém mencionou Fundamentos de Programação de www.CodeBetter.com . Embora exija um pouco de fundação, certamente pode ser um próximo passo no processo de aprendizagem.

Respondeu 10/09/2008 em 01:29
fonte usuário

votos
1

Se ele está interessado do que eu não me preocuparia com foco em jogos ou outros enfeites. Eu tinha acabado de pegar aquele livro iniciantes 'Teach Yourself x' você estava prestes a lançar e dar-lhe a ele e deixá-lo lutar por ele. Talvez falar sobre isso depois e depois fazer outra e outra. Depois então eu emparelhar programa com ele para que ele pudesse aprender como rasa e coxos aqueles livros que ele leu foram. Então eu começar a ter-lhe codificar algo para si mesmo. Um site para acompanhar estatísticas de softball ou o que iria envolvê-lo. Para mim, foi um banco de dados para o vinho de volta no dia.

Depois que eu iria começar em sobre os livros reais, design de domínio, etc.

Respondeu 08/09/2008 em 18:40
fonte usuário

votos
1

Um bom recurso para ensinar os jovens é o eBook livre "Invente seus próprios jogos com Python":

http://pythonbook.coffeeghost.net/book1/IYOCGwP_book1.pdf

Respondeu 01/09/2008 em 14:21
fonte usuário

votos
1

Comece perguntando-lhe esta pergunta: " O que tipos de coisas que você quer fazer com seu computador "

Em seguida, escolha um conjunto de atividades que se encaixam a sua resposta, e escolher uma linguagem que permite que essas coisas a serem feitas. Tanto melhor se é um ambiente simples (ou simplifiable) scripting (eg Applescript, Ruby, qualquer shell (Ksh, Bash, ou até mesmo arquivos .bat).

As razões são:

  1. Se ele está interessado nos resultados, ele provavelmente vai ser mais motivado do que se você está tendo-lhe contar coelhos de Fibonacci.
  2. Se ele está recebendo os resultados que ele gosta, ele provavelmente vai pensar em variações sobre as atividades que você criar.
  3. Se você está ensinando a ele, ele não está perseguindo uma carreira séria (ainda); sempre há tempo para mudar para línguas "força industrial" mais tarde.
Respondeu 29/08/2008 em 00:59
fonte usuário

votos
1

Eu não sei ao certo o que vai ser o melhor para o seu irmão, mas eu sei que eu comecei com python. Estive jogando vários jogos a partir de uma idade muito precoce e queria fazer o meu próprio, então o meu tio me apresentou ao Python com o pygame biblioteca. Ele tem muitos tutoriais e torna tudo mais fácil (maneira mais fácil do que openGL na minha opinião). Ele é limitado a 2d, mas você deve estar começando simples de qualquer maneira.

Meu tio recomendado python porque ele estava interessado nela no momento, mas eu recomendo, agora bastante experiente, porque é fácil de aprender, intuitivo (ou tão intuitivo como uma linguagem de programação pode obter), e simples (mas certamente não simplista) .

Eu, pessoalmente, encontrou programação básica simplesmente para aprender a programação obscenamente chato no momento, mas pegou considerável entusiasmo como eu fui. Eu realmente queria ser aprendizagem, a fim de construir algo, não apenas para aprender.

Respondeu 26/08/2008 em 20:12
fonte usuário

votos
1

Eu recomendo o livro de Charles Petzold Código - O Hardware Invisível Langauge de Informática e Software como uma excelente introdução geral à forma como os computadores funcionam.

Há uma grande quantidade de informações no livro (382 páginas) e pode demorar um novato absoluto algum tempo para ler, mas é bem a pena. Petzold consegue explicar muitos dos conceitos básicos de computadores e programação de códigos simples, relés, memória, CPUs para sistemas operacionais e interfaces gráficas de uma forma muito clara e agradável. Ele irá fornecer qualquer leitor com uma boa noção do que está realmente acontecendo nos bastidores quando escrevem código.

Eu certamente gostaria que fosse em torno de quando eu estava aprendendo primeiro a programar!

Respondeu 23/08/2008 em 19:14
fonte usuário

votos
1

Projeto Euler tem uma série de problemas matemáticos interessantes que poderiam fornecer material excelente para um programador começando a cortar os dentes diante. Os problemas começam fácil e aumentar em dificuldade ea web é cheia de exemplos de soluções em várias linguagens de programação .

Respondeu 22/08/2008 em 21:27
fonte usuário

votos
1

Python é fácil para novos desenvolvedores a aprender. Você não perder-se nas especificidades de gerenciamento de memória e definição de tipo. Dive Into Python é um bom guia para iniciantes python programação. Quando minha irmã queria aprender programação apontei-a para a linha "Head Start" de livros que ela achou muito fácil de ler e entender. Acho que é difícil apenas começar a ensinar alguém, porque você não tem um léxico para usar com eles. Primeiro tê-lo lido alguns livros ou tutoriais e pedir-lhe perguntas. De lá você pode atribuir projetos e classificá-los. Acho que é difícil de ensinar programação porque eu aprendi ao longo de quase 15 anos de ajustes ao redor.

Respondeu 22/08/2008 em 15:09
fonte usuário

votos
1

Há um livro chamado Código . Não me lembro quem escreveu isso, mas vai com os princípios de um monte de coisas que nós (programadores) conhecem e dão como certo que as pessoas que falam de saber também. Tudo, desde como você contar binário para como os processadores trabalho. Ele não tem nada de lidar com linguagens de programação em que (bem pelo que eu me lembro), mas é um bom primer. Eu vou admitir que eu também sou da escola que acredita que você tem que saber como funciona o computador para ser capaz de programar eficazmente as coisas para ele.

Respondeu 19/08/2008 em 15:52
fonte usuário

votos
1

Como sobre este: Desova a próxima geração de hackers por Nat Torkington.

Respondeu 18/08/2008 em 16:24
fonte usuário

votos
1

Muitas coisas tropeçou-me no início, mas nada mais do que a mecânica simples. Conceitos, tomei imediatamente. Mas perder uma chave de fechamento? Fácil de fazer, e muitas vezes difícil de depurar, em um programa não-trivial.

Então, o meu humilde conselho é: não subestime o básico (como boa digitação). Parece correctivas, e até mesmo bobagem, mas me salvou tanta dor no início de meu processo de aprendizagem quando me deparei com a técnica simples de digitar o "esqueleto" completo de uma estrutura de código e em seguida, basta preenchê-lo.

Para um "if" em Python, comece com:

if  :

Em C / C ++ / C # / Java:

if () 
{

}

Em Pascal / Delphi:

If () Then
Begin

End

Em seguida, tipo entre a abertura e fechamento fichas. Uma vez que este se torne um hábito contínuo, para que você fazê-lo sem pensar, mais do cérebro é liberado para fazer as coisas divertidas. Nem um pouco muito chamativo de conselho para postar, eu admito, mas um que eu vi pessoalmente fazer um monte de bom!

Edit: [ Justin Padrão ]

Obrigado pelo seu contributo, Wing. Relacionado com o que você disse, uma das coisas que eu tentei ajudar meu irmão lembrar a sintaxe para definição do âmbito python, é que cada vez que há dois pontos, ele precisa recuar a próxima linha, ea qualquer momento ele acha que deve recuar, é melhor haver dois pontos terminando a linha anterior.

Respondeu 16/08/2008 em 01:46
fonte usuário

votos
1

Eu sugiro tendo uma abordagem semelhante à do livro, Accelerated C ++ em que eles cobrem partes do C ++ que são geralmente úteis para fazer programas simples. Para alguém novo para programação Eu acho que ter algo para mostrar para uma pequena quantidade de esforço é uma boa maneira de mantê-los interessados. Depois de ter coberto os fundamentos do Python, então você deve sentar-se e deixá-lo experiement com a língua.

Em um dos meus temas Universidade para este semestre eles tomaram uma abordagem chamada Problem Based Learning (PBL) na qual eles usam palestras para estimular os alunos sobre diferentes abordagens para os problemas. Desde que seu irmão está ansioso você deve ter uma abordagem semelhante. Pôs pequenos projetos para trabalhar e deixá-lo descobrir por si mesmo. Então uma vez que ele está acabado você pode ir através de sua abordagem e comparar e contrastar com métodos diferentes.

Se você pode dar-lhe apenas a quantidade certa de ajuda para guiá-lo na direção certa, então ele deve estar bem. Providng-lo com alguns bons sites e livros também seria uma boa idéia.

Eu também recomendo ficar longe de IDE nos estágios iniciais. Usando a linha de comando e um editor de texto lhe dará uma maior compreensão dos processos envolvidos na compilação / montagem código.

Espero que eu tenha sido de alguma ajuda. :)

Respondeu 13/08/2008 em 10:29
fonte usuário

votos
1

Isto pode soar idiota, mas por que você está tentando ensinar seu irmão para programar?

Muitas vezes o melhor ambiente de aprendizagem consiste em um objetivo que pode ser alcançado por um novato interessado (a exemplo de programa), uma ampla oferta de recursos (Google / tutoriais / livros), e uma fonte de conhecimento de conselhos que podem fornecer orientação quando necessário.

Você pode definitivamente ajudar com sugestões para os dois primeiros, mas o último é o seu papel primário.

Respondeu 13/08/2008 em 07:10
fonte usuário

votos
1

Copiar alguma linha de código simples por linha e levá-los a ler e interpretar isso como eles vão junto. Eles irão em breve trabalhar com isso. Eu comecei a programar em um Acorn Electron com trechos de código de revistas da bolota. Eu não tinha idéia sobre a programação de quando eu tinha 6 anos, eu costumava copiar o texto, mas aos poucos eu aprendi o que as diferentes palavras significavam.

Respondeu 11/08/2008 em 13:23
fonte usuário

votos
1

Já houve um monte de grandes respostas, mas para um novato absoluto, eu recomendar vivamente Hackety Corte . Ele foi criado pelo excessivamente prolífico why_the_lucky_stiff especificamente para fornecer um ambiente BASIC / LOGO / Pascal-like para novos programadores para experimentar. É essencialmente uma mancha IDE Ruby com alguns grandes bibliotecas (Flash Video, IM, servidor web) e aulas interativas. Faz um bom arremesso para a programação, já que escolheu lições que fazem o divertimento, coisas úteis. "Olá, mundo" pode não impressionar logo de cara, mas a criação de um cliente IM personalizado em 20 minutos pode inspirar alguém para continuar a aprender. Diverta-se!

Respondeu 11/08/2008 em 05:30
fonte usuário

votos
1

Robert Read escreveu um guia útil, Como ser um programador , que abrange uma vasta área de questões de programação que um novato iria encontrar útil.

Respondeu 09/08/2008 em 17:28
fonte usuário

votos
1

Eu recomendaria também assistir alguns screencasts - eles geralmente são criados no contexto de uma tecnologia específica não uma língua, embora se há código Python exibido, que vai fazer :). O ponto é - eles são criados por alguns bons programadores e observando como programa de bons programadores é uma coisa boa. Você e seu irmão poderia fazer alguma programação por pares, bem como, que pode ser uma idéia ainda melhor. Só não se esqueça de explicar por que você faça alguma coisa desta forma e não dessa forma. Eu acho que a melhor maneira de aprender programação é de bons exemplos e tentar não até mesmo ver os maus.

Respondeu 09/08/2008 em 09:17
fonte usuário

votos
1

Eu fui ensinado por aprender a resolver problemas de forma independente de idioma utilizando fluxogramas e PDL (Programa de Design Língua). Depois de algumas semanas de que, eu aprendi a converter o PDL eu tinha escrito para uma linguagem. Estou feliz que eu aprendi dessa forma porque eu passei a maior parte dos meus anos de programação, resolvendo problemas sem estar vinculado a um idioma. Que linguagem que eu uso tem sido sempre um detalhe de implementação e não parte do projeto.

Ter que resolver o problema por dividi-lo em é passos básicos é uma habilidade fundamental. Eu acho que é uma das coisas que separa aqueles que podem programar daqueles que não podem.

Com relação a como você lidar com a ordem de conceitos de uma língua que eu acredito que a maneira mais fácil é decidir que é ter um projeto em mente e abordar os conceitos como eles são necessários. Isso permite que você aplicá-los como eles são necessários em algo que você está interessado em fazer. Quando aprender uma língua é bom ter vários projetos simples em mente e alguns com complexidade progressiva. Decidir sobre aqueles irá ajudá-lo a mapear os conceitos que são necessários e sua ordem.

Respondeu 09/08/2008 em 03:23
fonte usuário

votos
1

Eu acho que uma vez que ele tem o básico (variáveis, loops, etc.) para baixo, você deve tentar ajudá-lo a encontrar algo específico que ele está interessado em e ajudá-lo a aprender as necessidades para que isso aconteça. Eu sei que eu sou muito mais inclinado e motivado para fazer algo que seja de interesse para mim. Além disso, certifique-se de deixá-lo lutar embora alguns dos problemas mais difíceis, nada é mais gratificante do que no momento que você descobrir isso em seu próprio país.

Respondeu 07/08/2008 em 23:12
fonte usuário

votos
1

Se você quer ensinar as noções básicas de programação, sem ser específico de linguagem, há um aplicativo chamado risco que foi criado no MIT. Ele foi projetado para ajudar as pessoas a desenvolver habilidades de programação. Como os usuários criar projectos Scratch, eles aprendem a criar condições, loops, etc. Há uma também uma comunidade de projetos de risco, forma que os projectos podem ser baixados - de que maneira você pode explorar os programas de outras pessoas e ver como eles foram construídos.

Respondeu 06/08/2008 em 08:15
fonte usuário

votos
0

Eu recomendo Python Programming: Uma Introdução à Ciência da Computação 2nd Edition por John Zelle . Ele é voltado para iniciantes, e lida com os semântica de programação. Depois de ler você será capaz de pegar outras línguas muito mais rápido por causa da semântica abordagem sintática vs. de Zelle. Confira!

Respondeu 29/05/2011 em 04:05
fonte usuário

votos
0

Pergunte ao seu irmão, se há algo que ele gostaria de fazer um programa de fazer ou inventar um projeto para ele que você acha que lhe interessa.

Algo onde ele pode saber o que a saída é suposto ser, e apontá-lo para os materiais (on-line ou em papel) pertinentes ao projeto. Se ele está vindo em python ou programar 'frio' ser paciente como ele trabalha o seu caminho através da compreensão dos conceitos básicos, como sintaxe, erros, escopo e estar preparado para a etapa de lado e deixá-lo correr e fazer seus próprios erros quando você começa a ver a luz lâmpada ir em cima da cabeça.

Respondeu 12/05/2011 em 14:28
fonte usuário

votos
0

Use verdadeira analogia mundo e personagens imaginários para ensiná-los a programação. Como quando eu ensinar as pessoas sobre variáveis ​​e instruções de controle etc.

Normalmente eu começo com o exemplo de calculadora. Eu digo imaginar u ter uma caixa para cada variável e u têm placas de 10 cartas com números 0 - 9 impressos sobre eles. Dizer que o caixa pode conter um cartão de cada vez e formas semelhantes para explicar como elementos de programação trabalhar

E ênfase em como cada operador funciona .. como o operador simples '=' sempre calcula o lado direito primeiro em um valor. e colocar esse valor na caixa com o nome "NUM_1" (que é o nome da variável)

Isso tem sido muito muito eficaz, pois eles são capazes de imaginar o fluxo muito rapidamente.

Respondeu 18/12/2009 em 15:59
fonte usuário

votos
0

Concordo com superjoe30 acima, mas eu não tenho reputação suficiente ainda para deixar um comentário.

Eu era um professor CS por 4 anos. As línguas foram Basic, e em seguida, Pascal, mas isso realmente não importa o que a língua é.

A maior lição que eu aprendi como um novo prof era, não importa quão simples eu pensei que um conceito foi, não é simples para um novato. Nunca ir mais rápido do que seu estudante pode ir. Eu não posso enfatizar o suficiente. Ir muito, muito lento.

Gostaria de começar com coisas muito simples, leitura e impressão, talvez um cálculo simples, apenas para obter o estudante utilizado para colocar algo dentro e recebendo algo fora. Então, se declarações. Então realmente simples para loops, sempre em termos de algo que o aluno pode escrever e ter algum divertimento com.

Então eu iria gastar cerca de 3 semanas ensinando um tipo muito simples de linguagem de máquina para uma máquina decimal falso chamado SIMPL, que você poderia única etapa. A razão para fazer isso para que o aluno podia ver onde o "borracha encontra a estrada", que os computadores fazem as coisas passo a passo, e isso faz uma diferença que ordem as coisas acontecem. Sem isso, os alunos tendem a pensar que o computador pode tipo de ler a sua mente e fazer tudo de uma vez.

Em seguida, volta para Básico. Um par de semanas em matrizes, porque é um grande quebra-molas. Então arquivos sequenciais, que é uma outra colisão de velocidade. O que quero dizer com "lombada" é o estudante pode estar navegando ao longo sentindo muito confiante, e então você bater-lhes com um conceito como matrizes, e eles são totalmente perdido outra vez, até que você facilitar-lhes através dele.

Então, com essas habilidades em seus cintos, gostaria de tê-los escolher um projeto de longo prazo, porque é isso que torna a programação interessante. Sem um uso para ele, é realmente chato. Gostaria de sugerir uma variedade de projetos, tais como jogos, programas de contabilidade, programas de ciência, etc. É realmente ótimo vê-los ficar ligado. Muitas vezes, eles iriam me pedir ajuda, e isso é ótimo, porque você sabe que eles estão aprendendo.

Enquanto eles estavam fazendo seus projetos, gostaríamos de continuar a cobrir as técnicas de programação mais avançadas - pesquisa, classificação, fusão, como fazer um simples banco de dados, etc.

Boa sorte. Ensinar é um trabalho árduo, mas gratificante quando você vê os alunos crescer.

Respondeu 18/11/2008 em 03:06
fonte usuário

votos
0

Microsoft Small Basic é um ambiente de programação baseado em .NET gratuito destinado a ser uma "diversão" ambiente de aprendizagem para iniciantes. A linguagem é um subconjunto do VB.NET e até mesmo contém um objeto "Turtle" familiar a partir da linguagem Logo. O site contém um tutorial passo-a-passo.

Respondeu 18/11/2008 em 02:40
fonte usuário

votos
0

"Quem tem medo de C ++" por Heller

Pode valer a pena um tiro

Respondeu 30/10/2008 em 05:38
fonte usuário

votos
0

Sugiro " Computer Science Unplugged " como um material didático complementar.

Respondeu 12/10/2008 em 00:32
fonte usuário

votos
0

+1 para palestras Universidade de Stanford. http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111

Eles são simples, de alta qualidade e posso atestar a sua capacidade de ensinar iniciantes (eu ser um deles).

Respondeu 03/10/2008 em 12:38
fonte usuário

votos
0

O que quer que eles escrevem, eles têm percorrê-lo em um depurador de linha por linha na primeira execução. Deixe-os ver por si mesmos o que o computador está fazendo. Isso leva um monte de mistério fora das coisas, reduz a intimidação ( "oh, cada linha é realmente simples!"), E ajuda-los a aprender a depuração habilidades e reconhecer o porquê erros comuns são comuns (e por que eles são erros)

Respondeu 21/09/2008 em 23:30
fonte usuário

votos
0

Seja qual for a linguagem e ambiente que você escolher, se o aluno quer aprender por motivos profissionais ou para fazer a programação "real" (seja lá o que é), tê-los começar a escrever os seus programas de arranque 1 em papel e levá-los para longe para ser executado. Volte com os resultados de saída e / ou de erro e tê-los consertar as coisas no papel.

Esta não é especialmente difícil em primeiro lugar de fazê-lo na tela e bater prazo, mas vai tornar as coisas muito mais fácil quando eles começam a descobrir o maravilhoso mundo de bugs.

1) curta: "Olá, mundo!" - programas do tipo que ainda têm alguma lógica e / ou cálculos, fazer isso até alguns programas que podem ter erros

Respondeu 21/09/2008 em 23:27
fonte usuário

votos
0

Sua pergunta muito depende da idade e educação do seu irmão, mas se ele é uma criança / adolescente, eu recomendaria fazer alguma programação GUI ou gráfico de programação primeiro (com tela etc.). Parece bom, e você tem resultados imediatos. Algoritmos são chatos, e abstrato demais para os jovens (antes de dizer 15 anos de idade).

Quando eu comecei a programação do ZX Spectrum (eu era como 12 anos de idade), eu gostava de desenhar várias coisas na tela, e ainda era interessante. Eu não aprender sobre técnicas algorítmicas reais até que eu era talvez 18. Não se engane que tal programação "simples" é um começo errado; o interesse da pessoa aprender é a parte mais importante dele.

Então, eu ficaria em PyKDE, PyGTK, PyQt ou Python + OpenGL (há certamente alguns tutoriais na net, eu sei de alguns queridos Checa, mas que não vai ajudá-lo :)).

Claro, se seu irmão é mais velho e tem educação perto de matemática, você pode ir diretamente para algoritmos e tal.

Respondeu 19/09/2008 em 13:08
fonte usuário

votos
0

Eu recomendo Pense Python .

Respondeu 16/09/2008 em 11:31
fonte usuário

votos
0

Um par de outras plataformas de partida:

  • Uma boa calculadora programável (que é o que eu aprendi em volta na década de 70), e HP25, em seguida, HP41, agora TI69, etc.
  • plataformas de ficção interativa, como "Informe 7" fornecer um outro ângulo sobre a coisa toda
  • Flash / ActionScript

Todos estes são diferentes e envolvente, e qualquer um deles pode desencadear o tipo de interesse que é necessário para obter um iniciante de e funcionamento.

LBB

Respondeu 16/09/2008 em 07:51
fonte usuário

votos
0

Como um não-programador de mim, eu encontrei o livro "How to Program" do Pragmatic Programmers muito úteis do ponto de vista rudimentar. É acessível e de fácil leitura para um iniciante. Não vai levá-lo de iniciante a especialista, mas ele vai prepará-lo para o que fazer uma vez que você escolher um idioma e pegar o seu primeiro "Aprenda a programar em (linguagem aqui)" livro.

Respondeu 12/09/2008 em 21:51
fonte usuário

votos
0

Ter objetivos pequenos, podem ser obtidas é uma das melhores maneiras de aprender qualquer habilidade. Programação não é diferente. Python é uma grande linguagem para começar, porque é fácil de aprender, limpo e ainda pode fazer coisas avançadas. Python é limitado apenas pela sua imaginação.

Uma maneira de realmente ter alguém interessado é dar-lhes pequenos projetos que eles podem fazer em uma hora ou assim. Quando eu originalmente começou python aprendendo I jogando Código Golf . Eles têm muitos pequenos desafios que irão ajudar a ensinar as noções básicas de programação. Eu recomendaria apenas tentando resolver um dos desafios de um dia e, em seguida, brincar com os conceitos aprendidos. Você tem que tornar a aprendizagem para programar diversão ou o interesse será perdido muito rapidamente.

Respondeu 07/09/2008 em 21:25
fonte usuário

votos
0

Que eu usei com meus filhos é CEEBot . Não é python, mas ensina programação estilo C / Java em um divertimento, tipo de programação de robô de jogo. Destina-se a 10-15 anos de idade, mas é uma muito boa.

Respondeu 06/09/2008 em 17:42
fonte usuário

votos
0

Algumas informações adicionais que alguém poderia anexar ao post anterior de Jason Pratt em Alice ... especificamente, um Storytelling Alice variante.

Embora o estudo apresentado alvos meninas do ensino médio, você pode encontrar o papel branco escrito por Caitlin Kelleher interessante.

Respondeu 06/09/2008 em 16:30
fonte usuário

votos
0

Pode parecer estranho, mas eu comecei a escrever código, automatizando as tarefas e análise de dados para o meu antigo emprego. Isto foi conseguido através da gravação, em seguida, estudar o código de uma macro do Excel gerado. É claro que esta abordagem assume que você pode aprender através de VB.

Respondeu 05/09/2008 em 03:20
fonte usuário

votos
0

Algo a considerar ... nem todo mundo é capaz de programação:

Algumas pessoas simplesmente não pode fazer as coisas do passado, como:

A = 1

B = 2

A = B

(Essas pessoas ainda vão pensar A = 1)

Jeff falou sobre isso também. Na verdade, o meu exemplo é o link (e explicou, para boot).

Respondeu 04/09/2008 em 21:23
fonte usuário

votos
0

A melhor maneira de aprender alguma coisa é começar com o básico. Você pode encontrar qualquer livro texto bom para explicar o que a programação é, memória, algoritmos.

O próximo passo, selecione a linguagem que ele só depende do que o professor sabe ou porque o aluno quer aprender.

Então é código apenas, código, código. Código todos os exemplos desde o livro. Então alterá-lo um pouco para fazer outra ação. Aprender a programar é um processo ativo não um passivo. Você não pode apenas ler C ++ Como Programar por Dietal e depois esperar para codificar C ++ sem ter feito ativamente durante a leitura.

Mesmo se você é um programador experiente que ajuda a escrever o código no livro para aprender algo novo.

Respondeu 27/08/2008 em 16:25
fonte usuário

votos
0

Para mim, explorando e experimentando dentro do IDE em si me ajudou a aprender Java e Visual Basic, mas eu aprendi o básico de programação da maneira mais difícil: Perl 5. Não havia um IDE livre naquela época, por isso significava que os códigos de digitação no bloco de notas , salvá-lo e, em seguida, executar o interpretador perl.

Eu diria que IDEs fazem aprender as noções básicas de programação mais fácil. Experimente brincar com estruturas de controle e variáveis ​​primeiros. Dizer em Java:

int a = 5;

for (int i = 0; i < a; i++) {
     System.out.println("i is now " + i);
}

Basicamente, simplesmente aprender as estruturas de controle e variáveis ​​permitiria um novato para iniciar a codificação diversão já.

Respondeu 22/08/2008 em 11:32
fonte usuário

votos
0

Na minha opinião tendenciosa, C é o melhor ponto para começar. A linguagem é pequeno, as suas características de alto nível são ubíquos e as características de baixo nível permitem que você aprender a máquina.

Achei o C Primer Plus, 5ª Edição muito útil como um programador início com quase nenhuma experiência em programação. Ele assume nenhuma experiência anterior em programação, divertido de ler e abrange C em profundidade (incluindo o mais recente padrão C99).

Respondeu 19/08/2008 em 09:37
fonte usuário

votos
0

Minha experiência pessoal começou em elementar usando Logo Writer (que de certa forma evoluiu para zero), concedido eu era um garotinho e computadores onde não tão impressionante como eles são hoje em dia, mas por enquanto ele me levou lugares que eu não tinha' t sido antes ... Eu acho que é assim que eu fiquei viciado no negócio ... Eu poderia dizer que era estas primeiras impressões baseadas em tal simplicidade e frieza que fez os bens que grudam na minha cabeça para a vida. Isso é como básico em programação de ensino deve ser ensinada ... um processo simples que anseia magia.

Voltar para a minha primeira CS 101, I começou com noções do que um algoritmo foi construindo uma Tequila Sunrise (a processo passo a passo que pode ser repetido a qualquer momento com os ingredientes certos, que irá resultar na mesma saída), a partir daí vamos passar para funções matemáticas básicas usando Scheme (como EHaskins estava dizendo ... começar pequeno e, em seguida, construir-se), e de lá para noções de loops, lógica booleana, estruturas e então construir em conceitos de objetos e algumas execuções de simulação .. .

Uma das coisas boas sobre esta abordagem é que a linguagem não era um objetivo, mas apenas uma ferramenta no processo de aprendizagem dos conceitos e noções básicas de programação (apenas como operadores, funções e os outros estão em matemática).

IMHO aprender as noções básicas de programação e criação de uma fundação é provavelmente a melhor coisa que você pode ensinar seu irmão, uma vez que o objetivo é coberto então u pode passar para uma linguagem um uso mais geral, como python e ensinar-lhes conceitos superiores, como arquitetura e design patterns ( torná-los natural no processo para que ele vai começar a usar as boas práticas de estágios iniciais e vai vê-los como parte do processo) ... estamos longe de reinventar a água quente, mas nós sempre temos que começar por criar fogo.

A partir daí, o céu é o limite!

Respondeu 16/08/2008 em 16:56
fonte usuário

votos
0

No começo eu estava interessado em como diferentes programas funcionou, então eu comecei, olhando para o código-fonte. Então, quando eu comecei a entender como o programa funcionava, eu mudaria certos parâmetros para ver o que iria acontecer. Então, basicamente eu aprendi a ler antes de eu aprendi a escrever. Que coincidentemente é como a maioria das pessoas aprender Inglês.

Então, se eu estava tentando ensinar alguém como programar eu iria dar-lhes um pequeno programa para tentar ler e compreender como ele funciona, e tê-los apenas apenas brincar com o código fonte.

Só então que eu iria dar-lhes "atribuições" para tentar realizar.

Agora, se eles tinham um motivo especial para querer aprender a programar, certamente seria uma boa idéia para começar com algo ao longo das linhas do que eles querem realizar. Por exemplo, se quisessem ser proficiente em uma aplicação como liquidificador , seria definably ser uma boa idéia para começar com Alice .

Eu seria absolutamente recomendo ficar com uma linguagem que tem coleta de lixo, como D , Perl , ou alguma linguagem interpretada como javascript. Pode ser uma boa idéia para ficar longe de Perl até Perl 6 é mais perto da conclusão, porque ele corrige algumas das dificuldades de leitura e compreensão de Perl.

Respondeu 14/08/2008 em 17:23
fonte usuário

votos
0

Esta discussão é muito útil para mim como um novato (> 100 linhas de código) programador.

Baseado no que eu fui com, uma vez que terminei com o "Olá Mundo" e passar para variáveis ​​e "if / else" declaração, eu fui eletrocutado com excesso de sintaxe; sem saber o que fazer com eles.

Assim, com um projeto simples interessante, eu poderia ter o meu interesse novamente. Há muito um monte de sugestões de projetos aqui.

Posso pedir uma série de perguntas aqui?

É melhor para aprender uma linguagem de script como Autohotkey primeiro?

Edit: [Justin Standard]

Eu acho que aprender algo macro-base como Autohotkey só ajudará minimamente. Tente aprender uma linguagem de programação "real" em primeiro lugar. O mais fácil para começar com (de acordo com a maioria das pessoas) são python e ruby . Sou a favor de python, mas ambos são muito simples. Há também uma pós stackoverflow completo que responde à pergunta de qual linguagem para começar.

Respondeu 14/08/2008 em 02:30
fonte usuário

votos
0

Meu projeto favorito "começar a aprender a código" é o jogo Snakes ou Tron porque permite que você começar devagar (variáveis para armazenar a posição "verme" atual, matrizes para armazenar as posições de worm se o worm é mais do que um "pedaço", loops para fazer o movimento sem-fim, se / mudar para permitir que o usuário para mudar a direção do worm, ...). Ele também permite incluir mais e mais coisas para o projeto no longo prazo, por exemplo, programação orientada a objeto (um worm é um objeto com a chance de ter dois vermes, ao mesmo tempo) com herança (ir de "Snakes" para "Tron "ou o contrário, onde o verme modifica ligeiramente o comportamento).

Eu sugiro que você use XNA da Microsoft para começar. Na minha experiência, começando a programa é muito mais divertido se você pode ver algo na tela, e XNA torna realmente fácil de obter algo se movendo na tela. É muito fácil de fazer pequenas mudanças e obter um outro olhar, por exemplo, alterando as cores, para que ele possa ver que suas ações têm um efeito -> Impressão de sucesso. Sucesso é divertido, que é uma grande motivação para continuar a aprender.

Respondeu 11/08/2008 em 13:59
fonte usuário

votos
0

Eu recomendaria em primeiro ensinar o básico do básico que são usados ​​em quase todas as línguas, mas fazê-lo sem um idioma. Delinear todos os conceitos básicos if-else if-else, Loops, classes, tipos de variáveis, estruturas, etc. Tudo o que é o fundamento da maioria dos idiomas. Depois passar para realmente entender booleanos, comparações e complexo e ou declarações, para obter a sensação de que os resultados são para as demonstrações mais complexos.

Ao fazê-lo desta forma ele vai entender os conceitos de programação e têm um tempo muito mais fácil pisar em línguas, a partir daí é só aprender os intrincados detalhes dos idiomas, suas funções e sintaxe.

Respondeu 11/08/2008 em 13:30
fonte usuário

votos
0

Primeiro, eu acho que já houve alguns grandes respostas, por isso vou tentar não enganar muito.

  • Levá-los a escrever muito código, mantê-los a fazer perguntas para manter os sucos do cérebro fluindo.
  • Gostaria de dizer não se atolar com a realmente informações detalhadas até que seja executado para as implicações deles, ou eles pedem.

Eu acho que um dos maiores pontos que garantiriam é que eles entendem os conceitos fundamentais de um quadro. Eu sei que você está trabalhando em Python (que eu não tenho nenhuma pista sobre) mas, por exemplo, com ASP.NET levar as pessoas a entender a página / código por trás modelo pode ser um verdadeiro desafio, mas sua crítica que eles entendem isso. Como exemplo, recentemente tive uma pergunta em um fórum sobre " Onde devo colocar meu código de acesso a dados, no arquivo 'cs' ou o arquivo 'aspx' ".

Então, eu diria, em sua maior parte, deixá-los guiar o caminho, apenas estar lá para apoiá-los quando necessário, e pedir mais perguntas para manter o interesse. Basta garantir que eles têm os fundamentos para baixo, e não deixá-los correr antes que possam andar.

Boa sorte!

Respondeu 09/08/2008 em 07:52
fonte usuário

votos
0

Eu acho que aprender a programar, porque você quer aprender a programar nunca será tão bom como aprender a programar, porque você quer fazer alguma coisa. Se você puder encontrar algo que seu irmão está interessado em fazer o trabalho porque ele quer fazê-lo funcionar, você pode deixá-lo com o Google e ele vai fazê-lo. E ele vai ter você por perto para verificar que ele vai ao longo do caminho certo.

Eu acho que um dos maiores problemas com a programação de ensino no resumo é que ele não tem um contexto do mundo real que o aluno pode ficar emocionalmente investido em. A programação é duro, e tem que haver alguma recompensa real para fazer valer a pena o esforço de fazê-lo. No meu caso, eu tinha feito ciência da computação na uni, aprendi Pascal e COBOL lá, e aprendi BASIC em casa antes disso, mas eu nunca realmente em qualquer lugar com ele até que eu tornou-se um trabalhador por conta própria web designer na década de 90 e meu clientes necessária funcionalidade em seus sites, e estavam dispostos a pagar cerca de 10x mais para a funcionalidade do que para o projeto. Colocar comida na mesa é um inferno de um motivador!

Então eu aprendi Perl, então ASP / VBScript, em seguida, JavaScript, então Flash / ActionScript, em seguida, PHP - tudo a fim de fazer as coisas que eu queria que acontecesse.

Respondeu 07/08/2008 em 08:47
fonte usuário

votos
0

Eu recomendo começar com eles com C / C ++. Acho que é uma boa base para praticamente todas as outras línguas. Além disso, as diferentes versões do BASIC pode ser muito desonesto, na melhor das hipóteses, e não têm correlação real a programação real.

Respondeu 07/08/2008 em 06:35
fonte usuário

votos
0

Concordo com Leac. Eu realmente jogar com zero por vezes, se eu estou entediado. É uma forma visual muito divertido de olhar para código.

Como funciona é, eles dão-lhe um monte de "blocos" (estes parecem legos) que você pode empilhar. E empilhando estes blocos, e interagindo com a tela (onde você colocar seus sprites, gráficos), você pode criar jogos, filmes, slideshows ... é realmente interessante.

Quando é completa, você pode carregá-lo direito dos sites zero, o que é um portal youtube-ish para aplicações zero. Não só isso, mas você pode baixar qualquer submissão no site, e aprender com ou estender outras aplicações zero.

Respondeu 06/08/2008 em 18:32
fonte usuário

votos
0

Eu acho que a "sabedoria das multidões" trabalhar aqui. Como a maioria das pessoas aprender a programar? Muitos afirmam que o fizeram, copiando programas de outras pessoas, geralmente jogos que eles queriam tocar em BASIC.

Talvez por esse caminho vai trabalhar com ele também?

Respondeu 06/08/2008 em 07:20
fonte usuário

votos
0

Eu realmente argumentar para escolher uma linguagem mais simples, com menos instruções. Eu pessoalmente aprendi em BASIC em casa, como fez Jeff . Dessa forma, você não precisa se aprofundar em questões mais complicadas, como programação orientada a objeto, ou mesmo procedimentos se você não querem. Uma vez que ele pode lidar com o fluxo de controle simples, em seguida, avançar para algo um pouco mais complicado, mas apenas simples características.

Talvez começar com programas muito simples que basta adicionar 2 números, e depois crescer para algo que pode exigir um ramo, então talvez ler a entrada e responder a ela, então algum tipo de loop, e começar a combiná-los todos juntos. Basta começar a pouco e sua maneira de trabalhar. Não faça quaisquer grandes projectos até que ele possa compreender os fundamentos (caso contrário, pode muito bem ser muito assustador e ele poderia desistir no meio do caminho). Uma vez que ele domina BASIC ou o que quer que você escolher, passar para algo mais complicado.

Just my $ 0,02

Respondeu 06/08/2008 em 06:16
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more