Software Development fundamentals

Slides:



Advertisements
Verwante presentaties
PSD Basisstructuren programmeren.
Advertisements

Bouwen doen we zo! Sjoerd & Remco Studenten van MBO – Bouwkunde niveau4.
Fantasiedier AV1A / AV1B Opdracht 1, Blok 2.
Programmeren met Alice
Practica Computerlinguistiek Tekst en uitleg:
Binnen buiten cirkel 1. Leerlingen in 2 cirkels
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
Stijn Van Wonterghem1 ALICE Een animatie opbouwen.
Wiki: Medmec04 les 5 Engagement The game called life
Frank Stalpers en Ad Baars
MICPRG Les 11 Microcontroller Programmeren in C. 112 Datastructuren in C Werkgeheugen (PC en microcontroller): Statische datastructuren (vaste grootte):
Hoofdstuk 7 verplicht… Keuze.
PHP Een casus - PIZZA.
PHP & MYSQL LES 02 PHP & FORMULIEREN. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Van probleem naar programma
Programma Structuur Diagrammen (PSD’s)
Programmeren met If This Then That (IFTTT)
Les 3 Basisbouwstenen (deel 2) Programmeren met Visual Basic Karl Moens.
CONTROLESTRUCTUREN (DEEL 1)
Hoofdstuk 3 - Conditionele logica
Loopbaan oriëntatie en begeleiding
Programmeren.
Programmeren met kinderen NWT-conferentie basisonderwijs SPANNING & SENSATIE.
Methodiek: Plancyclus
Welkom! maandag 16 November 2015 Les B-2.
Verdieping Timemanagement
IF() ELSE() LES 4: VOORWAARDEN. BOOL Een variabele die slechts 2 mogelijke waarden kan hebben: true(waar) of false(niet waar) duid je aan met bool bool.
Creatief schrijven. Programma -Inkomopdracht: elektriciteit -Opdracht 1: jouw ideale vakantiedag -Opdracht 2: verplaats je in een ander Wat gaan we leren?
Programmeren. Wat is programmeren? Het schrijven van opdrachten voor de processor De processor “spreekt” machinetaal:
Robby de Robot. Javascript Tot nu toe gebruikt: – document.write(" Hello World "); – alert("tekst") – Toon een waarschuwingsvenster – prompt("tekst",
Programmeren met kinderen
Windows applicatieontwikkeling
Programmeren.
Software Development fundamentals
Even voorstellen Marion Hijmensen Eigenaar 2toGrow, staat voor samen groeien Borging en transfer naar de praktijk Certified Professional Jump Movement.
Denken als een computer
Programmeren met Reeksen
Onderhouden met Werktuigen en machines
LOB zeven stappen naar succes
Wij zijn FLEX Finn Megan Anouk Nina
Programmeren woensdag 4 oktober 2017.
Beste Havo 4..
Rob Goossens Wat weten we nog?.
Beste Havo 4..
© UNIEK IN DE KLAS.
Houd je aandacht erbij! Trainers: Jan de Groot Henk Torreman.
Studie vaardigheden Thema 8 : Ups & downs.
Welkom Havo/vwo 3..
Software Development fundamentals
Small Basic Console deel 2
Schoolwide Positive Behavior Support (SWPBS)
Praktijktoets Eind LP 1 VP17U.
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Ontwerp een buitenles Les 1 Les 4.
Les 4: iedereen is anders
Software Development fundamentals
– Software development fundamentals
Software Development fundamentals
Software Development fundamentals
Raden, regels en redeneren Groep 7 en 8
– Software development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Software Development fundamentals
Python – For loop + strings
Python – For loop + strings
Transcript van de presentatie:

Software Development fundamentals Les 1 - Algoritmes

inhoudsopgave Logisch nadenken (even ons logische brein opstarten) Algoritmes Flowcharts Opdrachten Korte pauze Als er tijd voor is: Een text-based RPG als flowchart En dan wisselen we naar A228 (daar beginnen we met een quiz/oefentoets)

Logisch nadenken Voor programmeren is het nodig dat we op een bepaalde manier leren nadenken…

ER IS EEN MOORD GEPLEEGD Welke manier heeft jouw voorkeur en waarom?

Er is een moord gepleegd Er is een moord gepleegd, maar wie is de dader? Er zijn vier verdachten, en maar één van hen spreekt de waarheid. Wie heeft het gedaan? Robin: Faruk heeft het gedaan Faruk: Sven heeft het gedaan. Randy: Ik heb niets gedaan Sven: Faruk spreekt niet de waarheid. Welke manier heeft jouw voorkeur en waarom?

Logisch nadenken Is het mogelijk om de pijl van richting te laten veranderen met het verplaatsen van maximaal 2 cirkels? Welke manier heeft jouw voorkeur en waarom?

algoritmes Wat is een algoritme? “een eindige reeks instructies die vanuit een gegeven begintoestand naar een beoogd doel leiden” http://nl.wikipedia.org/wiki/Algoritme Een algoritme begint met de invoer, voert een aantal stappen uit, en eindigt met de uitvoer. An algorithm is a set of ordered and finite steps to solve a given problem.

Wat is een algoritme Wat is een algoritme? “een eindige reeks instructies die vanuit een gegeven begintoestand naar een beoogd doel leiden” http://nl.wikipedia.org/wiki/Algoritme De logica van je applicatie bestaat uit algoritmen. Deze bevatten met name: Beslissingen if(tarief == “laag”) Herhalingen foreach(int element in lijst) Daarnaast kunnen we acties of berekeningen uitvoeren.

uitwerking Veelgebruikte methodes om een algoritme uit te werken zijn: Flowcharts Pseudocode PSD’s Waarheidstabellen En natuurlijk de uiteindelijke C# code.

uitwerking Opdracht: BTW berekenen Lees een prijs zonder BTW in, en een keuze voor een hoog of laag BTW tarief. Van deze prijs wordt dan de BTW (6% of 21%) bepaald en het bedrag inc. BTW getoond. Wat is het algoritme? De stappen die worden uitgevoerd door de computer Denk even na welke stappen er volgens jou worden uitgevoerd. Hoe kunnen we dat uittekenen als een flowchart?

Als flowchart & code Flowchart: Code: // lees invoer in double bedrag = ? string tarief = ? double totaal = 0; if(tarief == “6%”) { totaal = bedrag * 1.06; } else if(tarief == “21%”) { totaal = bedrag * 1.21; // toon totaal

Remember kids, failing is needed for learning algoritmes Remember kids, failing is needed for learning

Als C# console application Console.WriteLine("Voer een bedrag in en druk op Enter"); double bedrag = double.Parse(Console.ReadLine()); Console.WriteLine("Voer ‘hoog’ in voor hoog tarief, of ‘laag’ voor laag tarief, en druk op Enter"); string tarief = Console.ReadLine(); double totaal = 0; if (tarief == "laag") { totaal = bedrag * 1.06; } else if (tarief == "hoog") totaal = bedrag * 1.21; Console.WriteLine("Het totaalbedrag is: " + totaal + ". Druk op Enter om het programma te beëindigen"); Console.ReadLine(); Bij interesse ook de windows forms applicatie maken

Als C# console application Console.WriteLine("Voer een bedrag in en druk op Enter"); double bedrag = double.Parse(Console.ReadLine()); Console.WriteLine("Voer ‘hoog’ in voor hoog tarief, of ‘laag’ voor laag tarief, en druk op Enter"); string tarief = Console.ReadLine(); Bij interesse ook de windows forms applicatie maken

Als C# console application double totaal = 0; if (tarief == "laag") { totaal = bedrag * 1.06; } else if (tarief == "hoog") totaal = bedrag * 1.21; Bij interesse ook de windows forms applicatie maken

Als C# console application Console.WriteLine("Het totaalbedrag is: " + totaal + ". Druk op Enter om het programma te beëindigen"); Console.ReadLine(); Bij interesse ook de windows forms applicatie maken

Korte pauze 10 minuten Bij interesse ook de windows forms applicatie maken

Oefening 2 Stel dat je wilt bepalen of iemand een telefoonabonnement af mag sluiten. De voorwaarden zijn: Als je jonger dan 21 bent mag je geen schulden hebben. Als je 21 of ouder bent mag je max. 10.000 euro schuld hebben. Voldoe je niet aan deze voorwaarden, krijg je geen abonnement. Kan je daar een flowchart van maken? Werk deze in tweetallen uit (op papier) Tijd over? Lukt het je om dat uit je hoofd in code uit te schrijven? (de taal maakt niet uit)

Een RPG in C# (Als een flowchart van een console application) Welke manier heeft jouw voorkeur en waarom? (Als een flowchart van een console application)

Wat gaan we doen Hoe kunnen we een simpele text-based RPG uitwerken zonder code te schrijven? Welke variabelen gaan we bijhouden? Welke stappen heeft ons algoritme? We kunnen onze game uitwerken als een flowchart. Teken na de bespreking individueel je flowchart uit (ik kom langs om te helpen)

Ideeën samenvoegen We maken groepen van 4. Wissel je ideeën uit en probeer samen tot een nieuw, goed ontwerp te komen. Of je het door 1 persoon laat tekenen terwijl de rest zegt wat er moet gebeuren, of door iedereen individueel laat uitwerken is aan jullie. Aan het eind van de les lever je per groep 1 flowchart in.

huiswerk Staat online (de eerste keer mail ik het rond) Aan het begin van de volgende les inleveren/laten zien.

Afsluiting Zijn er vragen?