CS50 lecture 0

Hier gaan we dan, de allereerste les!

Tijdens het uur beeldmateriaal, houdt docent David Malan het tempo hoog. Hij staat er zo bij te zweten dat je niet anders dan ontzag kan krijgen voor zijn onaflatend enthousiasme.

In het eerste deel van de les wordt met veel zorg benadrukt dat de cursus bedoeld is voor een algemeen publiek. Om te illustreren dat mensen via allerlei, vaak kronkelige, paden bij computerwetenschappen belanden, bestaat er zelfs een website: project5050. Hier vind je interviews met alumni van het vak CS50 die op de één of andere manier verdergegaan zijn in het vak.

Daarnaast blijkt het vak geen one-man show te zijn, maar het resultaat van jaren werk door een heel team.

Na deze introductie worden basisbegrippen zoals het binair stelsel en algortimes heel duidelijk en visueel uitgelegd. Als leek op dit gebied was het een hele opluchting om een bijna mythisch begrip zoals ‘algoritme’ zo bevattelijk voorgesteld te zien. Misschien kan zelfs ik dit ook snappen.

Tenslotte is het tijd voor het echte werk: het eerste programmeren. Daarvoor wordt het programma Scratch gebruikt. Het werd ontworpen door MIT (Massachusetts Institute of Technology, nog zo’n grote naam). Het is een visuele kennismaking met de basisbeginselen van object-oriented programming. In de les zelf worden enkele basishandelingen gedemonstreerd. Vervolgens ben je zelf aan de beurt.

CS50lecture0

Problem set 0

Elke les ga je aan de slag met een ‘problem set’. Op basis van bepaalde voorwaarden knutsel je zelf iets in elkaar zodat je de besproken technieken in de vingers krijgt.

In deze eerste problem set wordt je erg vrij gelaten, maar aan inspiratie is er op de website van Scratch zelf en in het overzicht met CS50-projecten geen gebrek. Voor mij was dit aanvankelijk eerder intimiderend: op basis van dit eenvoudige programma blijken mensen echte spellen te bouwen.

Na wat zoeken, besloot ik van een erg eenvoudig concept uit te gaan: een ‘spelletje’ waarbij je het gevecht aangaat met de Snooze-knop – uit het leven gegrepen ;). Er is uiteraard niets mis met jezelf meteen een grote uitdaging stellen, maar ik wil mezelf ook niet overweldigen. Dit bleek een goede tactiek te zijn, want zelfs bij zo’n eenvoudig spelletje kom je al snel voor enkele hersenkrakers en bugs te staan.

Heel mooi is hoe Scratch op een visuele manier de basisbeginselen van object-oriented programming introduceert. Namelijk dat je programma niet één groot blok code is, maar bestaat uit verschillende objecten die op elkaar reageren.

Mijn eindresultaat:
//scratch.mit.edu/projects/embed/200303991/?autostart=false

Conclusie

Deze eerste les was zowel een geruststelling als een uitdaging. Ik blijk, als persoon met veel interesse maar beperkte voorkennis, niet alleen te zijn. De duidelijke uitleg en aangevoerde rolmodellen geven me het gevoel dat ook ik dit misschien wel kan. Het eerste project is meteen een kleine succeservaring. Zal deze positieve trend blijven aanhouden? Ik ben benieuwd!

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit /  Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit /  Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit /  Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit /  Bijwerken )

w

Verbinden met %s