Permalänk
Medlem

Programmeringstänket

Jag skulle vilja dedikera en tråd till det så kallade programmeringstänket. Den som ställer frågan "vilket språk ska jag börja med", brukar alltid få svaret "det viktiga är inte vilket språks syntax du lär dig, utan att du lär dig programmeringstänket". Då undrar jag: vad ingår i detta programmeringstänk? Hur ska man tänka? Vad är hemligheten helt enkelt?
Förstår att det kanske inte går att ge ett rakt svar på den frågan, men det vore intressant att höra lite åsikter om saken.

Edit: Om det redan finns en tråd om detta får någon gärna länka, jag och sökfunktionen på sweclockers kommer inte överens...

Permalänk
Medlem

i mitt fall så brukar jag tänka på use cases. Ex. vad ska applikationen göra och vad ska hända när man klickar på x, y eller z.
Jag skriver upp alla funktioner som appen/sidan ska kunna göra och sedan så börjar jag planera med Visual Paradigm (UML) - Class diagram.

Efter det så brukar jag tänka på vilka koncept challenges applikationen har. T.ex. är websockets rätt val eller borde man köra COMET programmering. etc. Man överväger helt enkelt alternativen som finns innan man sätter igång med själva programmerandet.

När man är klar med all planering då e d ba o koda (och det är vid d laget jag börjar tappa intresset haha)

Visa signatur

Awesome stuff can be found @ www.demonshalo.com
follow us on twitter: www.twitter.com/demonshalo_com

Permalänk
Hedersmedlem

Mycket går väl ut på att lära sig lösa problem genom att tänka ut algoritmer och sedan uttrycka dessa med hjälp av i programmering vanliga företeelser som if-satser, loopar, listor och en smula boolesk algebra.

Permalänk
Medlem

Håller med Elgot. Programmeringstänket är att kunna bryta ner ett större problem i mindre bitar, om och om igen till man når de till de beståndsdelar ens programmeringsmiljö innehåller. Hur representaras data? Hur transformeras det? var är det vettigt att lägga upp abstraktioner (någorlunda iallafall).

Visa signatur

void@qnet
teeworlds, stålverk80, evil schemer, c, c++
Languages shape the way we think, or don't.

Permalänk

Det finns ett begrepp som heter "Computational Thinking" (även "Algorithmic Thinking") som handlar om förmågan att bryta ner lösningen till problem i små väl definierade steg. Problemen behöver inte handla om programmering utan det kan vara egentligen vad som helst.

Här är två sidor som handlar om detta: http://www.cs.cmu.edu/afs/cs/usr/wing/www/publications/Wing06..., http://www.google.com/edu/computational-thinking/

Hur man gör för att skaffa sig ett algoritmiskt tankesätt? Förmodligen öva på det så mycket som möjligt.

Den här sidan, Great Principles of Computing, listar flera principer som kan vara användbara när man ska utveckla sitt sätt att tänka kring programmering. Det finns en risk att det är lite för "köttigt" att ta till sig för nån som nyligen börjat med programmering så jag är inte säker om jag kan rekommendera sidan, men det kanske kan va värt att kolla på ändå och sen komma tillbaka till senare när man lärt sig mer.