Beste måtene å lære en nybegynner å programmere?

stemmer
325

Original Spørsmål

Jeg er for tiden engasjert i undervisningen min bror til programmet. Han er en total nybegynner, men veldig smart. (Og han faktisk ønsker å lære). Jeg har lagt merke til at noen av våre økter har fått kjørt seg i mindre detaljer, og jeg føler ikke jeg har vært veldig organisert. ( Men svar på dette innlegget har hjulpet mye. )

Hva kan jeg gjøre bedre for å lære ham effektivt? Er det en logisk rekkefølge som jeg kan bruke til å kjøre gjennom konseptet ved konseptet? Er det kompleksiteten jeg bør unngå før senere?

Språket vi jobber med er Python , men råd i alle språk er velkomne.


Hvordan hjelpe

Hvis du har gode kan du legge til følgende i svaret:

  • Nybegynner Øvelser og prosjektideer
  • Ressurser for undervisning nybegynnere
  • Screencasts / blogginnlegg / gratis e-bøker
  • Trykte bøker som er bra for nybegynnere

Beskriv ressursen med en link til det , så jeg kan ta en titt. Jeg vil at alle skal vite at jeg har definitivt brukt noen av disse ideene. Innleveringer vil bli samlet i dette innlegget.


Online ressurser for undervisning nybegynnere:


Anbefalt trykte bøker for undervisning nybegynnere

Publisert på 06/08/2008 klokken 05:01
kilden bruker
På andre språk...                            


86 svar

stemmer
118

Jeg har hatt å jobbe med flere nybegynner (aldri skrev en linje med kode) programmerere, og jeg kommer til å gjøre en etter skolen workshop med high school-elever denne høsten. Dette er det nærmeste jeg har fått til dokumentasjon. Det er fremdeles et arbeid som pågår, men jeg håper det hjelper.

1) FizzBuzz. Start med kommandolinje programmer. Du kan skrive noen morsomme spill, eller verktøy, veldig raskt, og du lærer alle språk funksjoner svært raskt uten å måtte lære de grafiske verktøyene først. Disse tidlige programmer bør være enkelt nok til at du ikke trenger å bruke noen reell debugging verktøy for å gjøre dem arbeid.

Om ikke annet ting som FizzBuzz er gode prosjekter. Din første apps skal slippe å forholde seg til DBS, filsystem, konfigurasjon, ect. Dette er begreper som bare forvirrer folk flest, og når du bare lære syntaksen og grunnleggende ramme funksjoner du egentlig ikke trenger mer kompleksitet.

Noen prosjekter:

  • Hei Verden!
  • Ta det året jeg ble født, og beregne min alder (bare (nå - da) ingen måned korreksjoner). (enkel matematikk, input, output)
  • Be om en retning (opp, ned, venstre, høyre), og deretter fortelle brukeren sin skjebne (fall i et hull, finne en kake, ect). (Boolsk logikk)
  • FizzBuzz, men teller hvert sekund. (Loops, koblingsur, og mer logikk)
  • Avhengig av deres alder noen virkelig liker en app som kaller brukerne en tilfeldig fornærmelse på noen intervall. (Loops, arrays, timere, og tilfeldig hvis du gjør intervallet tilfeldig)

2) Enkel Prosjekt Når de har en god forståelse av språkfunksjoner, kan du starte et prosjekt (enkle, morsomme spill fungerer bra.). Du bør prøve å ha det første prosjektet kunne gjennomføres i løpet av 6-12 timer. Ikke bruke tid til arkitekten det tidlig. La dem lage det selv om det suger. Hvis den faller fra hverandre, snakke om hva som skjedde og hvorfor det skjedde, så velg et annet tema og starte på nytt.

Det er der du begynne å introdusere de debugging mulighetene dine verktøy. Selv om du kan se problemet ved å lese koden du bør lære dem hvordan de skal bruke verktøyene, og deretter vise dem hvordan du kunne se det. Det tjener dobbelt formål å undervise debugging verktøy og lære hvordan å ID feil uten verktøy.

Når, eller om, får prosjektet funksjonelle du kan bruke den til å introdusere refactoring verktøy. Det er bra hvis du da også utvide prosjektet med noen enkle funksjoner som du aldri planlagt. Dette betyr vanligvis refactoring og betydelig debugging, siden svært få mennesker skrive enda en halv anstendig koden deres første gang.

Noen prosjekter:

  • Hangman spill
  • Eksperimentere med robotikk ( Vex og Mindstorms finnes alternativer)

3) Fast Prosjekt Starte et reelt prosjekt som kan ta litt tid. Bruk riktig kildekontroll, og gjør et poeng å ha en tidsplan. Kjør dette prosjektet som et reelt prosjekt, om ikke annet sin gode erfaringer å måtte hanskes med verktøyene.

Selvfølgelig må du justere dette for hver person. Det viktigste jeg har funnet er å gjøre selv de første enkle apps gjelder hva personen er interessert i.

Noen prosjekter:

  • Tetris
  • Tekstfil basert blogg motor
  • Mer avansert robotikk arbeid
Svarte 06/08/2008 kl. 06:00
kilden bruker

stemmer
30

Du kan prøve å bruke Alice . Det er et 3D program utviklet for bruk i innledende programmering klasser.

De to største hindringene for nye programmerere er ofte:

  • syntaksfeil
  • motivasjon (skrive noe meningsfylt og morsomt heller enn contrived)

Alice bruker en dra-og-slipp-grensesnitt for å konstruere programmene, for å unngå at syntaksfeil. Alice lar deg konstruere 3D-verdener og har din kode kontroll (enkel) 3D-figurer og animasjon, som vanligvis er mye mer interessant enn å implementere lenkede lister.

Erfarne programmerere kan se ned på Alice som et leketøy og scoff på å dra og slippe linjer med kode, men forskning viser at denne tilnærmingen fungerer.

Disclaimer: Jeg jobbet på Alice.

Svarte 06/08/2008 kl. 05:29
kilden bruker

stemmer
28

Jeg anbefaler Logo (aka skilpadden) for å få grunnleggende begreper ned. Det gir en god sandkasse med umiddelbar grafisk tilbakemeldinger, og du kan demostrate løkker, variabler, funksjoner, conditionals etc. Denne siden gir en utmerket opplæringen.

Etter Logo, flytte til Python eller Ruby. Jeg anbefaler Python, som det er basert på ABC, som ble oppfunnet i den hensikt å lære programmering.

Når undervisningen programmering, må jeg andre EHaskins forslag til enkle prosjekter og deretter komplekse prosjekter. Den beste måten å lære på er å starte med et klart utfall og en målbar milepæl. Det holder leksjonene fokusert, innrømmer studenten til å bygge kompetanse og deretter bygge på disse ferdighetene, og gir studentene noe å vise frem til venner. Ikke undervurder kraften av å ha noe å vise for ens arbeid.

Teoretisk sett kan du feste med Python, som Python kan gjøre nesten hva som helst. Det er et godt redskap for å lære objektorientert programmering og (de fleste) algoritmer. Du kan kjøre Python i interaktiv modus som en kommandolinje for å få en følelse av hvordan det fungerer, eller kjøre hele skript på en gang. Du kan kjøre skript tolket på sparket, eller samle dem i binærfiler. Det er tusenvis av moduler for å utvide funksjonaliteten. Du kan lage en grafisk kalkulator som den leveres med Windows, eller du kan lage en IRC-klient, eller noe annet.

XKCD beskriver Python makt litt bedre: "Du flyr! Hvordan?"  "Python"

Du kan flytte til C # eller Java etter det, selv om de ikke tilbyr mye at Python ikke allerede har. Fordelen med disse er at de bruker C-stil syntaks, som mange (tør jeg si de fleste?) Språk bruker. Du trenger ikke å bekymre deg for minnehåndtering ennå, men du kan bli vant til å ha litt mer frihet og mindre handholding fra språket tolk. Python håndhever mellomrom og innrykk, som er fint mesteparten av tiden, men ikke alltid. C # og Java lar deg administrere din egen mellomrom mens resterende sterkt-skrev.

Derfra er standard C eller C ++. Friheten i disse språkene er nesten eksistensiell. Du er nå ansvarlig for din egen minnehåndtering. Det er ingen søppelrydding for å hjelpe deg. Det er der du lærer de virkelig avanserte algoritmer (som mergeSort og quicksort). Det er der du lærer hvorfor "segmentering skyld" er et banneord. Det er her du laste ned kildekoden til Linux-kjernen og stirre ned i avgrunnen. Begynne med å skrive en sirkulær buffer og en stabel for strengmanipulering. Deretter jobbe deg oppover.

Svarte 20/08/2008 kl. 21:09
kilden bruker

stemmer
15

En god python kurset er MITs En forsiktig introduksjon til programmering i Python . Det er helt gratis på nettet, og du trenger ikke å være en MIT uberstudent å forstå det.

Edit [ Justin Standard ]

Dette kurset bruker denne gratis online bok: Hvordan tenke som en datamaskin vitenskaps
jeg definitivt finne det ganske nyttig.

Svarte 06/08/2008 kl. 05:47
kilden bruker

stemmer
12

Begynn med Turtle grafikk i Python.

Jeg ville bruke turtle grafikk som leveres som standard med Python. Det er visuell, enkelt, og du kan bruke dette miljøet for å introdusere mange programmering begreper som iterasjon og prosedyrekall før du får for langt inn syntaks. Vurdere følgende interaktiv sesjon i 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

I forsøket på å oppnå de to siste oppgavene, vil de ha mange mislykkede forsøk, men feil vil være visuelt interessant og de vil lære raskt som de prøver å finne ut hvorfor det ikke tegne det de forventet.

Svarte 25/02/2009 kl. 21:00
kilden bruker

stemmer
12

Python pakke VPython - 3D programmering for vanlig dødelig ( video tutorial ).

Kode eksempel:

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 sprettende ball http://vpython.org/bounce.gif

Svarte 08/09/2008 kl. 18:26
kilden bruker

stemmer
11

Det viktigste er at vedkommende må ha noen problem at de ønsker å løse. Hvis du ikke har et program som du ønsker å skrive (og noe fornuftig og godt definert, ikke "jeg ønsker å skrive neste Quake!") Så du ikke kan lære å programmere, fordi du ikke har noe å motivere deg . Jeg mener, du kan lese en bok og har en grov forståelse av en språkets syntaks og semantikk, men før du har et program som du ønsker skrevet du aldri forstå nesle.

Hvis det drivkraft finnes så alt annet er bare mindre detaljer.

Svarte 22/08/2008 kl. 10:35
kilden bruker

stemmer
8

Jeg vet ikke om noen har nevnt dette her, ennå, men kan det være lurt å sjekke ut Zed Shaw 's Lær Python Hard Way

Håper dette hjelper

Svarte 19/10/2010 kl. 00:42
kilden bruker


stemmer
7

http://tryruby.hobix.com/">Try Ruby (i nettleseren din)

Svarte 06/08/2008 kl. 16:37
kilden bruker

stemmer
5

Dette er en fantastisk bok som min lille brødre som brukes til å lære:

http://pine.fm/LearnToProgram/

Selvfølgelig er det viktigste å begynne på en ekte, nyttig program av noe slag like etter boken.

Svarte 07/08/2008 kl. 05:33
kilden bruker

stemmer
4

Jeg vil bare la ham skrive tonn kode. La ham kjøre i alt dere gjør, og bare være tilgjengelig for å svare på spørsmål.

Tro det eller ei, etter et par måneder med skrifter tonn crappy kode, vil han begynne å få ideen og begynne å skrive bedre programmer. På dette punktet, kan du overbelastes ned i detaljer (minne, etc), og også snakke om generelle designprinsipper.

Jeg har hørt at det som skiller de store artistene fra de middelmådige, er at hver gang de praksis, de forbedre noe, uansett hvor lite. La din bror praksis, og han vil forbedre hver gang han setter seg ned ved tastaturet.

Edit: [Justin Standard]

Esteban, dette minner meg om en nylig koding horror post , og jeg vet at du har rett. Men jeg tror det fortsatt lønner seg å finne metoder for å lede sin praksis. Ingen tvil, jeg vil at han skriver så mye kode som han vet hvordan du gjør. Dvs en grunn til at jeg spør om prøveprosjekter.

Svarte 09/08/2008 kl. 01:37
kilden bruker

stemmer
4

Hvis han er interessert, er ikke de små detaljene de gode delene? Ved hjelp av python, har du allerede kuttet GUI ut av det, slik at forvirringen er borte. Hvorfor ikke velge et prosjekt, et spill eller noe, og gjennomføre det. Den klassiske hi-lo antall gjettelek kan enkelt implementeres fra kommandolinjen i 20-30 linjer med kode (avhengig av språk selvfølgelig) og gir deg variabler, betingelser, løkker, og brukerundersøkelser.

Svarte 06/08/2008 kl. 05:08
kilden bruker

stemmer
2

Etter å ha gått gjennom noen gratis e-bøker, fant jeg den beste boken for å lære å program ble Head First Programming utgitt av O'Reily Press. Den bruker Python som språket og gir deg programmer for å arbeide med helt fra starten. De er alle mer interessant at 'Hello World'. Det er vel verdt pengene jeg har brukt på det, og siden det har vært ute for litt kan du være i stand til å finne en billigere brukt eksemplar på Ebay eller Amazon.

Svarte 03/01/2011 kl. 01:54
kilden bruker

stemmer
2

Python Challenge

Svarte 08/12/2010 kl. 16:58
kilden bruker

stemmer
2

Hvis broren din liker gåter, vil jeg anbefale Python Challenge . Jeg ville ikke bruke det som en formell pedagogisk verktøy i en 1 på en tutorial, men det er noe han kan gjøre når du ikke er sammen for å utfordre seg selv og ha det moro.

Svarte 07/04/2010 kl. 00:35
kilden bruker

stemmer
2

Bare gjør det morsomt!

Utrolig Scala kan være den enkleste hvis du prøver Kojo

Svarte 19/03/2010 kl. 13:44
kilden bruker

stemmer
2

Jeg tror Python er en flott idé. Jeg ville gi ham et par grunnleggende oppgaver å gjøre på egen hånd og fortelle ham at noen døde ender han treffer kan trolig løses ved en tur til google. For meg, i alle fall, løse et problem på min egen alltid gjort det holde seg bedre enn noen fortelle meg løsningen.

Noen mulige prosjekter (i tilfeldig rekkefølge):

  • Coin flip simulator. La brukeren taste inn et ønsket antall forsøk for mynt bla. Utføre den og vise resultatene sammen med den prosentvise for krone eller mynt.

  • Lag en temperatur konverter med en meny som tar brukerundersøkelser for å velge hvilken type konvertering brukeren ønsker å gjøre. Etter å ha valgt konvertering og gjør det, bør det gå tilbake til hovedmenyen.

    Her er et eksempel på en utvidet konverter med samme idé: http://pastebin.org/6541

  • Lag et program som tar et numerisk input og viser bokstavkarakter det ville oversette til. Det vil ende opp å vurdere innspill mot om og Elif utsagn for å finne ut hvor det passer.

  • Lag en enkel quiz som går gjennom flere multiple choice eller fylle ut de tomme spørsmålene. På slutten vil det vise hvordan brukeren gjorde. Han kan plukke noen spørsmål han vil.

  • Ta en inngang på noen (formodentlig stort) antall pennies og konvertere den til større kirkesamfunn. For eksempel, 149 pennies = 1 dollar, 1 kvartal, 2 dimes, og 4 pennies.

  • Lag en enkel liste manager. Kunne legge til / slette lister og legge til / slette oppføringene i disse listene. Her er et eksempel på en juleliste manager: http://pastebin.org/6543

  • Lag et program som vil bygge og teste om tastet inn tall danner et magisk kvadrat (med en 2D array). Her er noen eksempelkode, men det burde virkelig skrive ut plassen på hvert trinn for å vise hvor brukeren er i form av buliding plassen: http://pastebin.org/6544

Jeg vil også foreslå å gjøre noen ting med xTurtle eller annen grafikk modul å blande ting opp og holde ham fra å bli kjedelig. Selvfølgelig er dette svært mye praksis programmering og ikke skript at mange mennesker ville virkelig være å bruke python for, men de eksemplene jeg ga ganske mye direkte hentet fra da jeg var læring via python, og det har fungert bra for meg. Lykke til!

Svarte 04/08/2009 kl. 22:20
kilden bruker


stemmer
2

det er en wikibook som er ganske bra for å lære python .

Jeg vet ikke hvordan Wikibooks er for andre språk, men jeg personlig har lært python fra wikibook som det var i februar 2007

PS - hvis du ikke er kjent med Wikibooks , er det i utgangspunktet den wikipedia-versjonen av boken redigering. det er liksom vanskelig å beskrive, men hvis du sjekke ut noen av bøkene på det du vil se hvordan det fungerer

Svarte 26/08/2008 kl. 03:39
kilden bruker

stemmer
2

Hvis broren din har tilgang til iTunes, kan han laste ned videoforelesninger av et introduksjons informatikk kurs gitt av Richard Buckland ved University of New South Wales. Han er en engasjerende instruktør og dekker grunnleggende databehandling og C-språk. Om ikke annet, forteller broren din til å spille vids i bakgrunnen og noen begreper kan synke inn gjennom osmose. :)

COMP1917 Høyere Computing - 2008 Session en http://deimos3.apple.com/WebObjects/Core.woa/Browse/unsw.edu.au.1504975442.01504975444

Hvis koblingen ikke fungerer, her er en bane:

Hjem -> iTunes U -> Engineering -> COMP1917 Høyere Computing - 2008 Sesjon 1

Svarte 20/08/2008 kl. 21:54
kilden bruker

stemmer
2

Det er egentlig avhengig av din brors læringsstil. Mange lærer raskere ved å få hendene skitne og bare komme inn i det, krystallisering konsepter og det store bildet når de går videre og bygge sin kunnskap.

Meg, jeg foretrekker å starte med det store bildet og bore ned i kjedelige. Det første jeg ville vite var hvordan alt henger sammen så alt Objektorientert gobbledygook, så om klasser og instanser og så-videre. Jeg liker å vite de underliggende konsepter og litt teori før jeg lære syntaksen. Jeg hadde litt av en fordel fordi jeg skrev noen spill i BASIC 20 år siden, men ingenting mye siden.

Kanskje det er nyttig å skygge en produksjonsprosess ved å starte med en generell formålsparagraf, deretter en plan og / eller flytskjema, deretter utdype i noen pseudo-kode (tenderer mot syntaksen du til slutt vil bruke) før du faktisk skriver koden.

Den gylne regelen her er å suss ut studentens skjeve stil.

Svarte 06/08/2008 kl. 10:44
kilden bruker

stemmer
2

Jeg pleide å undervise programmering og din bror har en største fordelen over det meste av mine studenter han ønsker å lære :)

Hvis du velger å gå med C en venn har et nettsted som har den type programmer de av bruk fra eldre generasjoner huske som grunnleggende type-ins. Jo mer kompleks av dem bruker ncurses som liksom benekter deres bruk som et læremiddel noe, men noen av dem er bitte små ting, og du kan lære masse uten å bli lært opp til.

Personlig tror jeg Python og Ruby ville gjøre store morsmål.

EDIT: liste over nybegynner programmeringsoppgaver dukket opp over natten kan være akkurat det du leter etter.

Svarte 06/08/2008 kl. 06:07
kilden bruker

stemmer
2

Noe du bør være veldig oppmerksom på mens du lærer din bror til programmet er for ham ikke å stole for mye på deg. Ofte når jeg finner meg selv å hjelpe andre vil de begynne å tenke på meg som fasit til alle sine spørsmål og i stedet for å eksperimentere for å finne et svar de bare spør meg. Ofte den beste læreren er eksperimentering og hver gang din bror har et spørsmål som "Hva vil skje hvis jeg legger 2 til en streng?" du bør fortelle ham til å prøve det ut og se selv. Jeg har også lagt merke til at når jeg ikke kan få et konsept gjennom til noen, hjelper det å se noen eksempelkode der vi kan se på hvert segment individuelt og forklare det bit for bit. Som en side note folk nye til programmering har ofte problemer med ideen om objektorientert programmering, vil de si at de forstår det når du lære det til dem, men vil ikke få et klart konsept av det før faktisk gjennomføre det.

Svarte 06/08/2008 kl. 05:18
kilden bruker

stemmer
2

Først av alt, starter ut som alle andre gjør: med en Hello World program. Det er enkelt, og det gir dem en grunnleggende følelse for utformingen av et program. Prøv og husker tilbake til da du var første programmering, og hvor vanskelig noen av konseptene ble - start enkelt.

Etter Hello World, gå videre til å lage noen grunnleggende variabler, regning, deretter til boolsk logikk og hvis / annet uttalelser. Hvis du har fått en av dine gamle programmerings lærebøker, sjekk ut noen av de tidlige eksemplene og har ham kjøre gjennom disse. Bare ikke prøv å innføre for mye på en gang, eller det vil være overveldende og forvirrende.

Svarte 06/08/2008 kl. 05:13
kilden bruker

stemmer
1

Academic Earth tilbyr linker til gratis Computer Science kurs fra topp universiteter. De har en seksjon rettet mot begynnelsen Computer Science. Språkene undervist i begynnelsen kursene varierer:

  • MIT - Innføring i informatikk og programmering - Python
  • Stanford - Computer Science I: Programmering Methodology - Java
  • Harvard - Introduksjon til Computer Science I - C (hovedfokus), med noen få andre stenket i for godt mål (for eksempel SQL, PHP, LISP, Assembler, etc.)
  • Berkeley - en dialekt av LISP språket
Svarte 17/04/2010 kl. 12:33
kilden bruker

stemmer
1

Prøv å finne en kopi av Hvorfor er (Poignant) Guide til Ruby online. Den opprinnelige området er offline, men jeg er sikker på at det er noen speil der ute. Det er ikke en typisk programmering guide; det setter en unik (og morsomme) spin på å lære et nytt språk som kan passe din venn. For ikke å nevne, er Ruby et flott språk å lære med.

Svarte 26/08/2009 kl. 15:22
kilden bruker

stemmer
1

Jeg kan anbefale prosjektet mitt, PythonTurtle .

Sammendrag:

PythonTurtle tilstreber å gi den laveste terskelen måte å lære Python. Elevene kommandere en interaktiv Python skall (tilsvarende IDLE utviklingsmiljø) og bruke Python virker til å bevege seg en skilpadde som vises på skjermen. En illustrert hjelpeskjermen introduserer studentene til grunnleggende Python programmering mens demonstrere hvordan du flytter skilpadden.

Det ser ut som dette:

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

Svarte 04/08/2009 kl. 21:42
kilden bruker

stemmer
1

Jeg tror Python er en virkelig flott språk å begynne med: :-)

Jeg foreslår at du prøver http://www.pythonchallenge.com/

Det er bygget som et lite eventyr, og hvert Solutions knytter deg til en ny hyggelig problem.

Etter oppløst stoff problemet får du tilgang til en fin Forum for å snakke om din kode og får se hva andre mennesker skapt.

Svarte 08/07/2009 kl. 09:57
kilden bruker

stemmer
1

når du har lært dem å programmere, kanskje de ønsker å lære å utvikle programvare .. for at jeg tror Greg Wilsons programvare Snekker kurset er stor .. den bruker også Python som studentens språk.

Svarte 18/03/2009 kl. 14:51
kilden bruker

stemmer
1

Bok: Java Programmering for barn, foreldre og besteforeldre (PDF)

Jeg har ikke personlig erfaring om å lære å bruke den boka, men det ser ut til å være fint fordi det raskt går til å produsere noe synlig, og ikke bruke for mye tid med syntaktiske itty bitty detaljer. Har noen her prøvd å bruke den boken?

Svarte 14/02/2009 kl. 13:47
kilden bruker

stemmer
1

Veldig bra video introduksjonskurs ved Stanford University (ingen forkunnskaper nødvendig):

programmering Methodology

Vil lære deg gode "metoder" hver programmerer bør vite og noen Java-programmering.

Svarte 20/09/2008 kl. 22:23
kilden bruker

stemmer
1

Når han har grunnleggende, jeg foreslå Tower of Hanoi som en god øvelse. Jeg anbefaler deg å starte med tre leketøy hvis du har en, la ham prøve å løse problemet av seg selv og beskriver sin metode på en systematisk måte. Vis ham hvor rekursjon kommer inn i bildet. Forklar ham hvordan antall trekk avhenger av antall disker. Så la ham skrive et program for å skrive ut sekvens av trekk i språket av valget.

Svarte 19/09/2008 kl. 11:43
kilden bruker

stemmer
1

Jeg skummet gjennom kommentarene og ser ut som ingen nevnte Foundations of Programming fra www.CodeBetter.com . Selv om det krever litt foundation, kan det sikkert være en neste trinn i læringsprosessen.

Svarte 10/09/2008 kl. 00:29
kilden bruker

stemmer
1

Hvis han er interessert enn jeg ville ikke bekymre deg om å fokusere på spill eller whatnot. Jeg ville bare ta som nybegynnere lære deg x 'bok du var i ferd med å kaste og gi den ham og la ham slite gjennom det. Kanskje snakke om det etter, og deretter gjøre en annen og en annen. Etter da vil jeg koble program med ham slik at han kunne lære grunt og halt de bøkene han leste var. Da jeg skulle begynne å ha ham kode noe for seg selv. Et nettsted for å spore softball statistikk eller hva ville engasjere ham. For meg var det en database for vin tilbake i dag.

Etter det skulle jeg begynne med på den virkelige bøker, domene design osv

Svarte 08/09/2008 kl. 17:40
kilden bruker

stemmer
1

En god ressurs for å lære unge mennesker er det gratis eBok "Invent dine egne spill med Python":

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

Svarte 01/09/2008 kl. 13:21
kilden bruker

stemmer
1

Begynn med å spørre ham dette spørsmålet: " Hva slags ting du ønsker å gjøre med datamaskinen "

Deretter velger du et sett av aktiviteter som passer hans svar, og velg et språk som gjør disse tingene som må gjøres. Alle bedre hvis det er en enkel (eller simplifiable) scripting miljø (for eksempel Applescript, Ruby, noen skall (Ksh, Bash, eller bat-filer).

Årsakene er:

  1. Hvis han er interessert i resultatene, vil han sannsynligvis være mer motivert enn hvis du har ham telle Fibonacci er kaniner.
  2. Hvis han får resultatene han liker, vil han sannsynligvis tenke seg variasjoner på de aktivitetene du oppretter.
  3. Hvis du lærer ham, er han ikke forfølge en seriøs karriere (ennå); det er alltid tid til å bytte til "industriell styrke" språk senere.
Svarte 28/08/2008 kl. 23:59
kilden bruker

stemmer
1

Jeg vet ikke sikkert hva som vil være det beste for din bror, men jeg vet at jeg startet med python. Jeg har spilt ulike spill fra en svært tidlig alder, og ønsket å gjøre min egen, så min onkel introduserte meg til Python med pygame biblioteket. Det har mange tutorials og gjør det lett (VEI enklere enn OpenGL etter min mening). Det er begrenset til 2d, men du bør starte opp enkelt likevel.

Min onkel anbefales python fordi han var interessert i det på den tiden, men jeg anbefaler det, nå ganske kunnskapsrik, fordi det er lett å lære, intuitiv (eller så intuitivt som et programmeringsspråk kan få), og enkle (men absolutt ikke forenklede) .

Jeg personlig fant grunnleggende programmering rett og slett å lære programmering obscenely kjedelig på den tiden, men tok seg opp betydelig entusiasme som jeg gikk. Jeg hadde lyst til å lære for å bygge noe, ikke bare for å lære det.

Svarte 26/08/2008 kl. 19:12
kilden bruker

stemmer
1

Jeg vil anbefale Charles Petzold bok Code - The Hidden langauge av maskinvare og programvare som en utmerket generell innføring i hvordan datamaskiner fungerer.

Det er mye av informasjonen i boken (382 sider) og det kan ta en absolutt nybegynner litt tid til å lese, men det er vel verdt det. Petzold klarer å forklare mange av de sentrale begreper i datamaskiner og programmering fra enkle koder, releer, minne, CPU til operativsystemer og GUI i en veldig klar og morsom måte. Det vil gi enhver leser med en god følelse av hva som egentlig skjer bak kulissene når de skriver kode.

Jeg absolutt skulle ønske det var rundt da jeg først lærte å programmere!

Svarte 23/08/2008 kl. 18:14
kilden bruker

stemmer
1

Prosjekt Euler har en rekke interessante matematiske problemer som kan gi flott materiale for en begynnelse programmerer til å kutte sine tenner på. Problemene begynner lett og øker i vanskelighetsgrad og nettet er full av eksempler på løsninger i ulike programmeringsspråk .

Svarte 22/08/2008 kl. 20:27
kilden bruker

stemmer
1

Python er lett for nye utviklere å lære. Du ikke får viklet inn i detaljene i minnehåndtering og type definisjon. Dive Into Python er en god nybegynner guide til Python programmering. Da min søster ønsket å lære programmering jeg pekte henne til "Head Start" linje av bøker som hun fant veldig lett å lese og forstå. Jeg synes det er vanskelig å bare begynne å lære noen fordi du ikke har et leksikon å bruke med dem. Først har han lest et par bøker eller tutorials og be deg om spørsmål. Derfra kan du tildele prosjekter og karakteren dem. Jeg finner det vanskelig å lære programmering fordi jeg lærte det over nesten 15 år med fiksing og triksing rundt.

Svarte 22/08/2008 kl. 14:09
kilden bruker

stemmer
1

Det er en bok som heter kode . Jeg kan ikke huske hvem som skrev det, men det går gjennom det grunnleggende en masse ting som vi (programmerere) kjenner og tar for gitt at folk vi snakker med vet også. Alt fra hvordan du teller binært til hvordan prosessorer arbeid gjør. Det har ikke noe å gjøre med programmeringsspråk i det (vel fra det jeg husker), men det er en ganske god primer. Jeg skal innrømme at jeg er også av den skolen som mener du må vite hvordan datamaskinen fungerer for å kunne effektivt programmere ting for det.

Svarte 19/08/2008 kl. 14:52
kilden bruker

stemmer
1

Hva med denne: Gytingen neste generasjon av hackere med Nat Torkington.

Svarte 18/08/2008 kl. 15:24
kilden bruker

stemmer
1

Mange ting utløst meg i begynnelsen, men ingen mer enn enkle mekanikk. Konsepter, tok jeg umiddelbart. Men savner en avsluttende spenne? Lett å gjøre, og ofte vanskelig å feilsøke, i en ikke-triviell program.

Så, er min ydmyke råd: ikke understimate grunnleggende (som god typing). Det høres remedial, og selv dumt, men det reddet meg så mye sorg tidlig i min læringsprosess når jeg snublet over den enkle teknikken for å skrive ferdig "skjelett" av en kodestruktur og deretter bare å fylle det i.

For en "hvis" statement i Python, starter med:

if  :

I C / C ++ / C # / Java:

if () 
{

}

I Pascal / Delphi:

If () Then
Begin

End

Deretter type mellom åpning og lukking symboler. Når dette blir en fast vane, så du gjør det uten å tenke, mer av hjernen er frigjort til å gjøre morsomme ting. Ikke en veldig prangende bit av råd til å poste, jeg innrømmer, men en som jeg har personlig sett gjør mye bra!

Edit: [ Justin Standard ]

Takk for ditt bidrag, Wing. Relatert til hva du sa, er en av de tingene jeg har prøvd å hjelpe min bror huske syntaksen for python scoping, at hver gang det er et kolon, må han rykke neste linje, og helst han mener han burde rykke, det bedre være et kolon slutt på forrige linje.

Svarte 16/08/2008 kl. 00:46
kilden bruker

stemmer
1

Jeg vil foreslå å ta en tilnærming likt som i boken, Accelerated C ++ som de dekker deler av C ++ som er generelt nyttig for å lage enkle programmer. For noen nye til programmering jeg tror at å ha noe å vise for en liten mengde arbeid er en god måte å holde dem interessert. Når du har dekket det grunnleggende Python så bør du lene deg tilbake og la ham experiement med språket.

I en av mine universitetsfag for dette semesteret har de tatt en tilnærming som kalles problembasert læring (PBL), hvor de bruker forelesninger å stimulere studenter om ulike problemstillinger. Siden broren din er opptatt bør du ta en lignende tilnærming. Sett ham små prosjekter å jobbe på og la ham finne ut av det selv. Så når han er ferdig kan du gå gjennom sin tilnærming og sammenligne og kontrast med ulike metoder.

Hvis du kan gi ham akkurat den rette mengden hjelp til å styre ham i riktig retning så han bør være i orden. Providng ham med noen gode nettsteder og bøker vil også være en god idé.

Jeg vil også anbefale å stikke unna IDE er på start etapper. Bruke kommandolinjen og en teksteditor vil gi ham en større forståelse av de involverte i kompilering / montering kode prosesser.

Jeg håper jeg har vært til hjelp. :)

Svarte 13/08/2008 kl. 09:29
kilden bruker

stemmer
1

Dette høres kanskje dumt, men hvorfor er du prøver å lære din bror til å programmere?

Ofte det beste læringsmiljøet består av et mål som kan oppnås ved en ivrig nybegynner (et prøveprogram), en rikelig tilførsel av ressurser (google / opplæring / bøker), og en kunnskapsrik kilde til råd som kan gi veiledning når det trengs.

Du kan definitivt hjelpe til med forslag for de to første, men den siste er din primære rolle.

Svarte 13/08/2008 kl. 06:10
kilden bruker

stemmer
1

Kopier en enkel kode linje for linje, og få dem til å lese og tolke det som de går sammen. De vil snart finne ut av det. Jeg begynte programmering på en Acorn Electron med kodebiter fra Acorn magasiner. Jeg hadde ingen anelse om programmering da jeg var seks, pleide jeg å kopiere teksten, men etter hvert lærte jeg hva de ulike ordene betydde.

Svarte 11/08/2008 kl. 12:23
kilden bruker

stemmer
1

Det har allerede vært en haug med flotte svar, men for en nybegynner, vil jeg helhjertet anbefale Hackety Hack . Det ble skapt av den urimelig produktive why_the_lucky_stiff spesielt for å gi grunnleggende / LOGO / Pascal-lignende miljø for nye programmerere til å eksperimentere i. Det er egentlig en sleip Ruby IDE med noen flotte biblioteker (flash video, chat, web server) og interaktive leksjoner. Det gjør en god pitch for programmering, som det valgte leksjoner som gjør morsomme, nyttige ting. "Hei, verden" kan ikke imponere rett utenfor balltre, men å skape en tilpasset IM klient i 20 minutter kan inspirere noen til å fortsette å lære. Ha det gøy!

Svarte 11/08/2008 kl. 04:30
kilden bruker

stemmer
1

Robert Les skrev en nyttig guide, Hvordan være en programmerer , som dekker et bredt område av programmering problemer som en nybegynner ville finne nyttig.

Svarte 09/08/2008 kl. 16:28
kilden bruker

stemmer
1

Jeg anbefaler også å se noen screencasts - de er som regel laget i sammenheng med en bestemt teknologi ikke et språk, men hvis det er Python-koden som vises, som vil gjøre :). Poenget er - de er skapt av noen gode programmerere og ser på hvordan gode programmerere programmet er en god ting. Du og din bror kunne gjøre noen peer programmering også, som kan være en enda bedre idé. Bare ikke glem å forklare hvorfor du gjør noe på denne måten, og ikke på den måten. Jeg tror den beste måten å lære programmering er fra gode eksempler og prøv å ikke engang se de dårlige.

Svarte 09/08/2008 kl. 08:17
kilden bruker

stemmer
1

Jeg lærte ved å lære hvordan å løse problemer i et språk agnostiker måte ved hjelp av flytskjemaer og PDL (Program designspråk). Etter et par uker med det, lærte jeg å konvertere PDL jeg hadde skrevet til et språk. Jeg er glad jeg lærte på den måten fordi jeg har tilbrakt mesteparten av mine år programmering, løse problemer uten å være bundet til et språk. Hvilket språk bruker jeg har alltid vært en implementering detalj og ikke en del av designet.

Å måtte løse problemet ved å bryte det ned i det grunnleggende trinn er en viktig ferdighet. Jeg tror det er en av de tingene som skiller de som kan programmere fra de som ikke kan.

Såvidt hvordan du takle rekkefølgen av begrepene et språk jeg tror den enkleste måten er å bestemme det er å ha et prosjekt i tankene, og takle de begrepene som de trengs. Dette lar deg bruke dem som de er nødvendig på noe som du er interessert i å gjøre. Når lære et språk det er godt å ha flere enkle prosjekter i tankene, og noen med progressiv kompleksitet. Bestemme på de vil hjelpe deg å kartlegge begreper som er nødvendige og deres rekkefølge.

Svarte 09/08/2008 kl. 02:23
kilden bruker

stemmer
1

Jeg tror at når han har grunnleggende (variabler, løkker, etc) ned bør du prøve å hjelpe ham å finne noe spesielt at han er interessert i, og hjelpe ham å lære nødvendigheter for å gjøre det skje. Jeg vet at jeg er mye mer tilbøyelig og motivert for å gjøre noe hvis det er av interesse for meg. Sørg også for å la ham slite om noen av de tøffere problemer, ingenting er mer gledelig enn det øyeblikket du finne ut av det på egen hånd.

Svarte 07/08/2008 kl. 22:12
kilden bruker

stemmer
1

Hvis du ønsker å lære det grunnleggende programmering, uten å være språkspesifikke, er det et program som heter Scratch som ble opprettet i MIT. Den er designet for å hjelpe folk å utvikle kunnskaper om programmering. Som brukere lage Scratch-prosjekter, lærer de å skape betingelser, løkker, etc. Det er en også et fellesskap av skrape prosjekter, form som prosjekter kan lastes ned - på den måten du kan utforske andres programmer og se hvordan de ble bygget.

Svarte 06/08/2008 kl. 07:15
kilden bruker

stemmer
0

Jeg anbefaler Python Programming: En introduksjon til Computer Science 2. utgave av John Zelle . Det er rettet mot nybegynnere, og avtaler med semantikk programmering. Etter å ha lest vil du være i stand til å plukke opp andre språk mye raskere på grunn av Zelle semantiske vs. syntaktisk tilnærming. Sjekk det ut!

Svarte 29/05/2011 kl. 03:05
kilden bruker

stemmer
0

Spør din bror om det er noe han ønsker å lage et program gjøre eller oppfinne et prosjekt for ham som du tror vil interessere ham.

Noe der han kan vite hva resultatet er ment å være, og peke ham til materialer (on-line eller i papirutgave) relevant for prosjektet. Hvis han kommer inn i python eller programmering 'kalde' være tålmodig som han arbeider seg gjennom å forstå de grunnleggende som syntaks, feil, scoping og være forberedt på å tre til side og la ham løpe og gjøre sine egne feil når du begynner å se lyset pære går på over hodet.

Svarte 12/05/2011 kl. 13:28
kilden bruker

stemmer
0

Bruk virkelige verden analogi og imaginære karakterer for å lære dem programmering. Som når jeg lære folk om variabler og kontroll uttalelser mv

Vanligvis begynner jeg med kalkulator eksempel. Jeg sier tenke u ha en boks for hver variabel og u har 10 kort brett med tallene 0 - 9 trykt på dem. Si at boksen kan holde en papp om gangen og lignende måter å forklare hvordan programmerings elementene arbeider

Og vekt på hvordan hver operatør fungerer .. liker den enkle '=' operatør beregner alltid høyre side først inn en verdi. og sette denne verdien til boksen som heter "NUM_1" (som er variabelnavn)

Dette har vært veldig veldig effektive, som de er i stand til å forestille flyten svært raskt.

Svarte 18/12/2009 kl. 14:59
kilden bruker

stemmer
0

Jeg er enig med superjoe30 over, men jeg har ikke nok rykte ennå til å legge igjen en kommentar.

Jeg var en CS professor i 4 år. Språkene var grunnleggende, og deretter Pascal, men det spiller egentlig ingen rolle hva språk er.

Den største lærdommen jeg har lært som en ny prof var, uansett hvor enkelt jeg trodde et konsept var, det er ikke enkelt å en nybegynner. Aldri gå noe raskere enn studenten kan gå. Jeg kan ikke understreke det nok. Gå veldig, veldig sakte.

Jeg vil begynne med svært enkle ting, lese og skrive, kanskje et enkelt regnestykke, bare for å få student vant til å sette noe inn og få noe ut. Deretter IF uttalelser. Så veldig enkelt FOR looper, alltid i form av noe studenten kunne skrive og ha det gøy med.

Så jeg ville bruke ca 3 uker undervisning en veldig enkel form for maskinspråk for en falsk desimal maskin kalt simpl, som du kan enkelt trinn. Grunnen til å gjøre dette slik at studenten kan se hvor "gummi møter veien", som datamaskiner har ting steg for steg, og det gjør en forskjell hvilken rekkefølge ting skjer i. Uten at elevene har en tendens til å tenke datamaskinen kan liksom lese deres sinn og gjøre alt på en gang.

Deretter tilbake til Basic. En par uker på arrays, fordi det er en stor fartsdump. Deretter sekvensielle filer, som er en annen fartsdump. Hva jeg mener med "speed bump" er studenten kan seile sammen følelsen ganske trygg, og deretter du treffer dem med et konsept som matriser, og de er helt tapt igjen, til du lette dem gjennom den.

Deretter, med de ferdigheter under beltet, ville jeg ha dem plukke et langsiktig prosjekt, fordi det er det som gjør programmering interessant. Uten bruk for det, det er veldig kjedelig. Jeg vil foreslå en rekke prosjekter, for eksempel spill, regnskapsprogrammer, vitenskap programmer, etc. Det er virkelig flott å se dem bli slått på. Ofte vil de spør meg om hjelp, og det er flott, fordi du vet at de lærer.

Mens de gjorde sine prosjekter, vil vi fortsette å dekke mer avanserte programmeringsteknikker - søking, sortering, sammenslåing, hvordan å lage en enkel database, etc.

Lykke til. Undervisning er hardt arbeid, men tilfredsstillende når du ser elevene vokse.

Svarte 18/11/2008 kl. 02:06
kilden bruker

stemmer
0

Microsoft Small Basic er et gratis .NET basert programmeringsmiljø som mål å være en "morsom" læringsmiljø for nybegynnere. Språket er en undergruppe av VB.NET og selv inneholder en "Turtle" objekt kjent fra Logo språk. Nettstedet inneholder en steg-for-steg tutorial.

Svarte 18/11/2008 kl. 01:40
kilden bruker

stemmer
0

"Hvem er redd for C ++" Ved Heller

Kan være verdt et skudd

Svarte 30/10/2008 kl. 04:38
kilden bruker

stemmer
0

Jeg foreslår " Computer Science Unplugged " som en komplementær didaktisk materiale.

Svarte 11/10/2008 kl. 23:32
kilden bruker

stemmer
0

1 til Stanford University forelesninger. http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111

De er enkle, av høy kvalitet, og jeg kan gå god for deres evne til å lære nybegynnere (meg å være en av dem).

Svarte 03/10/2008 kl. 11:38
kilden bruker

stemmer
0

Uansett hva de skriver, har dem gå gjennom det i en debugger linje for linje på første løp. La dem se for seg hva maskinen gjør. Dette tar mye mysterium ut av ting, reduserer trusler ( "oh, hver linje er faktisk så enkelt!"), Og hjelper dem å lære debugging ferdigheter og gjenkjenne hvorfor vanlige feil er vanlige (og hvorfor de er feil)

Svarte 21/09/2008 kl. 22:30
kilden bruker

stemmer
0

Uansett språk og miljøet du velger, hvis studenten ønsker å lære av profesjonelle grunner, eller for å gjøre "ekte" programmering (hva nå det er), har dem begynne med å skrive sine start programmer 1 på papir og ta dem bort for å kjøre. Kom tilbake med utgangs og / eller feil resultater og ha dem fikse ting på papir.

Dette er ikke særlig vanskeligere i begynnelsen, enn å gjøre det på skjermen og treffer kjøre, men det vil gjøre ting mye lettere når de begynner å oppdage den fantastiske verden av bugs.

1) kort, "Hello, World!" - type programmer som fortsatt har noen logiske og / eller beregninger, gjør dette til noen programmer som kan ha feil

Svarte 21/09/2008 kl. 22:27
kilden bruker

stemmer
0

Ditt spørsmål helt an på alder og utdanning av broren din, men hvis han er et barn / tenåring, vil jeg anbefale å gjøre noen GUI programmering eller grafisk programmering først (med lerret etc.). Det ser bra ut, og du har umiddelbare resultater. Algoritmer er kjedelig, og for abstrakt for unge mennesker (før si 15 år gammel).

Da jeg begynte programmering på ZX Spectrum (jeg var som 12 år gammel), jeg likte å tegne forskjellige ting på skjermen, og det var likevel interessant. Jeg fikk ikke vite om virkelige algoritmiske teknikker før jeg var kanskje 18. Ikke villede at slike "enkle" programmering er en feil start; interessen for personen å lære det er den viktigste delen av det.

Så, jeg ville se nærmere PyKDE, PyGTK, PyQt eller Python + OpenGL (det er sikkert noen tutorials på nettet, jeg vet om noen tsjekkiske seg, men det vil ikke hjelpe deg :)).

Selvfølgelig, hvis bror er eldre og har utdannelse nær matematikk, kan du ta turen direkte til algoritmer og slikt.

Svarte 19/09/2008 kl. 12:08
kilden bruker

stemmer
0

Jeg vil anbefale Tenk Python .

Svarte 16/09/2008 kl. 10:31
kilden bruker

stemmer
0

Et par andre start plattformer:

  • En god programmerbar kalkulator (det er det jeg har lært på ryggen på 70-tallet), og HP25 deretter HP41, nå TI69, etc.
  • Interaktiv Fiction plattformer, som "Informer 7" gi en annen vinkel på hele greia
  • Flash / Actionscript

Alle disse er forskjellige og engasjerende, og noen av disse kan skape en gnist hva slags interesse som er nødvendig for å få en nybegynner av og kjører.

LBB

Svarte 16/09/2008 kl. 06:51
kilden bruker

stemmer
0

Som en ikke-programmerer meg selv, fant jeg boken "How to Program" fra Pragmatic Programmers svært nyttig fra en elementær ståsted. Det er imøtekommende og lett å lese for en nybegynner. Det vil ikke ta deg fra nybegynner til ekspert, men det vil forberede deg for hva du skal gjøre når du velger et språk og plukke opp din første "Lær å programmere i (språk her)" bok.

Svarte 12/09/2008 kl. 20:51
kilden bruker

stemmer
0

Å ha små, oppnåelig mål er en av de beste måtene å lære noen ferdigheter. Programmering er ikke annerledes. Python er et flott språk å begynne med, fordi det er lett å lære, ren og kan fortsatt gjøre avanserte ting. Python er bare begrenset av fantasien.

En måte å virkelig få noen interessert er å gi dem små prosjekter som de kan gjøre i en time eller så. Da jeg opprinnelig begynte å lære python jeg spille Kode Golf . De har mange små utfordringer som vil bidra til å lære det grunnleggende programmering. Jeg vil anbefale bare å prøve å løse en av de utfordringene en dag, og deretter spille med konseptene lært. Du har å gjøre læring å programmere moro eller interessen vil gå tapt svært raskt.

Svarte 07/09/2008 kl. 20:25
kilden bruker

stemmer
0

Jeg brukte med mine barn er CEEBot . Det er ikke python, men det lærer C / Java stil programmering i en morsom, robot-programmering typen spill. Det er rettet mot 10-15 åringer, men det er en veldig god en.

Svarte 06/09/2008 kl. 16:42
kilden bruker

stemmer
0

Noen tilleggsinformasjon som noen kunne knytte til Jason Pratts tidligere innlegg om Alice ... spesielt, en fortelling Alice variant.

Selv om studien presenteres er rettet mot ungdomsskole jenter, kan du finne det hvite papiret skrevet av Caitlin Kelleher interessant.

Svarte 06/09/2008 kl. 15:30
kilden bruker

stemmer
0

Det kan virke rart, men jeg kom i gang å skrive kode ved å automatisere oppgaver og dataanalyse på min tidligere jobb. Dette ble gjort ved opptak deretter studere koden en Excel makro generert. Selvfølgelig denne tilnærmingen forutsetter at du kan lære via VB.

Svarte 05/09/2008 kl. 02:20
kilden bruker

stemmer
0

Noe å vurdere ... ikke alle er i stand til programmering:

Noen mennesker bare ikke kan få siste ting som:

A = 1

B = 2

A = B

(Disse menneskene vil fortsatt tror A = 1)

Jeff har snakket om dette også. Faktisk er mitt eksempel i linken (og forklarte, til boot).

Svarte 04/09/2008 kl. 20:23
kilden bruker

stemmer
0

Den beste måten å lære noe, er å starte med det grunnleggende. Du kan finne noen god lærebok for å forklare hva programmering er, minne, algoritmer.

Det neste trinnet velge hvilket språk som det bare an på hva læreren vet eller hvorfor eleven ønsker å lære.

Da er det bare kode, kode, kode. Koden hver eksempel rett fra boken. Deretter endrer det litt å gjøre en annen handling. Lære å program er en aktiv prosess ikke en passiv. Du kan ikke bare lese C ++ How to Program ved Dietal og så forvente å kode C ++ uten å ha aktivt gjort det mens du leser.

Selv om du er en erfaren koder hjelper det å skrive koden i boken for å lære noe nytt.

Svarte 27/08/2008 kl. 15:25
kilden bruker

stemmer
0

For meg, utforske og eksperimentere innenfor IDE selv hjalp meg å lære Java og Visual Basic, men jeg lærte det grunnleggende programmering på den harde måten: Perl 5. Det var ikke en ledig IDE tilbake da, så det betydde skrive kodene i Notisblokk , lagre den, og deretter kjøre perl tolk.

Jeg vil si at IDE gjør lære grunnleggende programmering enklere. Prøv å spille rundt med kontrollstrukturer og variabler første. Sier i Java:

int a = 5;

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

I utgangspunktet, er det bare å lære kontrollstrukturer og variabler ville tillate en nybegynner å starte koding morsomme ting allerede.

Svarte 22/08/2008 kl. 10:32
kilden bruker

stemmer
0

I min forutinntatt mening, er C det beste utgangspunktet for å starte. Språket er liten, det er høyt nivå funksjoner er allestedsnærværende og lavt nivå funksjoner lar deg lære maskinen.

Jeg fant C Primer Plus, 5. utgave svært nyttig som en begynnelse programmerer med nesten ingen erfaring med programmering. Det forutsetter ingen tidligere erfaring med programmering, morsomt å lese og dekker C i dybden (inkludert den nyeste C99 standard).

Svarte 19/08/2008 kl. 08:37
kilden bruker

stemmer
0

Min personlige erfaring startet tilbake i elementær hjelp Logo Writer (som på en måte har utviklet seg til Scratch), gitt jeg var liten gutt og datamaskiner der ikke så fantastisk som de er i dag, men for tiden det tok meg steder jeg ikke hadde' t vært før ... jeg tror det er hvordan jeg ble hektet i bransjen ... jeg kan si at det var disse første inntrykk basert på slike enkelhet og coolness som gjorde varene som stikker inn i hodet mitt for livet. Det er hvordan grunnleggende i undervisningen programmering bør læres ... en enkel prosess som lengter magi.

Tilbake til min første CS 101, begynte jeg med forestillinger om hva en algoritme var ved å bygge en Tequila Sunrise (en trinnvis prosess som kan gjentas når som helst med de riktige ingrediensene, som vil resultere i samme output), derfra vi går videre til grunnleggende matematiske funksjoner med Scheme (som EHaskins sa ... begynne i det små og deretter bygge opp), og derfra til forestillinger om looper, boolsk logikk, strukturer og deretter bygge inn konsepter av gjenstander og noen simulerings henrettelser .. .

En av de gode tingene om denne tilnærmingen er at språket var ikke et mål, men bare et verktøy i prosessen med å lære begreper og grunnleggende programmering (akkurat som operatører, funksjoner og annet er i matematikk).

IMHO lære grunnleggende programmering og skape et fundament er sannsynligvis det beste du kan lære din bror, når målet er dekket så u kan gå videre til en mer generell bruk språk som Python og lære dem høyere begreper som arkitektur og design mønstre ( gjøre dem naturlig i prosessen så han vil få bruk for god praksis fra tidlig fase og vil se dem som en del av prosessen) ... vi er langt fra å gjenoppfinne varmt vann, men vi må alltid begynne med å lage ild.

Derfra himmelen er grensen!

Svarte 16/08/2008 kl. 15:56
kilden bruker

stemmer
0

Først var jeg interessert i hvordan forskjellige programmer virket, så jeg startet med å se på kildekoden. Så når jeg begynte å forstå hvordan programmet virket, ville jeg endre visse parametre for å se hva som ville skje. Så i utgangspunktet jeg lærte å lese før jeg lærte å skrive. Som sammentreffet er hvordan folk flest lære engelsk.

Så hvis jeg prøvde å lære noen hvordan å programmere jeg ville gi dem et lite program for å prøve å lese og forstå hvordan det fungerer, og har dem bare bare leke seg med kildekoden.

Først da vil jeg gi dem "oppdrag" for å prøve å oppnå.

Nå hvis de hadde en spesiell grunn for å ville lære å programmere, ville det sikkert være en god idé å starte med noe langs linjene av hva de ønsker å oppnå. For eksempel hvis de ønsket å bli dyktigere i et program som blender , ville det definably være en god idé å starte med Alice .

Jeg vil absolutt anbefale å holde seg med et språk som har søppelrydding, som D , Perl , eller noen tolket språk som Javascript. Det kan være en god idé å holde seg borte fra Perl til Perl 6 er nærmere ferdigstillelse, fordi det løser noen av vanskelighetene med å lese og forstå Perl.

Svarte 14/08/2008 kl. 16:23
kilden bruker

stemmer
0

Denne tråd er meget nyttig for meg som en nybegynner (> 100 linjer med kode) programmerer.

Basert på hva jeg har vært gjennom, når jeg er ferdig med "Hello World" og flytte til variabler og "hvis / else" statement, jeg fikk zapped med for mye syntaks; ikke vite hva de skal gjøre med dem.

Så med en interessant enkelt prosjekt, kan jeg få min interesse opp igjen. Det er ganske mye av prosjekt forslagene her.

Kan jeg stille spørsmål her?

Er det bedre å lære et skriptspråk som Autohotkey første?

Edit: [Justin Standard]

Jeg tror lære noe makro-baserte som Autohotkey vil bare hjelpe minimalt. Prøv å lære en "ekte" programmeringsspråk først. Den enkleste å komme i gang med (i henhold til de fleste) er Python og Ruby . Jeg favør python, men begge er ganske enkel. Det er også en hel Stackoverflow innlegg som svar på spørsmålet om hvilket språk å begynne med.

Svarte 14/08/2008 kl. 01:30
kilden bruker

stemmer
0

Min favoritt "begynne å lære å kode" -prosjektet er spillet Snakes eller Tron fordi det tillater deg å begynne sakte (variabler til å lagre dagens "ormen posisjon", matriser til å lagre ormen stillinger hvis ormen er lengre enn en "brikke", looper å gjøre ormen flytte, hvis / bryter for å tillate brukeren å endre ormen retning, ...). Den tillater også å omfatte flere og flere ting inn i prosjektet i det lange løp, for eksempel objektorientert programmering (en orm er ett objekt med muligheten til å ha to ormer samtidig) med arv (gå fra "Snakes" til "Tron "eller den andre veien rundt, hvor ormen endrer litt atferd).

Jeg vil foreslå at du bruker Microsofts XNA å starte. I min erfaring begynner å programmet er mye mer moro om du kan se noe på skjermen, og XNA gjør det veldig lett å få noe beveger seg på skjermen. Det er ganske enkelt å gjøre små endringer og få en ny titt, for eksempel ved å endre farger, slik at han kan se at hans handlinger har en effekt -> Inntrykk av suksess. Suksess er morsomt, noe som er en stor motivasjon til å holde på læring.

Svarte 11/08/2008 kl. 12:59
kilden bruker

stemmer
0

Jeg anbefaler i første lærer det grunnleggende som brukes i nesten alle språk, men gjør det uten et språk. Skissere alle de grunnleggende konseptene If-Else If-Else, looper, kurs, Variable Typer, Structures, etc. Alt som er grunnlaget for de fleste språk. Deretter flytter inn virkelig forstå boolske, sammenligninger og kompleks og OR uttalelser, for å få en følelse av hva resultatene er for mer komplekse setninger.

Ved å gjøre det på denne måten vil han forstå begrepene programmering og ha en mye lettere tid å trå inn språk, derfra er det bare å lære de intrikate detaljene i språk, dens funksjoner og syntaks.

Svarte 11/08/2008 kl. 12:30
kilden bruker

stemmer
0

First off, tror jeg har det allerede vært noen store svar, så jeg vil prøve å ikke lure for mye.

  • Få dem til å skrive mye kode, holde dem stille spørsmål for å holde hjernen juices strømmer.
  • Jeg vil si ikke overbelastes ned med virkelig detaljert informasjon før de enten kjøre inn i konsekvensene av dem, eller de spør.

Jeg tror en av de største punktene jeg ville sikre at de forstår sentrale begreper i et rammeverk. Jeg vet at du jobber i Python (som jeg har ingen anelse om), men for eksempel med ASP.NET få folk til å forstå siden / koden bak modellen kan være en skikkelig utfordring, men det er avgjørende at de forstår det. Som et eksempel, jeg nylig hadde et spørsmål på et forum om " hvor jeg satte min data-tilgangskode, i 'cs' fil eller 'aspx' fil ".

Så jeg vil si, for det meste, la dem lede veien, bare være der for å støtte dem der det trengs, og ber flere spørsmål for å opprettholde interessen. Bare sikre at de har det grunnleggende ned, og ikke la dem kjøre før de kan gå.

Lykke til!

Svarte 09/08/2008 kl. 06:52
kilden bruker

stemmer
0

Jeg tror lære å programmere fordi du ønsker å lære å program vil aldri bli like bra som å lære å programmere fordi du ønsker å gjøre noe. Hvis du finner noe som din bror er interessert i å gjøre jobben fordi han ønsker å gjøre det arbeidet, kan du bare la ham med Google, og han vil gjøre det. Og han vil ha deg rundt for å sjekke at han kommer langs den rette vei.

Jeg tror en av de største problemene med undervisning programmering i det abstrakte er at det ikke har en reell sammenheng at eleven kan bli følelsesmessig investert i. Programmeringen er hard, og det må være noen reell payoff for å gjøre det verdt innsatsen å gjøre det. I mitt tilfelle, ville jeg gjort informatikk ved uni, lærte Pascal og COBOL der, og lærte BASIC hjemme før det, men jeg har aldri virkelig fikk noe med det før jeg ble en selvstendig næringsdrivende webdesigner tilbake på 90-tallet og min klienter nødvendig funksjonalitet på sine nettsider, og var villig til å betale ca 10x mer for funksjonalitet enn for design. Sette mat på bordet er et helvete av en motivator!

Så jeg lærte Perl, så ASP / VBScript og Javascript-, deretter Flash / Action deretter PHP - alt for å gjøre ting jeg ønsket å skje.

Svarte 07/08/2008 kl. 07:47
kilden bruker

stemmer
0

Jeg anbefaler at du starter dem med C / C ++. Jeg synes at det er et godt grunnlag for omtrent alle andre språk. Dessuten kan de forskjellige versjonene av BASIC være ganske dodgy, i beste fall, og har ingen reell sammenheng med selve programmeringen.

Svarte 07/08/2008 kl. 05:35
kilden bruker

stemmer
0

Jeg er enig med Leac. Jeg faktisk spille med Scratch noen ganger hvis jeg kjeder meg. Det er en ganske morsom visuell måte å se på kode.

Hvordan det fungerer er, gir de deg en haug med "blokker" (Disse ser ut som legos) som du kan stable. Og ved å stable disse blokkene, og i samspill med lerretet (der du setter dine sprites, grafikk), kan du lage spill, filmer, lysbildeserier ... det er virkelig interessant.

Når det er ferdig kan du laste det rett til Skrape nettsteder, som er en youtube-ish portal for skrape applikasjoner. Ikke bare det, men du kan laste ned noen innsending på nettstedet, og lære av eller utvide andre skrape applikasjoner.

Svarte 06/08/2008 kl. 17:32
kilden bruker

stemmer
0

Jeg tror "visdom av folkemengder" jobber her. Hvordan fikk folk flest lære å programmere? Mange hevder at de gjorde det ved å kopiere programmer av andre, vanligvis spill de ønsket å spille i BASIC.

Kanskje den ruten vil jobbe med ham også?

Svarte 06/08/2008 kl. 06:20
kilden bruker

stemmer
0

Jeg vil faktisk hevde å plukke et enklere språk med færre instruksjoner. Jeg personlig har lært på BASIC hjemme, som gjorde Jeff . På denne måten trenger du ikke å gå i dybden av mer kompliserte saker som objektorientert programmering, eller til og med prosedyrer hvis du ikke vil. Når han kan håndtere enkle kontrollflyt, og deretter gå videre til noe litt mer komplisert, men bare enkle funksjoner.

Kanskje begynne med svært enkle programmer som bare legger 2 tall, og deretter vokser til noe som kan kreve en gren, så kanskje lese innspill og svare på det, så en slags løkke, og begynne å kombinere dem alle sammen. Bare begynn litt og jobbe deg oppover. Ikke gjør noen store prosjekter før han kan forstå det grunnleggende (ellers kan det godt være for skremmende og han kunne gi opp midtveis). Når han har mestret BASIC eller hva du velger, gå videre til noe mer komplisert.

Bare min $ 0.02

Svarte 06/08/2008 kl. 05:16
kilden bruker

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