De beste manieren om te leren een beginner te programmeren?

stemmen
325

Original Question

Ik ben momenteel bezig met mijn broer het onderwijs te programmeren. Hij is een totale beginner, maar erg slim. (En hij wil eigenlijk te leren). Ik heb gemerkt dat sommige van onze sessies hebben gekregen verzanden in kleine details, en ik heb niet het gevoel dat ik ben zeer georganiseerd. ( Maar de antwoorden op deze post hebben veel geholpen. )

Wat kan ik beter doen om hem effectief te leren? Is er een logische volgorde die ik kan gebruiken door middel van concept tot gerund door begrip? Zijn er complicaties ik moet vermijden tot later?

De taal die we werken met is Python , maar advies in elke taal is welkom.


Hoe te helpen

Als u goeden voeg dan de volgende in uw antwoord:

  • Beginner Oefeningen en Project Ideeën
  • Middelen voor het onderwijs beginners
  • Screencasts / blog posts / gratis e-books
  • Gedrukte boeken die goed zijn voor beginners

Geef een beschrijving van de bron met een link om het te dus ik een kijkje kan nemen. Ik wil dat iedereen weet dat ik hebben zeker gebruik gemaakt van een aantal van deze ideeën. Uw inzendingen worden verzameld in dit bericht.


Online Resources voor het onderwijzen van beginners:


Aanbevolen Print Boeken voor het onderwijs beginners

De vraag is gesteld op 06/08/2008 om 06:01
bron van user
In andere talen...                            


86 antwoorden

stemmen
118

Ik heb gehad om te werken met verschillende beginner (nog nooit schreef een regel code) programmeurs, en ik zal een moeten doen na school workshop met middelbare scholieren dit najaar. Dit is het dichtst ik moet documentatie. Het is nog steeds een work in progress, maar ik hoop dat het helpt.

1) FizzBuzz. Begin met command line programma's. U kunt schrijven een aantal leuke spelletjes, of gereedschappen, heel snel, en u alles te weten van de taalfuncties heel snel zonder eerst te leren de GUI gereedschap. Deze vroege apps moet eenvoudig genoeg zijn dat je niet nodig hebt om het even welke echte debugging tools te gebruiken om ze te laten werken.

Als er niets anders dingen als FizzBuzz zijn goede projecten. Uw eerste paar apps mag niet te maken hebben met DB, bestandssysteem, configuratie, ect. Dit zijn begrippen die net de meeste mensen verwarren, en als je net het leren van de syntaxis en basiskader functies die u echt niet meer complexiteit nodig.

Enkele projecten:

  • Hallo Wereld!
  • Neem het jaar van mijn geboorte, en bereken mijn leeftijd (net (nu - toen nog) geen maand correcties). (eenvoudige wiskunde, input, output)
  • Vraag om een richting (omhoog, omlaag, links, rechts), dan zeggen de gebruiker hun lot (val in een gat, het vinden van een taart, ect). (Boolean logic)
  • FizzBuzz, maar reken eens per seconde verwerkt. (Loops, timers, en meer logica)
  • Afhankelijk van hun leeftijd een aantal echt graag een app die de gebruikers een willekeurige belediging op een bepaald interval oproepen. (Loops, arrays, timers, en willekeurig als je het interval willekeurig te maken)

2) Eenvoudige Project Zodra ze hebben een goed begrip van de taal functies, kunt u een project (eenvoudige, leuke spelletjes werken goed te beginnen.). Je moet proberen om het eerste project in staat zijn binnen 6-12 uur worden afgerond. Heb je geen tijd het vroeg te besteden aan architect. Laat ze te ontwerpen, zelfs als het zuigt. Als het uit elkaar valt, praten over wat er gebeurd is en waarom het mislukt, dan kies een ander onderwerp en opnieuw beginnen.

Dit is waar je beginnen met de invoering van de debugging mogelijkheden van uw gereedschap. Zelfs als je het probleem kunt zien door het lezen van de code moet je ze leren hoe je de tools te gebruiken, en vervolgens laten zien hoe je het kon zien. Dat dient een tweeledig doel van het onderwijzen van de debugging tools en leert hoe je ID fouten zonder gereedschap.

Eens, of indien het project krijgt functionele je kunt het gebruiken om refactoring gereedschap te introduceren. Het is goed als je het project waarmee je nooit van plan om een ​​aantal eenvoudige functies dan kan uitbreiden. Dit betekent meestal refactoring en significante debugging, omdat maar weinig mensen zelfs half fatsoenlijk code te schrijven hun eerste keer.

Enkele projecten:

  • galgje
  • Experimenteren met robotica ( Vex en Mindstorms zijn opties)

3) Real Project Start een echt project, die enige tijd kan duren. Gebruik de juiste bron te beheersen, en maak een punt om een planning te hebben. Voer dit project als een echte project, als er niets anders zijn goede ervaring te maken met de gereedschappen.

Het is duidelijk dat je nodig hebt om dit voor elke persoon aan te passen. Het belangrijkste wat ik heb gevonden is dat zelfs de eerste eenvoudige apps van toepassing zijn op wat de persoon is geïnteresseerd in.

Enkele projecten:

  • Tetris
  • Text file-based blog engine
  • Meer geavanceerde robotica werk
antwoordde op 06/08/2008 om 07:00
bron van user

stemmen
30

Je zou kunnen proberen met behulp van Alice . Het is een 3D-programma dat is ontworpen voor gebruik in de inleidende programmering klassen.

De twee grootste obstakels voor nieuwe programmeurs zijn vaak:

  • syntaxfouten
  • motivatie (het schrijven van iets zinvols en plezier in plaats van gekunsteld)

Alice maakt gebruik van een drag-and-drop interface voor het samenstellen van programma's, de mogelijkheid van syntaxfouten vermijden. Alice laat je 3D-werelden te bouwen en hebben uw code control (eenvoudige) 3D-personages en animatie, die meestal een stuk interessanter dan het implementeren van gelinkte lijsten.

Ervaren programmeurs kunnen neerkijken op Alice als een stuk speelgoed en spotten met slepen en neerzetten regels code, maar onderzoek toont aan dat deze aanpak werkt.

Disclaimer: Ik werkte aan Alice.

antwoordde op 06/08/2008 om 06:29
bron van user

stemmen
28

Ik adviseer Logo (aka de schildpad) de basisbegrippen naar beneden te krijgen. Het zorgt voor een goede zandbak met onmiddellijke grafische feedback, en u kunt loops, variabelen, functies, voorwaardelijke, etc. demostrate Deze pagina biedt een uitstekende tutorial.

Na Logo, verhuizen naar Python of Ruby. Ik raad Python, omdat het is gebaseerd op ABC, die werd uitgevonden voor het doel van het onderwijs programmering.

Bij het onderwijzen van de programmering, moet ik tweede EHaskins de suggestie van eenvoudige projecten en complexe projecten. De beste manier om te leren is om te beginnen met een bepaalde uitkomst en een meetbare mijlpaal. Het houdt de lessen gericht, waarbij de leerlingen vaardigheden op te bouwen en dan bouwen op die vaardigheden, en geeft de student iets te pronken aan vrienden. Laat de kracht van het hebben van iets laten zien voor zijn werk niet onderschatten.

Theoretisch kan je stok met Python, zoals Python bijna alles kan doen. Het is een goed middel om object-georiënteerd programmeren en (de meeste) algoritmen te onderwijzen. U kunt Python op interactieve wijze lopen als een command line om een ​​idee te krijgen hoe het werkt, of uit te voeren geheel scripts in een keer. U kunt uitvoeren van uw scripts geïnterpreteerd on the fly of compileren ze in binaries. Er zijn duizenden modules om de functionaliteit uit te breiden. U kunt een grafische rekenmachine zoals die gebundeld met Windows te maken, of u kunt een IRC client, of iets anders te maken.

XKCD beschrijft macht Python's een beetje beter: "Je vliegt! Hoe?"  "Python!"

U kunt naar C # of Java na dat, hoewel ze niet veel dat Python niet al te bieden. Het voordeel daarvan is dat ze gebruik maken van C-stijl syntax, die veel (durf ik zeggen dat de meeste?) Talen te gebruiken. Je hoeft niet nog maken over geheugenbeheer, maar je kunt wennen aan het hebben van een beetje meer vrijheid en minder bijstands van de tolk. Python afdwingt witruimte en inspringen, wat fijn is het grootste deel van de tijd, maar niet altijd. C # en Java laat u uw eigen witruimte te beheren, terwijl de resterende sterk getypt.

Van daar, de standaard C of C ++. De vrijheid in deze talen is bijna existentieel. Je bent nu de baas over je eigen geheugen management. Er is geen garbage collection om u te helpen. Dit is waar je de echt geavanceerde algoritmen (zoals mergesort en quicksort) te onderwijzen. Dit is waar je leert waarom "segmentation fault" is een vloek woord. Dit is waar je de broncode van de Linux kernel downloaden en blik in de afgrond. Begin met het schrijven van een circulaire buffer en een stapel voor stringmanipulatie. Dan werk je weg omhoog.

antwoordde op 20/08/2008 om 22:09
bron van user

stemmen
15

Een goede python cursus is MIT's A Gentle Inleiding programmeren met behulp van Python . Het is allemaal gratis online, en je hoeft niet naar een MIT uberstudent om het te begrijpen.

Bewerken [ Justin Standaard ]

Deze cursus maakt gebruik van deze gratis online boek: Hoe te denken als een Wetenschapper
Ik ben zeker vinden het heel nuttig.

antwoordde op 06/08/2008 om 06:47
bron van user

stemmen
12

Begin met Turtle graphics in Python.

Ik zou gebruik maken van de schildpad graphics, die standaard wordt geleverd met Python. Het is visueel, eenvoudig en je kon deze omgeving gebruiken om veel programmeertalen begrippen als iteratie en de procedure gesprekken te voeren voordat je te ver in syntax. Beschouw de volgende interactieve sessie in 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

In een poging om de laatste twee opdrachten te bereiken, zullen ze vele mislukte pogingen, maar de mislukkingen zal visueel interessant zijn en ze zullen snel leren als ze proberen te achterhalen waarom het niet tekenen wat ze verwacht.

antwoordde op 25/02/2009 om 22:00
bron van user

stemmen
12

Python pakket VPython - 3D-programmering voor gewone sterveling ( video tutorial ).

Code voorbeeld:

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

antwoordde op 08/09/2008 om 19:26
bron van user

stemmen
11

Het belangrijkste is dat de persoon in kwestie nodig heeft om een probleem dat ze willen oplossen hebben. Als u niet beschikt over een programma dat u wilt schrijven hebben (en iets verstandig en goed gedefinieerde, niet: "Ik wil de volgende Quake schrijven!"), Dan kun je niet leren programmeren, omdat je niets om je te motiveren hebben . Ik bedoel, je kon een boek lezen en hebben een ruwe begrip van de syntaxis en semantiek van een taal, maar totdat je een programma dat u wilt geschreven zul je nooit doortastend.

Als dat impuls bestaat, dan is al het andere slechts kleine details.

antwoordde op 22/08/2008 om 11:35
bron van user

stemmen
8

Ik weet niet of iemand dit hier is genoemd, nog niet, maar je zou willen controleren Zed Shaw 's Leer Python de Hard Way

Ik hoop dat dit helpt

antwoordde op 19/10/2010 om 01:42
bron van user


stemmen
7

http://tryruby.hobix.com/">Try Ruby (in uw browser)

antwoordde op 06/08/2008 om 17:37
bron van user

stemmen
5

Dit is een fantastisch boek dat mijn kleine broertjes gebruikt om te leren:

http://pine.fm/LearnToProgram/

Natuurlijk, het allerbelangrijkste is om te beginnen op een echte, handig programma van een soort onmiddellijk na het beëindigen van het boek.

antwoordde op 07/08/2008 om 06:33
bron van user

stemmen
4

Ik zou hem gewoon laten ton code te schrijven. Laat hem rijden in alles wat jullie doen, en net beschikbaar om vragen te beantwoorden.

Geloof het of niet, na een paar maanden van geschriften ton crappy code, zal hij beginnen aan het idee te krijgen en beginnen met het schrijven van betere programma's. Op dat moment kunt u verzanden in de details (geheugen, etc), en ook praten over algemene ontwerp principes.

Ik heb gehoord dat wat scheidt de grote kunstenaars uit de middelmatige, is dat elke keer als ze de praktijk, ze verbeteren op iets, hoe klein ook. Laat je broer praktijk, en hij zal elke keer als hij gaat zitten op het toetsenbord te verbeteren.

Edit: [Justin Standaard]

Esteban, dit doet me denken aan een recente codering horror paal , en ik denk dat je gelijk hebt. Maar ik denk dat het nog steeds de moeite waard om methoden te vinden begeleiden zijn praktijk. Geen vraag, ik wil dat hij het schrijven van zo veel code als hij weet hoe dat te doen. Dat is een reden waarom ik ben gevraagd voor voorbeeldprojecten.

antwoordde op 09/08/2008 om 02:37
bron van user

stemmen
4

Als hij geïnteresseerd is, zijn niet de kleine details van de goede delen? Met behulp van python, heb je al snijd de GUI van het weg, zodat verwarring is verdwenen. Waarom niet een project, een spel of iets te halen, en uit te voeren. De klassieke hi-lo aantal raadspel kan eenvoudig worden uitgevoerd vanaf de opdrachtregel in 20-30 regels code (afhankelijk van de taal natuurlijk) en geeft u variabelen, voorwaarden, loops, en input van de gebruiker.

antwoordde op 06/08/2008 om 06:08
bron van user

stemmen
2

Na het doorlopen van een paar gratis e-books, vond ik het beste boek voor het leren programma werd Head First Programming gepubliceerd door O'Reily Press. Het maakt gebruik van Python als de taal en geeft u programma's om te werken vanaf het allereerste begin. Ze zijn allemaal meer interessant dat 'Hello World'. Het is goed het geld dat ik besteed aan het de moeite waard, en omdat het is al uit voor een beetje kunt u in staat zijn om een ​​goedkopere tweedehands exemplaar te vinden op Ebay of Amazon.

antwoordde op 03/01/2011 om 02:54
bron van user

stemmen
2

Python Challenge

antwoordde op 08/12/2010 om 17:58
bron van user

stemmen
2

Als je broer houdt van puzzels, zou ik aanraden Python Challenge . Ik zou het niet gebruiken als een formele leermiddel in een 1 op 1 les, maar het is iets wat hij kan doen als je niet met elkaar om zichzelf uit te dagen en heb plezier.

antwoordde op 07/04/2010 om 01:35
bron van user

stemmen
2

Gewoon maken het leuk!

Verbazingwekkend Scala kan het makkelijkst als je het probeert Kojo

antwoordde op 19/03/2010 om 14:44
bron van user

stemmen
2

Ik denk dat Python is een geweldig idee. Ik zou hem een ​​paar eenvoudige opdrachten te doen op zijn eigen en hem te vertellen dat alle dode eindigt slaat hij kan waarschijnlijk worden opgelost door een reis naar google te geven. Voor mij in ieder geval, het oplossen van een probleem op mijn eigen altijd maakte het beter dan iemand te vertellen me de oplossing kleven.

Enkele mogelijke projecten (in willekeurige volgorde):

  • Muntstuktik simulator. Laat de gebruikersinvoer een gewenst aantal proeven voor het Kruis of munt. Voer het uit en de resultaten samen met het percentage van kop of munt te geven.

  • Maak een temperatuur-converter met een menu dat input van de gebruiker nodig is om te kiezen welk soort bekering de gebruiker wil doen. Na het kiezen van de conversie en te doen, moet het terug naar het hoofdmenu.

    Hier is een voorbeeld van een uitgebreide converter met hetzelfde idee: http://pastebin.org/6541

  • Maak een programma dat een numerieke invoer neemt en geeft de brief cijfer zou vertalen naar. Het zal uiteindelijk het evalueren van de ingang tegen indien en Elif verklaringen te vinden waar het past.

  • Maak een eenvoudige quiz die gaat door verschillende multiple choice of in de lege vragen in te vullen. Aan het einde zal tonen hoe de gebruiker deed. Hij kan vragen hij wil halen.

  • Neem een ​​ingang van een aantal (vermoedelijk groot) aantal centen en omzetten in grotere coupures. Bijvoorbeeld 149 pence = 1 dollar, 1 kwart, dimen 2 en 4 penningen.

  • Maak een eenvoudige lijst manager. In staat zijn om items in deze lijsten toe te voegen / lijsten te schrappen en toevoegen / verwijderen. Hier is een voorbeeld van een kerst lijst manager: http://pastebin.org/6543

  • Maak een programma dat zal bouwen en vervolgens te testen of ingevoerde nummers vormen een magisch vierkant (met een 2D-array). Hier zijn enkele voorbeelden van code, maar het moet echt uit te printen op het plein bij elke stap om te laten zien waar de gebruiker in termen van buliding het plein: http://pastebin.org/6544

Ik zou ook voorstellen doen sommige dingen met xTurtle of een andere grafische module om dingen door elkaar halen en hem te houden van het krijgen van saai. Natuurlijk, dit is heel veel oefening programmering en niet de scripting dat veel mensen echt zou zijn met behulp van python voor, maar de voorbeelden die ik gaf zijn vrijwel direct vanaf het moment dat ik leerde via python genomen en het werkte geweldig voor mij. Succes!

antwoordde op 04/08/2009 om 23:20
bron van user


stemmen
2

er is een Wikibook dat is vrij goed voor het leren van python .

Ik weet niet hoe de Wikibooks zijn voor andere talen, maar ik persoonlijk leerde python van de Wikibook zoals het was in februari 2007

ps - als je niet bekend bent met Wikibooks , het is eigenlijk de wikipedia-versie van het boek authoring. het is een soort van moeilijk te beschrijven, maar als u controleren of een paar van de boeken over daar zie je hoe het werkt

antwoordde op 26/08/2008 om 04:39
bron van user

stemmen
2

Als je broer toegang tot iTunes heeft, kan hij video lezingen van een inleidende informatica cursus gegeven door Richard Buckland aan de Universiteit van New South Wales te downloaden. Hij is een boeiende instructeur en omvat fundamenten van de informatica en de C taal. Als er niets anders, vertel uw broer van de vids op de achtergrond te spelen en een aantal concepten zouden kunnen bezinken door middel van osmose. :)

COMP1917 Higher Computing - 2008 Sessie 1 http://deimos3.apple.com/WebObjects/Core.woa/Browse/unsw.edu.au.1504975442.01504975444

Als de link niet werkt, hier is een pad:

Home -> iTunes U -> Engineering -> COMP1917 Higher Computing - 2008 Sessie 1

antwoordde op 20/08/2008 om 22:54
bron van user

stemmen
2

Het hangt af van uw broer leerstijl. Veel mensen leren sneller door het krijgen van hun handen vuil en net in het, kristalliseren de concepten en het grote plaatje als ze vooruitgang en hun kennis op te bouwen.

Me, geef ik de voorkeur om te beginnen met het grote plaatje en boor naar beneden in de nitty-gritty. Het eerste wat ik wilde weten was hoe het allemaal in elkaar zit dan is alles wat Objectgeoriënteerd gobbledygook, dan over klassen en instanties en zo-on. Ik wil de onderliggende concepten en een beetje theorie weten voordat ik de syntax te leren. Ik had een beetje een voordeel, omdat ik 20 jaar geleden schreef enkele games in BASIC, maar niets veel sinds.

Misschien is het handig om een ​​productieproces schaduw door te beginnen met een algemene mission statement, dan een plan en / of stroomschema, dan werken in een aantal pseudo-code (geneigd de syntax u zal uiteindelijk te gebruiken) voordat daadwerkelijk schrijven van de code.

De gouden regel is hier om suss uw student scheve stijl.

antwoordde op 06/08/2008 om 11:44
bron van user

stemmen
2

Ik gebruikte om de programmering te leren en je broer heeft een belangrijk voordeel ten opzichte van de meeste van mijn studenten hij wil leren :)

Als u besluit om te gaan met C een vriend heeft een site die het soort programma's die het gebruik van oudere generaties herinneren als basistype-ins heeft. Hoe complexer van hen gebruiken ncurses welke soort ontkent het gebruik ervan als een hulp bij het onderwijs enigszins, maar sommige van hen zijn kleine kleine dingen en je kunt heel veel leren zonder dat geleerd.

Persoonlijk denk ik dat Python en Ruby zou geweldige eerste talen te maken.

EDIT: lijst van beginner programmeeropdrachten verscheen 's nachts misschien net wat je zoekt.

antwoordde op 06/08/2008 om 07:07
bron van user

stemmen
2

Iets wat je moet zeer bewust van, terwijl het onderwijs van uw broer programma is voor hem niet te sterk afhankelijk zijn van jou. Vaak als ik merk dat ik het helpen van anderen dat ze zullen beginnen te denken van mij als antwoord boek om al hun vragen en in plaats van te experimenteren om een ​​antwoord dat ze me gewoon vragen te vinden. Vaak is de beste leraar is experimenteren en elke keer dat je broer heeft een vraag als: "Wat gebeurt er als ik 2 toe te voegen aan een string?" je moet hem vertellen om het uit te proberen en te zien voor zichzelf. Ook heb ik gemerkt dat wanneer ik een begrip dat niet kan krijgen door aan iemand, het helpt om een ​​aantal voorbeelden van code waar we kunnen kijken naar elk segment afzonderlijk en uitleggen stuk voor stuk te zien. Als een kanttekening mensen die nieuw zijn programmering hebben vaak moeite met het idee van het object georiënteerd programmeren, zullen ze zeggen dat ze begrijpen als je het leren om hen, maar zal een duidelijk concept van het niet, totdat daadwerkelijk uitvoering ervan.

antwoordde op 06/08/2008 om 06:18
bron van user

stemmen
2

Allereerst beginnen net als iedereen doet: met Hello World programma. Het is eenvoudig, en het geeft hen een fundamenteel gevoel voor de lay-out van een programma. Probeer en herinner me terug naar toen je voor het eerst de programmering, en hoe moeilijk sommige van de concepten - beginnen simpel.

Na Hello World, overgaan tot het creëren van een aantal fundamentele variabelen, rekenkundige, vervolgens naar boolean logica en if / else statements. Als je hebt een van je oude programmering studieboeken, kijk naar sommige van de vroege voorbeelden en laat hem lopen door deze. Gewoon niet proberen te veel in één keer in te voeren, of het zal overweldigend en verwarrend zijn.

antwoordde op 06/08/2008 om 06:13
bron van user

stemmen
1

Academic Earth biedt links naar gratis Computer Science cursussen van topuniversiteiten. Ze hebben een deel gericht op smaak Informatica. De talen onderwezen in het begin cursussen variëren:

  • MIT - Introduction to Computer Science and Programming - Python
  • Stanford - Computer Science I: Programming Methodology - Java
  • Harvard - Introduction to Computer Science I - C (nadruk), met een paar anderen besprenkeld in voor een goede maatregel (bv, SQL, PHP, LISP, Assembler, etc.)
  • Berkeley - een dialect van het LISP taal
antwoordde op 17/04/2010 om 13:33
bron van user

stemmen
1

Probeer een kopie van vinden Waarom's (Poignant) Guide to Ruby online. De oorspronkelijke site is offline, maar ik weet zeker dat er een paar spiegels die er zijn. Het is niet uw typische programmagids; het brengt een unieke (en grappige) draai aan het leren van een nieuwe taal die je vriend zou kunnen passen. Niet te vergeten, Ruby is een prachtige taal om te leren met.

antwoordde op 26/08/2009 om 16:22
bron van user

stemmen
1

Ik kan mijn project, raden PythonTurtle .

Overzicht:

PythonTurtle streeft ernaar om de laagste drempel manier om te leren Python te bieden. Studenten commando een interactieve Python shell (vergelijkbaar met de IDLE ontwikkelomgeving) en het gebruik van Python functies om een ​​schildpad op het scherm te bewegen. Een geïllustreerde helpscherm introduceert de student aan de basis van Python programmering te beginnen terwijl demonstreren hoe de schildpad te verplaatsen.

Het ziet er zo uit:

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

antwoordde op 04/08/2009 om 22:42
bron van user

stemmen
1

Ik denk dat Python is echt een geweldige taal om mee te beginnen: :-)

Ik stel voor dat je om te proberen http://www.pythonchallenge.com/

Het is gebouwd als een klein avontuur en elke Solutions koppelt u een nieuwe leuke Problem.

Na soluting het probleem krijg je toegang tot een mooi Forum over uw code te praten en te zien wat andere mensen gemaakt.

antwoordde op 08/07/2009 om 10:57
bron van user

stemmen
1

zodra je ze hebt geleerd hoe te programmeren, zouden ze willen leren hoe om software te ontwikkelen .. voor dat ik denk dat Greg Wilson's Software Timmerwerk Natuurlijk is geweldig .. het maakt ook gebruik van Python als de taal van de student.

antwoordde op 18/03/2009 om 15:51
bron van user

stemmen
1

Boek: Java Programming voor kinderen, ouders en grootouders (PDF)

Ik heb geen persoonlijke ervaring over het leren met behulp van dat boek, maar het lijkt aardig te zijn, omdat het snel gaat in het produceren van iets zichtbaar, en niet te veel tijd doorbrengen met de syntactische Itty Bitty details. Heeft iemand hier geprobeerd met behulp van dat boek?

antwoordde op 14/02/2009 om 14:47
bron van user

stemmen
1

Zeer goede video introductiecursus van Stanford University (geen voorkennis vereist):

Programming Methodologie

Zal je leren goed "methodologieën" iedere programmeur zou moeten weten en een aantal Java-programmeertaal.

antwoordde op 20/09/2008 om 23:23
bron van user

stemmen
1

Zodra hij heeft de basics, stel ik voor de Toren van Hanoi als een goede oefening. Ik adviseer te beginnen met de houten speelgoed als je die hebt; laat hem proberen het probleem op te lossen door hemzelf en beschrijven zijn methode op een systematische manier. Laat hem waar recursie in het spel komt. Leg hem hoe het aantal zetten is afhankelijk van het aantal schijven. Laat hem dan schrijven een programma om de volgorde van de bewegingen af te drukken, in de taal van uw keuze.

antwoordde op 19/09/2008 om 12:43
bron van user

stemmen
1

Ik magere door de opmerkingen en ziet eruit als niemand genoemd Foundations of Programming van www.CodeBetter.com . Hoewel het een beetje van de stichting nodig heeft, kan het zeker een volgende stap in het leerproces.

antwoordde op 10/09/2008 om 01:29
bron van user

stemmen
1

Als hij geïnteresseerd is dan ik zou geen zorgen over te focussen op games of wat dan ook. Ik zou net pak dat boek beginners 'Leer jezelf x' je over te gooien en geef het hem en laat hem strijd door het ware. Misschien praat erover na en doe dan nog een en nog een. Na die tijd zou ik het programma te koppelen met hem, zodat hij kon leren hoe oppervlakkig en die boeken die hij las waren lame. Dan zou ik beginnen met het hebben van hem iets te coderen voor zichzelf. Een website om softbal statistieken bijhouden of wat dan ook zou hem in te schakelen. Voor mij was het een database voor wijn terug in de dag.

Daarna zou ik beginnen in op de echte boeken, het domein design, etc.

antwoordde op 08/09/2008 om 18:40
bron van user

stemmen
1

Een goede bron om jonge mensen te leren is de gratis eBook "Bedenk je eigen games met Python":

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

antwoordde op 01/09/2008 om 14:21
bron van user

stemmen
1

Beginnen met de vraag hem deze vraag: " Wat voor soort dingen wil je doen met uw computer "

Kies dan voor een reeks activiteiten die zijn antwoord passen, en kies een taal die het mogelijk maakt die dingen te doen. Des te beter als het een eenvoudige (of simplifiable) scripting-omgeving (bijv Applescript, Ruby, elke schaal (Ksh, Bash, of zelfs .bat bestanden).

De redenen hiervoor zijn:

  1. Als hij geïnteresseerd is in de resultaten, zal hij waarschijnlijk meer gemotiveerd dan wanneer je met hem mee Fibonacci's konijnen.
  2. Als hij krijgt resultaten die hij wil, zal hij waarschijnlijk bedenken variaties op de activiteiten die u maakt.
  3. Als je hem leert, is hij niet het nastreven van een serieuze carrière (nog); er is altijd tijd om later over te schakelen naar "industriële kracht" talen.
antwoordde op 29/08/2008 om 00:59
bron van user

stemmen
1

Ik weet niet zeker wat het beste voor je broer, maar ik weet dat ik begon met python. Ik speel al diverse games van een zeer jonge leeftijd en wilde mijn eigen te maken, dus mijn oom me voorgesteld aan python met de pygame bibliotheek. Het heeft vele tutorials en maakt het allemaal gemakkelijk (veel gemakkelijker dan openGL naar mijn mening). Het is beperkt tot 2D, maar je moet beginnen simpel toch.

Mijn oom aanbevolen python, omdat hij geïnteresseerd in het op dat moment was, maar ik raad het, nu redelijk goed geïnformeerd, want het is makkelijk te leren, intuïtief (of zo intuïtief als een programmeertaal kan krijgen) en simpele (maar zeker niet simplistisch) .

Persoonlijk vond ik basisprogrammeren gewoon om te leren programmeren obsceen saai op het moment, maar pakte groot enthousiasme als ik ging. Ik wilde echt te leren om iets op te bouwen, niet alleen om het te leren.

antwoordde op 26/08/2008 om 20:12
bron van user

stemmen
1

Ik zou aanraden van Charles Petzold boek Code - The Hidden Langauge van computer hardware en software als een uitstekende algemene inleiding op hoe computers werken.

Er is een heleboel informatie in het boek (382 pagina's) en het kan een absolute beginner neem de tijd om te lezen, maar het is de moeite waard. Petzold slaagt erin om veel van de kernbegrippen van computers en programmeren van eenvoudige codes, relais, geheugen, CPU's operating systems & GUI's uitleggen in een zeer duidelijke en plezierige manier. Het zal elke lezer een goed gevoel voor wat er eigenlijk gebeurt achter de schermen als ze code te schrijven.

Ik wou zeker het was rond toen ik voor het eerst leren programmeren!

antwoordde op 23/08/2008 om 19:14
bron van user

stemmen
1

Project Euler heeft een aantal interessante wiskunde problemen die veel materiaal voor een beginnende programmeur om haar tanden bezuinigen op zou kunnen bieden. De problemen beginnen gemakkelijk en in moeilijkheidsgraad en het web is vol met oplossingen van de monsters in verschillende programmeertalen .

antwoordde op 22/08/2008 om 21:27
bron van user

stemmen
1

Python is gemakkelijk voor nieuwe ontwikkelaars om te leren. Je niet verstrikt raken in de specifieke kenmerken van geheugenbeheer en het type definitie. Dive Into Python is een goede gids voor beginners programmering python. Toen mijn zus wilden programmeren leer ik wees haar naar de "Head Start" lijn van de boeken die ze vond zeer gemakkelijk te lezen en te begrijpen. Ik vind het moeilijk om gewoon te beginnen met het onderwijzen van iemand omdat je niet een lexicon te gebruiken met hen te hebben. Ten eerste hebben hem lees een paar boeken of tutorials en vragen u voor vragen. Van daaruit kunt u projecten en rang toewijzen. Ik vind het moeilijk om de programmering te leren, want ik leerde het over bijna 15 jaar sleutelen rond.

antwoordde op 22/08/2008 om 15:09
bron van user

stemmen
1

Er is een boek genaamd Code . Ik kan me niet herinneren wie het geschreven heeft, maar het gaat door de basis van een heleboel dingen die we (programmeurs) te leren kennen en voor lief nemen dat mensen die we praten ook weten. Alles, van hoe ga je binair naar hoe processors werken tellen. Het heeft niets te maken met programmeertalen erin (nou uit wat ik me herinner), maar het is een vrij goede primer. Ik moet toegeven dat ik ook van de school die gelooft dat je moet weten hoe de computer werkt om effectief te kunnen programmeren dingen voor het.

antwoordde op 19/08/2008 om 15:52
bron van user

stemmen
1

Wat dacht je van deze: Het kuit schieten de volgende generatie van hackers door Nat Torkington.

antwoordde op 18/08/2008 om 16:24
bron van user

stemmen
1

Veel dingen maakte me in het begin, maar niets meer dan eenvoudige mechanica. Concepts, nam ik onmiddellijk. Maar missen een accolade sluiten? Gemakkelijk te doen, en vaak moeilijk te debuggen, in een niet-triviale programma.

Dus, mijn bescheiden advies is: niet understimate de basics (zoals goede typering). Het klinkt corrigerende en zelfs dom, maar het bespaarde me zo veel verdriet in het begin van mijn leerproces toen ik struikelde over de eenvoudige techniek van het invoeren van het volledige "skelet" van een code structuur en dan gewoon te vullen in.

Voor een "if" statement in Python, te beginnen met:

if  :

In C / C ++ / C # / Java:

if () 
{

}

In Pascal / Delphi:

If () Then
Begin

End

Typ vervolgens tussen het openen en sluiten tokens. Zodra dit wordt een vaste gewoonte, zodat u het doen zonder na te denken, meer van de hersenen wordt vrijgemaakt om leuke dingen te doen. Niet een zeer flitsende beetje advies te plaatsen, dat geef ik toe, maar wel een die ik persoonlijk heb gezien doen veel goed!

Edit: [ Justin Standaard ]

Bedankt voor je bijdrage, Wing. om wat je zei verwant zijn, één van de dingen die ik heb geprobeerd om te helpen mijn broer denken aan de syntaxis voor python scoping, is dat elke keer als er een dubbele punt, hij nodig heeft om de volgende regel te laten inspringen, en elk moment dat hij denkt dat hij zou moeten inspringen, er beter een dubbele punt eindigt de vorige regel te zijn.

antwoordde op 16/08/2008 om 01:46
bron van user

stemmen
1

Ik stel voor het nemen van een aanpak vergelijkbaar met die van het boek Accelerated C ++ , waarin zij dekken delen van C ++ die in het algemeen bruikbaar zijn voor het maken van eenvoudige programma's. Voor iedereen die nieuw is voor de programmering Ik denk dat we iets om te laten zien voor een klein bedrag van de inspanning is een goede manier om ze geïnteresseerd te houden. Zodra u de fundamenten van Python hebben behandeld dan moet je achterover leunen en laat hem experiement met de taal.

In een van mijn universiteit onderwerpen voor dit semester hebben zij een aanpak genaamd Problem Based Learning (PBL) in die ze gebruiken lezingen aan studenten over verschillende benaderingen van problemen te stimuleren genomen. Aangezien uw broer wil graag zou u een gelijkaardige aanpak. Stel hem kleine projecten om aan te werken en laat hem er wel uit voor zichzelf. Dan zodra hij klaar is kan je door zijn aanpak en vergelijken en het contrast met verschillende methoden.

Als je hem precies de juiste hoeveelheid hulp om hem te sturen in de juiste richting kan geven dan moet hij wel goed. Zij verstrekken hem met een aantal goede websites en boeken zou ook een goed idee.

Ik zou ook aan het plakken uit de buurt van IDE's aan de start fasen. Met behulp van de opdrachtregel en een tekstverwerker zal hem tot een beter begrip van de betrokken zijn bij het opstellen / monteren van code processen te geven.

Ik hoop dat ik van enige hulp geweest. :)

antwoordde op 13/08/2008 om 10:29
bron van user

stemmen
1

Dit klinkt misschien stom, maar waarom probeer je om je broer te programmeren leren?

Vaak is de beste leeromgeving bestaat uit een doel dat kan worden bereikt door een scherp beginner (een monster-programma), een ruim aanbod van resources (google / tutorials / boeken) en een goed geïnformeerde bron van advies die begeleiding kunnen bieden als dat nodig is.

Je kan zeker helpen met suggesties voor de eerste twee, maar de laatste is uw primaire rol.

antwoordde op 13/08/2008 om 07:10
bron van user

stemmen
1

Kopieer een aantal eenvoudige code regel voor regel en krijgen ze te lezen en te interpreteren het als ze gaan mee. Ze zullen binnenkort wel uit. Ik begon te programmeren op een Acorn Electron met stukjes code van Acorn tijdschriften. Ik had geen idee over het programmeren toen ik 6, heb ik gebruikt om de tekst te kopiëren, maar geleidelijk aan heb ik geleerd wat de verschillende woorden bedoelde.

antwoordde op 11/08/2008 om 13:23
bron van user

stemmen
1

Er zijn al een heleboel grote antwoorden, maar voor een absolute beginner, zou ik van harte aanbevelen Hackety Hack . Het werd gemaakt door de onredelijk productieve why_the_lucky_stiff specifiek aan een BASIC / LOGO / Pascal-achtige omgeving voor nieuwe programmeurs om te experimenteren in te voorzien. Het is in wezen een slick Ruby IDE met een aantal grote bibliotheken (flash video, instant messaging, web server) en interactieve lessen. Het maakt een goede plaats voor de programmering, omdat het koos lessen die leuke, nuttige dingen doen. "Hello, world" niet onder de indruk van de knuppel, maar een aangepaste IM-client in 20 minuten kan iemand blijven leren inspireren. Veel plezier!

antwoordde op 11/08/2008 om 05:30
bron van user

stemmen
1

Robert lezen schreef een handige gids, Hoe maak je een programmeur te zijn , die een breed gebied van de programmering kwesties die een beginner nuttig zou vinden dekt.

antwoordde op 09/08/2008 om 17:28
bron van user

stemmen
1

Ik zou ook kijken naar een aantal screencasts - ze zijn over het algemeen gemaakt in de context van een specifieke technologie geen taal, maar als er Python-code die wordt weergegeven, dat zal doen :). Het punt is - ze zijn gemaakt door enkele goede programmeurs en kijken hoe goed programmeurs programma is een goede zaak. Jij en je broer kon enkele peer-programmering ook, dat een nog beter idee zou kunnen zijn. Vergeet alleen niet om uit te leggen waarom je iets op deze manier en niet op die manier te doen. Ik denk dat de beste manier om te leren programmeren is van goede voorbeelden en probeer niet om zelfs de slechte.

antwoordde op 09/08/2008 om 09:17
bron van user

stemmen
1

Ik werd onderwezen door te leren hoe om problemen in een taal agnostische manier met behulp van flowcharts en lossen PDL (Program Ontwerp Language). Na een paar weken van dat, heb ik geleerd om de PDL ik om een taal had geschreven om te zetten. Ik ben blij dat ik leerde op die manier, omdat ik het grootste deel van mijn jaren hebben doorgebracht programmeren, problemen oplossen zonder gebonden te zijn aan een taal. Welke taal gebruik ik altijd een implementatie detail en niet een deel van het ontwerp geweest.

Het hebben om het probleem op te lossen door het breken van het naar beneden in de basisstappen is een belangrijke vaardigheid. Ik denk dat het een van de dingen die die kunnen programmeren van degenen die niet kunnen van elkaar scheidt.

Wat betreft de manier waarop u de volgorde van de concepten van een taal aan te pakken Ik denk dat de makkelijkste manier is om te beslissen dat is om een ​​project in het achterhoofd te hebben en de concepten aan te pakken als ze nodig zijn. Hierdoor kunt u ze toe te passen als ze nodig zijn op iets dat je geïnteresseerd bent in het doen zijn. Bij het leren van een taal is het goed om een ​​aantal eenvoudige projecten in het achterhoofd en een paar met progressieve complexiteit hebben. Beslissen over die zal u helpen kaart brengen van de concepten die nodig zijn en in welke volgorde.

antwoordde op 09/08/2008 om 03:23
bron van user

stemmen
1

Ik denk dat zodra hij heeft de basics (variabelen, loops, etc) naar beneden moet je proberen om hem te helpen iets specifieks te vinden dat hij geïnteresseerd is in en hem helpen te leren van de benodigdheden om het te laten gebeuren. Ik weet dat ik veel meer geneigd en gemotiveerd om iets te doen als het is van belang voor mij. Zorg er ook voor om hem te laten vechten al zijn sommige van de zwaardere problemen, is niets meer voldoening dan het moment dat je het uit op uw eigen.

antwoordde op 07/08/2008 om 23:12
bron van user

stemmen
1

Als u wilt dat de basis van het programmeren te leren, zonder dat taalspecifieke, is er een applicatie genaamd Scratch die is gemaakt in het MIT. Het is ontworpen om mensen te helpen ontwikkelen programmeren. Als gebruikers maken Scratch projecten, leren ze de voorwaarden te scheppen, loops, etc. Er is ook een gemeenschap van scratch projecten, de vorm die de projecten kunnen worden gedownload - die manier kan je programma's van andere mensen te verkennen en te zien hoe ze werden gebouwd.

antwoordde op 06/08/2008 om 08:15
bron van user

stemmen
0

Ik beveel Python Programming: An Introduction to Computer Science 2e editie door John Zelle . Het is gericht op beginners, en gaat over de semantiek van de programmering. Na het lezen bent u in staat op te halen andere talen veel sneller als gevolg van semantische versus syntactische benadering Zelle zal zijn. Bekijken!

antwoordde op 29/05/2011 om 04:05
bron van user

stemmen
0

Vraag je broer als er iets wat hij wil graag een programma te maken te doen of bedenken een project voor hem dat je dat zou hem interesseren.

Iets waar hij kan weten wat de output hoort te zijn en wijs hem om de materialen (on-line of in print) relevant zijn voor het project. Als hij komt in python of programmeert 'koude' wees geduldig als hij werkt zich een weg door het begrijpen van de basics zoals syntax, fouten, scoping en bereid zijn om een ​​stap opzij en laat hem lopen en maakt zijn eigen fouten wanneer je begint het licht te zien bol gaan op boven zijn hoofd.

antwoordde op 12/05/2011 om 14:28
bron van user

stemmen
0

Gebruik echte wereld analogie en imaginaire karakters ze programmeren om les te geven. Net als toen ik leer mensen over variabelen en control statements etc.

Meestal begin ik met rekenmachine voorbeeld. Ik zeg stel u hebt een doos voor elke variabele en u hebt 10 card borden met nummers 0-9 op hen wordt gedrukt. Zeggen dat de doos een karton op een tijd en vergelijkbare wijze kan houden om uit te leggen hoe de programmering elementen werken

En de nadruk op hoe elke operator werkt .. net als de simpele '=' operator berekent altijd de juiste kant eerst in één waarde. en we deze waarde in selectievakje "NUM_1" (die variabele)

Dit is heel erg effectief geweest, aangezien zij in staat zijn om de stroom zeer snel voorstellen.

antwoordde op 18/12/2009 om 15:59
bron van user

stemmen
0

Ik ga akkoord met superjoe30 hierboven, maar ik heb niet genoeg reputatie hebben nog om een ​​reactie achterlaten.

Ik was een CS professor voor 4 jaar. De talen waren Basic, en dan Pascal, maar het maakt niet echt uit wat de taal is.

De grootste les die ik geleerd als een nieuwe prof was, maakt niet uit hoe eenvoudig ik dacht dat een concept was, is het niet eenvoudig om een ​​newbie. Ga nooit sneller dan je student kan gaan. Dat kan ik niet genoeg benadrukken. Ga echt, echt traag.

Ik zou beginnen met zeer eenvoudige dingen, lezen en af ​​te drukken, misschien een eenvoudige berekening, alleen maar om de student gewend om iets in en om iets eruit te komen. Dan IF statements. Dan echt eenvoudig voor loops, altijd in termen van iets dat de student zou kunnen schrijven en hebben plezier met.

Dan zou ik besteden ongeveer 3 weken het aanleren van een zeer eenvoudige soort machine taal voor een nep decimale machine genaamd SIMPL, dat je kon single-step. De reden om dit te doen, zodat de student kon zien waar de "rubber van de weg voldoet", dat computers doen alles stap-voor-stap, en het maakt een verschil welke volgorde dingen gebeuren in. Zonder dat studenten de neiging om te denken dat de computer kan soort van lezen hun geest en doen alles tegelijk.

Dan terug naar Basic. Een paar weken op arrays, want dat is een grote verkeersdrempel. Dan sequentiële bestanden, dat is een ander verkeersdrempel. Wat ik bedoel met "verkeersdrempel" is de student kan worden varen langs gevoel heel zelfverzekerd, en dan raken ze je met een concept als arrays, en ze zijn helemaal de weg kwijt, totdat je ze gemakkelijk doorheen.

Dan, met deze vaardigheden onder hun gordels, zou ik ze op te halen een term project, want dat is wat maakt het programmeren interessant. Zonder in gebruik is geweest, het is echt saai. Ik stel voor een verscheidenheid van projecten, zoals spelletjes, boekhoudprogramma's, wetenschappelijke programma's, enz. Het is echt geweldig om ze te zien krijgen ingeschakeld. Vaak zouden ze me vragen om hulp, en dat is geweldig, omdat je weet dat ze leren.

Terwijl ze hun projecten deden, zouden we doorgaan met meer geavanceerde programmeertechnieken te dekken - zoeken, sorteren, samenvoegen, hoe je een eenvoudige database te maken, enz.

Succes. Lesgeven is hard werken, maar die voldoen aan als je ziet studenten groeien.

antwoordde op 18/11/2008 om 03:06
bron van user

stemmen
0

Microsoft Small Basic is een gratis .NET gebaseerde programmeeromgeving bedoeld om een "fun" leeromgeving voor beginners. De taal is een subset van VB.NET en bevat zelfs een "Turtle" object bekend van het logo taal. De website bevat een stap-voor-stap handleiding.

antwoordde op 18/11/2008 om 02:40
bron van user

stemmen
0

"Wie is er bang voor C ++" Door Heller

Zou een schot waard zijn

antwoordde op 30/10/2008 om 05:38
bron van user

stemmen
0

Ik stel voor " Computer Science Unplugged " als aanvullende didactisch materiaal.

antwoordde op 12/10/2008 om 00:32
bron van user

stemmen
0

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

Ze zijn eenvoudig, van hoge kwaliteit en ik kan instaan ​​voor hun vermogen om beginners (me een van hen) te onderwijzen.

antwoordde op 03/10/2008 om 12:38
bron van user

stemmen
0

Wat ze schrijven, laat ze stap voor stap door het in een debugger lijn per lijn op het eerste punt. Laat ze zelf zien wat de computer doet. Dit vergt veel van het mysterie van de dingen, vermindert de intimidatie ( "oh, elke regel is echt zo simpel!"), En helpt hen te leren het debuggen van vaardigheden en het herkennen waarom veel voorkomende fouten zijn vaak (en waarom ze fouten)

antwoordde op 21/09/2008 om 23:30
bron van user

stemmen
0

Wat ook de taal en de omgeving die u kiest, als de student wil leren om professionele redenen of om "echte" programmeren (wat dat ook is), hebben ze beginnen met het schrijven van hun starter programma 1 op papier en het nemen van hen weg te lopen. Kom terug met de output en / of fouten resultaten en hebben ze dingen te repareren op papier.

Dit is niet bijzonder harder op het eerste dan doet het op het scherm en het raken run, maar het zal dingen veel gemakkelijker maken als ze beginnen met de wondere wereld van bugs te ontdekken.

1) kort, "Hello, World!" - het type programma's die nog enige logica en / of berekeningen, doe dit tot een paar programma's die bugs kan hebben

antwoordde op 21/09/2008 om 23:27
bron van user

stemmen
0

Uw vraag nogal afhankelijk van de leeftijd en opleiding van je broer, maar als hij een kind / tiener, zou ik adviseren om een ​​aantal GUI programmering of grafische programmering eerst doen (met Canvas etc.). Het ziet er goed, en heb je meteen de uitslag. Algoritmes zijn saai en te abstract voor jongeren (vóór zeggen 15 jaar oud).

Toen ik programmering begon op ZX Spectrum (ik was net 12 jaar oud), ik vond om verschillende dingen te tekenen op het scherm, en het was nog steeds interessant. Ik heb niet te leren over het echte algoritmische technieken totdat ik was misschien 18. Laat u niet misleiden dat deze "eenvoudige" programmering is een verkeerde start; het belang van de persoon te leren is het belangrijkste deel van uit.

Dus, zou ik kijk in PyKDE, PyGTK, PyQt of Python + OpenGL (er zijn zeker een aantal tutorials op het net, ik weet van een aantal Tsjechische degenen maar dat zal je niet helpen :)).

Natuurlijk, als je broer is ouder en heeft het onderwijs in de buurt van de wiskunde, kunt u rechtstreeks naar algoritmen en dergelijke.

antwoordde op 19/09/2008 om 13:08
bron van user

stemmen
0

Ik zou aanraden Denk Python .

antwoordde op 16/09/2008 om 11:31
bron van user

stemmen
0

Een paar andere startblok:

  • Een goede programmeerbare rekenmachine (dat is wat ik geleerd op terug in de jaren '70), en HP25 dan HP41, nu TI69, etc.
  • Interactieve Fictie platforms, zoals "Inform 7" bieden een andere hoek op de hele zaak
  • Flash / ActionScript

Al deze zijn verschillend en boeiend, en een van deze zou de aard van de rente die is vereist om een ​​beginner van en draaiend te krijgen vonk.

LBB

antwoordde op 16/09/2008 om 07:51
bron van user

stemmen
0

Als niet-programmeur mezelf, vond ik het boek "Programmeren" van Pragmatische Programmeurs zeer behulpzaam vanaf een rudimentaire standpunt. Het is toegankelijk en gemakkelijk te lezen voor een beginner. Het zal u niet van beginner tot expert, maar het zal u voor te bereiden op wat je moet doen als je een taal kiezen en pick-up van uw eerste "leren programmeren in de (taal hier)" boek.

antwoordde op 12/09/2008 om 21:51
bron van user

stemmen
0

Het hebben van kleine, verkrijgbaar doelen is een van de beste manieren om elke vaardigheid te leren. Programmeren is niet anders. Python is een prachtige taal om mee te beginnen, want het is gemakkelijk te leren, schoon en kan nog steeds doen geavanceerde dingen. Python wordt alleen beperkt door uw verbeelding.

Een manier om echt iemand geïnteresseerd is ze kleine projecten die ze kunnen doen in een uur of zo te geven. Toen ik oorspronkelijk begonnen met het leren python ik spelen Code Golf . Ze hebben veel kleine uitdagingen die zullen helpen om te leren de basisprincipes van het programmeren. Ik zou aanraden gewoon proberen om een van de uitdagingen oplossen van een dag en dan spelen met de geleerde concepten. Je moet leren te maken om plezier te programmeren of de rente zal zeer snel verloren.

antwoordde op 07/09/2008 om 21:25
bron van user

stemmen
0

Een gebruikte ik met mijn kinderen is CEEBot . Het is niet python, maar het leert C / Java-stijl programmeren in een leuke,-robot programmeren soort spel. Het is gericht op 10-15 jarigen, maar het is een echt goed.

antwoordde op 06/09/2008 om 17:42
bron van user

stemmen
0

Enkele aanvullende informatie die iemand zou kunnen hechten aan eerdere post Jason Pratt op Alice ... in het bijzonder, een Storytelling Alice variant.

Hoewel de studie gepresenteerd targets middelbare schoolmeisjes, kunt u het vinden white paper geschreven door Caitlin Kelleher interessant.

antwoordde op 06/09/2008 om 16:30
bron van user

stemmen
0

Het kan vreemd lijken, maar ik ben begonnen met het schrijven code door het automatiseren van de taken en data-analyse bij mijn vorige baan. Dit werd bereikt door het opnemen dan het bestuderen van de code in een Excel-macro gegenereerd. Uiteraard veronderstelt deze aanpak kun je leren via VB.

antwoordde op 05/09/2008 om 03:20
bron van user

stemmen
0

Iets om te overwegen ... niet iedereen in staat is de programmering is:

Sommige mensen kunnen gewoon niet voorbij dingen zoals krijgen:

A = 1

B = 2

A = B

(Deze mensen nog steeds denken dat A = 1)

Jeff heeft ook gesproken over dit. In feite, mijn voorbeeld is de link (en toegelicht, op te starten).

antwoordde op 04/09/2008 om 21:23
bron van user

stemmen
0

De beste manier om iets te leren is om te beginnen met de basis. U kunt een goede tekst boek uit te leggen wat de programmering, geheugen, algoritmen vinden.

De volgende stap selecteert u de taal waarin het net hangt af van wat de leraar weet of waarom de student wil leren.

Dan is het gewoon code, code, code. Code elk voorbeeld rechts uit het boek. verander het dan iets aan een andere actie uit te voeren. Leren programmeren is een actief proces niet passief. Je kunt niet zomaar lezen C ++ Programmeren door Dietal en dan verwachten dat het in C ++ zonder dat actief gedaan tijdens het lezen.

Zelfs als u een ervaren programmeur helpt het om de code te schrijven in het boek om iets nieuws te leren.

antwoordde op 27/08/2008 om 16:25
bron van user

stemmen
0

Voor mij, het verkennen en experimenteren in de IDE zelf hielp me om te leren Java en Visual Basic, maar ik leerde de grondbeginselen van het programmeren van de harde manier: Perl 5. Er was geen vrije IDE toen, dus het betekende typen codes in Kladblok , op te slaan, en voer de perl interpreter.

Ik zou zeggen dat IDE's maken het leren van de basisprincipes van het programmeren gemakkelijker te maken. Probeer het spelen met controle structuren en variabelen eerste. Zeg in Java:

int a = 5;

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

Kortom, gewoon het leren van de controle structuren en variabelen zou toestaan ​​dat een beginner om te beginnen met het coderen van leuke dingen gedaan.

antwoordde op 22/08/2008 om 11:32
bron van user

stemmen
0

In mijn bevooroordeelde mening, C is het beste punt om te beginnen. De taal is klein, het is hoog niveau functies zijn alomtegenwoordig en het lage niveau functies kunt u de machine te leren.

Ik vond de C Primer Plus, 5th Edition zeer nuttig als een begin programmeur met bijna geen programmeerervaring. Het veronderstelt geen voorafgaande ervaring met programmeren, leuk om te lezen en beslaat C in de diepte (inclusief de nieuwste C99-norm).

antwoordde op 19/08/2008 om 09:37
bron van user

stemmen
0

Mijn persoonlijke ervaring begon terug op de lagere gebruik van Logo Writer (die op een bepaalde manier heeft zich ontwikkeld tot Scratch), toegegeven ik een kleine jongen was en computers, waar niet zo geweldig als ze zijn tegenwoordig, maar voor het moment het kostte me plaatsen waar ik niet had' t eerder geweest ... ik denk dat is hoe ik verslaafd raakte in het bedrijfsleven ... ik zou kunnen zeggen dat het was deze eerste indrukken op basis van dergelijke eenvoud en koelte dat de goederen die stok in mijn hoofd voor het leven gemaakt. Dat is hoe basics in het onderwijs programmering moet worden geleerd ... een eenvoudig proces dat magie verlangt.

Terug naar mijn eerste CS 101, Ik ben begonnen met ideeën over wat een algoritme was door het bouwen van een Tequila Sunrise (een stap voor stap proces dat op elk gewenst moment met de juiste ingrediënten kunnen worden herhaald, die zal resulteren in dezelfde output), van daaruit we gaan naar elementaire wiskundige functies met behulp van Scheme (zoals EHaskins zei ... klein beginnen en dan te bouwen), en van daaruit naar noties van loops, Booleaanse logica, structuren en vervolgens het opbouwen naar concepten van objecten en een aantal simulatie executies .. .

Een van de goede dingen over deze aanpak is dat de taal was geen doel, maar slechts een hulpmiddel in het proces van het leren van de concepten en de basis van het programmeren (net als operators, functies en anders zijn in de wiskunde).

IMHO leren van de grondbeginselen van de programmering en het creëren van een stichting is waarschijnlijk het beste wat je kon je broer te leren, zodra het doel dan is bedekt kan u verder te gaan naar een meer algemeen gebruik taal zoals python en leren ze hogere begrippen als architectuur en design patterns ( maken ze natuurlijk in het proces, zodat hij gebruik om de goede praktijken van de vroege stadia zal krijgen en zal ze te zien als onderdeel van het proces) ... we zijn ver van het opnieuw uitvinden van het warme water, maar we hebben altijd om te beginnen door het creëren van vuur.

Vanaf daar op de sky is the limit!

antwoordde op 16/08/2008 om 16:56
bron van user

stemmen
0

Aanvankelijk was ik geïnteresseerd in de manier waarop verschillende programma's gewerkt, dus ik begon door te kijken naar de broncode. Toen ik begon te begrijpen hoe het programma werkt, zou ik bepaalde parameters veranderen om te zien wat er zou gebeuren. Dus eigenlijk heb ik geleerd hoe om te lezen voordat ik geleerd hoe om te schrijven. Die toevallig is de manier waarop de meeste mensen Engels te leren.

Dus als ik probeerde om iemand hoe te programmeren Ik zou ze een klein programma om te proberen te lezen en te begrijpen hoe het werkt te onderwijzen, en hebben ze gewoon gewoon spelen rond met de broncode.

Alleen dan zou ik geef ze "opdrachten" om te proberen te bereiken.

Nu als ze een bijzondere reden had om te willen leren hoe te programmeren, zou het zeker een goed idee om te beginnen met iets in de trant van wat ze willen bereiken zijn. Bijvoorbeeld als ze wilden bedreven in een applicatie zoals te zijn blender , zou het definably een goed idee om te beginnen met zijn Alice .

Ik zou absoluut aanraden steken met een taal die garbage collection heeft, zoals D , Perl , of een geïnterpreteerde taal, zoals javascript. Het is misschien een goed idee om weg te blijven van Perl tot Perl 6 dichter bij de voltooiing, want het lost een aantal van de moeilijkheden van het lezen en begrijpen van Perl.

antwoordde op 14/08/2008 om 17:23
bron van user

stemmen
0

Deze draad is zeer nuttig voor mij als een beginner (> 100 regels code) programmeur.

Gebaseerd op wat ik heb meegemaakt, toen ik eenmaal klaar is met de "Hello World" en ga naar variabelen en "if / else" statement, kreeg ik zapped met teveel syntax; niet wetend wat te doen met hen.

Dus met een interessant eenvoudig project, zou ik mijn interesse weer op te staan. Er zijn heel veel van het project suggesties hier.

Mag ik hier vragen een vraag?

Is het beter om te leren scripting-talen als AutoHotKey eerste?

Edit: [Justin Standaard]

Ik denk dat het leren van iets macro-gebaseerde achtige AutoHotKey zal alleen helpen minimaal. Probeer het leren van een "echte" programmeertaal eerste. De makkelijkste om te beginnen met (volgens de meeste mensen) zijn Python en Ruby . Ik ben voorstander van python, maar beide zijn vrij eenvoudig. Er is ook een full stackoverflow bericht dat de vraag welke taal om te beginnen met antwoorden.

antwoordde op 14/08/2008 om 02:30
bron van user

stemmen
0

Mijn favoriete project "beginnen met het leren om code" is het spel Snakes of Tron omdat het u toestaat om langzaam (variabelen beginnen met de huidige "worm positie" op te slaan, arrays om de worm posities op te slaan als de worm is langer dan een "stuk", lussen om de worm te laten bewegen, als / schakelen, zodat de gebruiker om de richting van de worm te veranderen, ...). Het maakt het ook mogelijk om meer en meer spullen op te nemen in het project op de lange termijn, bijvoorbeeld object georiënteerd programmeren (een worm is een object met de kans om twee wormen hebben op hetzelfde moment) met de erfenis (gaan van "Snakes" tot "Tron 'of andersom, waar de worm verandert enigszins gedrag).

Ik stel voor dat je gebruik maken van Microsoft's XNA om te beginnen. In mijn ervaring beginnen met programmeren is veel leuker als je iets op je scherm kunt zien, en XNA maakt het heel gemakkelijk om iets te bewegen op het scherm te krijgen. Het is heel eenvoudig om kleine veranderingen te doen en nog eens kijken, bijvoorbeeld door het veranderen van kleuren, zodat hij kan zien dat zijn acties hebben een effect -> Impressie van succes. Succes is leuk, dat is een grote motivatie te blijven leren.

antwoordde op 11/08/2008 om 13:59
bron van user

stemmen
0

Ik zou in de eerste het onderwijzen van de basis die gebruikt worden in bijna elke taal, maar doen zonder een taal te bevelen. Een overzicht van alle basisbegrippen If-Else If-Else, Loops, klassen, Variable Types, Structures, etc. Alles wat de basis is van de meeste talen. Ga dan naar echt te begrijpen Boolean, vergelijkingen en complexe AND OR statements, om het gevoel te krijgen op wat de uitkomsten zijn voor complexere statements.

Door dit te doen het op deze manier zal hij de concepten van de programmering te begrijpen en hebben een veel gemakkelijkere tijd het stappen in talen, vanaf daar is gewoon het leren van de ingewikkelde details van de talen, zijn functies en syntax.

antwoordde op 11/08/2008 om 13:30
bron van user

stemmen
0

Ten eerste, ik denk dat er al een aantal goede antwoorden, dus ik zal proberen niet te veel te bedriegen.

  • Laat ze veel code te schrijven, houden ze het stellen van vragen aan de hersenen sappen stromen te houden.
  • Ik zou zeggen Dont verzanden met de echt gedetailleerde informatie totdat ze ofwel draaien in om de gevolgen van hen, of ze vragen.

Ik denk dat een van de grootste punten die ik zou ervoor zorgen dat ze de kernbegrippen van een kader te begrijpen. Ik weet dat u werkt in Python (die ik heb geen idee over), maar bijvoorbeeld met ASP.NET om mensen te begrijpen van de pagina / code achter model kan een echte uitdaging zijn, maar het is van cruciaal belang dat ze begrijpen het. Als voorbeeld, ik had onlangs een vraag op een forum over " waar kan ik mijn data-toegang code, in de 'cs' bestand of de 'aspx' file ".

Dus ik zou zeggen, voor het grootste deel, laat ze leiden de weg, maar er zijn om hen te ondersteunen waar dat nodig is, en vraagt ​​meer vragen om rente te handhaven. Gewoon zorgen dat ze over de fundamenten neer, en dont laat ze lopen voordat ze kunnen lopen.

Succes!

antwoordde op 09/08/2008 om 07:52
bron van user

stemmen
0

Ik denk dat het leren programmeren, omdat je wilt leren om programma zal nooit zo goed als leren programmeren, omdat je iets wilt doen. Als je iets dat je broer is geïnteresseerd in het maken van werk, omdat hij wil om het te laten werken kan vinden, kunt u gewoon laten hem met Google en hij zal het doen. En hij zal je rond om te controleren of hij gaat langs het rechte pad.

Ik denk dat een van de grootste problemen met het aanleren van de programmering in het abstracte is dat het niet heeft een real-world context dat de leerling emotioneel kan krijgen geïnvesteerd in. De programmering is hard, en er moet een aantal echte uitbetaling zijn om het de moeite waard de moeite om het te doen. In mijn geval zou ik informatica gedaan op de universiteit, leerde Pascal en COBOL daar, en leerde BASIC thuis daarvoor, maar ik heb nooit echt overal met het tot ik een zelfstandige webdesigner terug werd in de jaren '90 en mijn klanten nodig functionaliteit op hun websites, en waren bereid om ongeveer 10x meer te betalen voor functionaliteit dan voor het ontwerp. Het zetten van voedsel op de lijst is een hel van een motivator!

Zo leerde ik Perl, dan ASP / VBScript, dan JavaScript, dan Flash / ActionScript dan PHP - allemaal om de dingen die ik wilde laten gebeuren.

antwoordde op 07/08/2008 om 08:47
bron van user

stemmen
0

Ik adviseer beginnen ze af met C / C ++. Ik vind dat het een goede basis voor zowat elke andere taal. Ook kunnen de verschillende versies van BASIC vrij dodgy zijn, op zijn best, en hebben geen echte correlatie met de werkelijke programmering.

antwoordde op 07/08/2008 om 06:35
bron van user

stemmen
0

Ik ben het met Leac. Ik heb eigenlijk spelen met Scratch soms als ik me verveel. Het is een vrij leuke visuele manier van kijken naar de code.

Hoe het werkt is, geven ze je een heleboel "blokken" (deze eruit legos) die u kunt stapelen. En door het stapelen van deze blokken, en de interactie met het canvas (waar je je sprites, afbeeldingen) kunt u games, films, diavoorstellingen ... het is echt interessant.

Wanneer deze is voltooid kunt u het uploaden direct naar de websites Scratch, dat is een youtube-achtig portaal voor Scratch toepassingen. Niet alleen dat, maar u kunt elke inzending te downloaden op de website, en te leren van of uit te breiden andere Scratch toepassingen.

antwoordde op 06/08/2008 om 18:32
bron van user

stemmen
0

Ik denk dat de "wisdom of crowds" hier te werken. Hoe hebben de meeste mensen leren hoe te programmeren? Velen beweren dat ze deed dit door het kopiëren van programma's van anderen, meestal spelen ze wilden spelen in BASIC.

Misschien is deze route ook werken met hem?

antwoordde op 06/08/2008 om 07:20
bron van user

stemmen
0

In feite zou ik pleiten voor een eenvoudiger taal met minder instructies te plukken. Ik persoonlijk leerde op BASIC thuis, als deed Jeff . Op deze manier hoef je niet te verdiepen in meer gecompliceerde zaken als object georiënteerd programmeren, of zelfs procedures als u niet wilt. Zodra hij eenvoudige control flow aankan, ga dan naar iets ingewikkelder, maar alleen eenvoudige functies.

Misschien beginnen met zeer eenvoudige programma's die slechts 2 nummers toe te voegen, en vervolgens uitgroeien tot iets dat een tak zou kunnen vereisen, dan misschien het lezen van input en het reageren op, dan een soort lus, en beginnen ze allemaal bij elkaar te combineren. Gewoon beginnen met kleine en werk je weg omhoog. Gebruik geen grote projecten niet doen totdat hij de fundamenten kan begrijpen (anders is het heel goed mogelijk te intimiderend en hij kon opgeven halverwege). Zodra hij Basic knie of wat je ook kiest, gaan naar iets ingewikkelder.

Just my $ 0.02

antwoordde op 06/08/2008 om 06:16
bron van user

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