Thinking of Development

Vergelijkbare documenten
Javascript oefenblad 1

Zelftest Inleiding Programmeren

Module 3: Scratch programmeren: is het logisch of is het niet logisch?

Drakenbrood. Ingrediënten. 500 g bloem of tarwemeel 1 zakje gist 3 dl lauw water 20 g boter 10 g zout rozijnen. Werkwijze

Planning. 1. Mini College. 2. Introductiecursus Imperatief Programmeren. 3. Crash and Compile (vanaf 17:00 uur)

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

Cursus Programmeren en Dataverwerking.

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

VAN HET PROGRAMMEREN. Inleiding

Programmeren: Visual Basic

Programmeren met Arduino-software

RCL Arduino Workshop 1

Pannenkoeken (4 personen) Ingrediënten: 500 gram Leemansmolen tarwebloem 1 liter melk 4 à 5 eieren een beetje zout boter om te bakken

Variabelen en statements in ActionScript

{ auteur, toelichting }

BEGINNER JAVA Inhoudsopgave

Bij dit hoofdstukken horen geen opgaven.

Informatie voor de leerkracht Introductie nieuw concept (pagina 1) Programmeren met Bomberbot (pagina 1)

PSD Turtle. Om op een goede manier een programma te schrijven wordt er ook een algoritme gevolgd. Dit algoritme bestaat uit de volgende stappen/fasen:

Recepturen zijn opgesteld door: Ragnhild Visser-Vijfvinkel Eigenaresse VoedingVeilig

WELKOM BIJ BOMBERBOT! LES 1: WAT IS PROGRAMMEREN LES 1: WAT IS PROGRAMMEREN WAAR GAAT DEZE LES OVER? INTRODUCTIE

Pannenkoeken Sekerpare Tiramisu

Bakrecepten. voor de feestdagen

Kerst Kerstkoekjeskrans

WORKSHOP ORANGE PI & PYTHON v september 2017

Ingrediënten 10 plakjes bladerdeeg, 2 friszoete stevige appels (bijv. Jazz, ) 1 ei, 2 el rietsuiker

Kokos - Havermout koekjes

Een spoedcursus python

PHYSICAL COMPUTING INTRODUCTIE²

VAN HET PROGRAMMEREN. Inleiding. Het spiraalmodel. De programmeertaal. vervolgens de berekening van het totale bedrag, incl. BTW:

VBA voor Doe het Zelvers Deel 7

A'MUZE. ingrediënten: bodem: 1 grote plak bladerdeeg; Soezendeeg: 100 gr boter zout 150 gr bloem 4 eieren; 125 ml melk 125 ml water

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Informatie. Voorbeeld. Voorbeeld: toegangsprijs

Inleiding Programmeren 2

Vakgroep CW KAHO Sint-Lieven

Arduino Workshop 1 Zuid-Limburg

Programmeren in Java les 3

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby?

Citroentaart. Ingrediënten: 250 g zanddeeg sap van 3 citroenen 3 eieren 25 g maïzena 180 g suiker 220 g boter fijn geraspte schil van 1 citroen

Verzamelingen, Lijsten, Functioneel Programmeren

Paleo Brood. met 10 heerlijke Glutenvrije & Graanvrije BrooDrecepten

Vaak wil je een code schrijven, waar je verschillende acties uitvoeren voor verschillende beslissingen. Je kan daarbij keuzestructuren gebruiken.

Gebruik van command-line operating systems

algoritmiek - antwoorden

Probleem met dobbelspel. 2IP05: Programmeren Blok A. 5 spelers,2 dobbelstenen. wstomv/edu/2ip05/ Per ronde werpt elke speler 1

Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal.

UNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS

1. Kaneelkoek idee. Receptenbijlage bij deel 7 Natuurlijke suikervervangers Miss Natural Lifestyle

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,

inleiding theoretische informatica practicum 1 deadline woensdag 20 februari 2008 om uur

Een korte samenvatting van enkele FORTRAN opdrachten

Opmerkingen en vragen aan Ultieme vraag: Hoe beïnvloedt dit de winstkansen?

Inleiding Programmeren 2

Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: , Appendix A.

Programmeren PYTHON OEFENTENTAMEN 2. Schrijf jouw antwoorden op dit tentamen. Tijd: 2 uur. Maximaal aantal punten: 32. Naam: Studentnummer:

1. Appel-nectarinemilkshake Bereidingstijd: 0-10 minuten

Vorig jaar in 5v cluster, tot en met OO hoofdstukken, geen problemen. Nu in mengcluster, tot OO hoofdstukken, wel problemen bij 4h leerlingen

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts

Opdracht 4: Overzichtelijker en generieker

FUNCTIONEEL PROGRAMMEREN WEEK 1

Het relaas van de beginnende programmeur. Het hoe en waarom van de assistent

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

Overheerlijke Smul Recepten om suikervrij te bakken!

Galactosemie - recepten

Syntax- (compile), runtime- en logische fouten Binaire operatoren

Peperkoekhuisje. 250 ml gepasteuriseerd eiwit Poedersuiker. 200g pure chocolade

Programmeren en Wetenschappelijk Rekenen in Python. Wi1205AE I.A.M. Goddijn, Faculteit EWI 22 april 2014

6,1. Samenvatting door een scholier 1809 woorden 28 oktober keer beoordeeld. Informatica

van PSD naar JavaScript

De keuzestructuur. Versie DD

Tentamen Objectgeorienteerd Programmeren

Programmeren. a. 0, 0, 0 b. 0, 0, 27 c. 15, 12, 0 d. 15, 12, 27

Bosbessen Pruimentaart

Logica voor Informatica

DE ASTRO PI PROGRAMMEREN VOOR MISSION ZERO

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

PYTHON REEKS 1: BASICS. Mathias Polfliet

Recept van de maand mei Medaillekoekjes (12 stuks)

High tea recepten voor Pasen

NSPYRE LEGO MINDSTORMS UITDAGING (JAVA) INLEIDING. DOEL: SIMULATOR:

BEGINNERS EV3 PROGRAMMEERLES

Low Carb Brownies: past goed in een koolhydraatarm dieet! Deze brownies zijn niet alleen koolhydraatarm maar ook erg lekker!

Wandelsnacktips. Omdat wandelen niet alleen leuk, maar ook lekker is. Marjoleine van der Waal. gewichtsconsulente. Marjoleine van der Waal

mini amandelen speculaas staven maken

Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 )

OEFENINGEN PYTHON REEKS 1

Koken; Geert Gerritsma

In Vlaanderen bestaat er nog geen leerlijn programmeren! Hierdoor baseren wij ons op de leerlijn die men in Nederland toepast voor basisscholen.

Spaghetti. Ingredienten (voor 15 personen) 900 gram bloem 9 eieren 90 ml olijfolie Een snufje zout


Inleiding Programmeren 2

Inleiding tot Func.oneel Programmeren les 3

Recepten met Oranjebloesemwater

Datastructuren: stapels, rijen en binaire bomen

DE INTERACTIEVE SHELL

8+ 60 MIN Alleen te spelen in combinatie met het RIFUGIO basisspel. Only to be played in combination with the RIFUGIO basicgame.

Transcriptie:

Thinking of Development College 2 Imperatief programmeren Arjan Scherpenisse arjan.scherpenisse@kmt.hku.nl @acscherp

Dit college Programmeren, wat is dat dan? De programmeur als vormgever Pseudocode Scratch

Thinking of Development...? thinking of development

Thinking of Development

Thinking of Development

Programmeren Het aansturen van een computer via instructies Deze instructies vormen de broncode van het programma Instructies meestal worden niet direct in machinetaal geschreven Compilers en interpreters maken van broncode machinetaal

Programmeertalen Er zijn vele duizenden programmeertalen Bekende: Python, Ruby, PHP, C, C++, ActionScript, Exotische: Shakespeare, BrainFuck, Chef,... Instructies worden achter elkaar (sequentieel) uitgevoerd

Maar hoe ziet code er dan uit?

Assembler

Erlang

Javascript

De programmeur als vormgever

Computer-gegenereerd Fractals Visuele uitingen van logische regels Procedural textures, meshes Genetisch / evolutionair Simulatie van de natuur: simpele regels, complex systeem

Gebruik in games Procedural Texture Generation http://www.spiralgraphics.biz/ Mesh generation in Unity Evolutionaire algoritmes in de gameplay bv. Spore

Programmeur = vormgever Laten we een game gaan hacken Workshop Open Tools Lab, TodaysArt 2013 Geinspireerd op game mod (filmpje) Demootje

...yeah, right :-P Gelukkig ga ik jullie niet leren code schrijven Wat we wel doen is pseudo-code maken.

Pseudocode Pseudocode wordt gebruikt om algoritmes vast te leggen op een door mensen leesbare manier met behoud van de stappen. (wikipedia)

Een algoritme om koekjes te bakken

Koekjes bakken Verwarm oven voor op 220 C. Roer de boter, basterdsuiker en melk door elkaar. Meng kaneel, zout, amandelen erdoor, en daarna de bloem. Doe het beslag in een spuitzak en spuit het in kleine bolletjes op een bakplaat Bak de koekjes in slechts enkele minuten in de oven. Leg ze daarna op het aanrecht om af te koelen

verwarm de oven voor op 220 REPEAT roer ingredienten door elkaar UNTIL egaal mengel REPEAT spuit bolletje op bakplaat UNTIL bakplaat vol OF deeg op IF er is nog deeg THEN bewaar rest van deeg in koelkast END zet plaat in oven wacht 3 minuten haal plaat uit oven

Pseudocode: Statements Roer de ingrediënten door elkaar Verwarm de oven voor Geparametriseerd: Verwarm de oven voor op 220 graden Verwarm de oven voor op X graden

Beslissingen Oorzaak gevolg: Als dit, dan dat IF iets, THEN doewat, (ELSE doewatanders ) Expressie Statement(s) IF oventemperatuur te hoog THEN stop met voorverwarmen Statement(s)

Herhalingen (Loops) Herhaal iets, totdat er iets aan de hand is REPEAT doewat UNTIL iets (aan de hand is) Expressie Statement(s)

Pseudocode: Variabelen Een vakje waar iets in kan worden bewaard SET gewenstetemperatuur TO 220 activeer oven REPEAT SET huidigetemperatuur TO de huidige oventemperatuur UNTIL huidigetemperatuur >= gewenstetemperatuur

Pseudocode: Condities huidigetemperatuur GROTER DAN gewenstetemperatuur is een conditie Een check. Condities zijn altijd waar (true) of niet waar (false) Worden gebruikt in beslissingen (IF..THEN) Worden gebruikt in loops (REPEAT..UNTIL)

Pseudocode: operatoren Voor vergelijken en combineren van waardes en variabelen +, -, /, * Maar ook: >, <, <=, >=, ==,!=, AND, OR Bijvoorbeeld: huidigetemperatuur + 10

Pseudocode richtlijnen Duidelijke namen van dingen Syntax niet zo belangrijk...maar wees wel consistent! Balans abstractie / specificiteit

Balletje-balletje, te simpel: Initialize some stuff REPEAT Get user input UNTIL user choose the right cup Show victory screen

Balletje-balletje, te complex: BOOLEAN Match INTEGER UserCup INTEGER RandomCup PRINT "GUESS THE CUP (C) 2011 HKU PRODUCTIONS, ALL RIGHTS RESERVED" PRINT PRINT PRINT PRINT "Which cup do you think the ball is under?" "Press 1 for cup number one" "Press 2 for cup number two" "Press 3 for cup number three" SET NumberOfCups to 3 CALL RandomNumberGenerator with NumberOfCups RETURNING RandomCup REPEAT IF KeyPressed EQUALS 1 THEN SET UserCup to 1 ELSE IF KeyPressed EQUALS 2 THEN SET UserCup to 2 ELSE IF KeyPressed EQUALS 3 THEN SET UserCup to 3 SET Match to UserCup EQUALS RandomCup IF Match NOT EQUALS true PRINT "The ball was not under the cup of your choice, please try again" UNTIL Match EQUALS true PRINT "Congratulations! You have guessed the right cup!" PRINT "Please play again!"

Opdracht: Ga een dagelijkse bezigheid van jezelf na, en schrijf deze op in pseudocode. Probeer het juiste niveau van detail te vinden; verlies jezelf niet in details, maar blijf ook niet op een te hoog niveau. Verzin bezigheid waarbij je minimaal 1 variabele, 1 loop en 1 if-then-else nodig hebt. Jullie hebben hier 2 weken voor. Deadline: zaterdag 12 oktober 23:59u arjan.scherpenisse@kmt.hku.nl

Zijn we er nog?

http://scratch.mit.edu

Scratch 101

Komende colleges College 1: waar hebben we het over College 2: imperatief programmeren College 3: vervolg programmeren College 4: object-orientatie, tweede opdracht College 5: vervolg OO Tentamen

Tot over twee weken! Opdracht komt op het blog te staan vanavond