Undervisningsbeskrivelse Programmering C ved mst Termin Juni 117 Institution Uddannelse Fag og niveau Lærer Hold Erhvervsskolerne Aars hhx Programmering C Michael Stenner (mst) 2-3g16 pro Forløbsoversigt (5) Forløb 1 Forløb 2 Forløb 3 Forløb 4 Forløb 5 Introduktion til programmering Reaktionstester SPIL-projekt Lommeregner Eksamensprojekt Side 1 af 8
Forløb 1: Introduktion til programmering Forløb 1 Indhold Introduktion til programmering Intro til programmering. Installation af Arduino IDE (Integrated Development Environment) "Hello World" "SOS"-projekt Input og output Seriel monitor Procedurer og metoder Intro til MMI-design, flow charts og pseudokode - Download på forhånd installationsfilen til Arduino IDE (Windows eller ios) - Introduktion til variabler og løkkestrukturer (morsealfabetet) - Fidusen ved funktioner (procedurer og metoder) - Variablers rækkevidde (scope) - Gennemgang af MMI design (Man Machine Interface) - Programmering på papir: Pseudokode - Design med flow charts Omfang 7 lektioner rette og tilpasse enkle programmer. programmeringssprog. elementer i programmeringssprogets opbygning såsom data- og kontrolstrukturer. programmers regelbundne opførsel ud fra programmets enkelte elementer. abstrakte programmeringsbeskrivelser og dokumentation. Par-arbejde selvstændig fordybelse Side 2 af 8
Forløb 2: Reaktionstester Forløb 2 Indhold Reaktionstester Vi har nu alle de nødvendige redskaber til at implementere en reaktionstester: Den består af en switch, en lysdiode og serielmonitoren. Når man resetter arduino skal der gå mellem 3 og 10 sekunder før lysdioden tænder. Så gælder det om at få trykket på switchen hurtigst muligt. Reaktionstiden, der er tiden fra lysdioden tændes til der trykkes på switchen sendes til serielmonitoren. Projektet gennemføres indeholdende de korrekte faser som MMI-design, Kodedesign (flow charts) og implementering. Dokumentation og kode afleveres som en skriftlig opgave.(programmeringsjournal) I arbejder selvstændigt med projekt: Reaktionstester - Udtænk hvordan jeres reaktionstester skal fungere. - Lav et MMI-design. - Skriv pseudokode - Konstruer et flowchart (skriv IKKE kode før ovenstående er på plads) Vi gennemgår hvordan man aflæser et knap-tryk (digitalt input) Hvordan man opbygger og skiver en programmeringsjournal Anvendelse af biblioteker (libraries) og færdige kodestumper Hvordan man tester sit program: Opskrivning af testcases Omfang 12 lektioner anvende eksisterende programdele og biblioteksmoduler i arbejdet med at programmere et fungerende system. demonstrere kreativitet og systematik i programmeringsprocessen. programdele og biblioteksmoduler. arbejdsgange i programmeringsprocessen. abstrakte programmeringsbeskrivelser og dokumentation. Par-arbejde Individuel fordybelse Side 3 af 8
Forløb 3: SPIL-projekt Forløb 3 Indhold SPIL-projekt Der skal udvikles et spil efter eget valg. Discipliner: MMI, Flowcharts, programmeringsjournal. Analyse af eksisterende programmer Løkkestrukturer variabel-scopes Output på Arduino (Display 2x16 dot matrix) Kodestil og god programmeingspraksis Programtest: - specifikation af testcases og gennemførelse af test. - "solskinssenarier" og "regnvejrsdage" Dokumentation af test Opstart af spil-projektet. Gennemgang af oplæg/krav Gennemgang af Udviklingsmiljøer - Arduino - Green foot - MIT App inventor - Netbeans Opgaver: Projekt SPIL Reaktionstester Omfang 22 lektioner redegøre for programmering som planlægning af en computers aktiviteter, herunder interaktion med omgivelserne. anvende eksisterende programdele og biblioteksmoduler i arbejdet med at programmere et fungerende system. demonstrere kreativitet og systematik i programmeringsprocessen. programmeringssprog. programmers regelbundne opførsel ud fra programmets enkelte elementer. programdele og biblioteksmoduler. abstrakte programmeringsbeskrivelser og dokumentation. Individuelt arbejde Side 4 af 8
Forløb 4: Lommeregner Forløb 4 Indhold Lommeregner I dette projekt skal der udvikles en applikation i form af en lommeregner, der kan køre på en PC. Som udgangspunkt anvendes udviklingsmiljøet Netbeans og programmeringssproget Java, men der kan efter aftale afviges fra dette. Der kan eventuelt tages udgangspunkt i en YouTube tutorial, men lommeregneren skal udvides med en funktionalitet efter eget valg, der ikke er dækket af den tutorials. Særlig fokus i dette projekt vil være på hvordan man specificerer, gennemfører og dokumenterer test at et program. Testspecifikation: Gennemgang af hvordan man opstiller/definerer test cases og hvordan man dokumenterer et programs funktionalitet "Solskinssenarier og regnvejrsdage": Når brugeren opfører sig "pænt" og når brugeren "mishandler" programmet Gennem projektet berøres discipliner som: - Forms - design og layout - Events - Objekter og disses egenskaber - Test cases Forløbet afsluttes med at alle præsenterer deres "personlige" feature og gennemgår koden bag featuren. Der afleveres et dokument der dokumenterer en gennemført test af programmet. Opgaver: Projekt Lommeregner Omfang 8 lektioner læse enkle programmer og redegøre for deres funktionsmåde og anvendelsesmuligheder. rette og tilpasse enkle programmer. anvende eksisterende programdele og biblioteksmoduler i arbejdet med at programmere et fungerende system. programmeringssprog. Individuelt arbejde Informationssøgning Fordybelse Præsentation Side 5 af 8
Forløb 5: Eksamensprojekt Forløb 5 Eksamensprojekt Side 6 af 8
Indhold Eksamen i programmering Læreplanen siger følgende: Der udarbejdes projektbeskrivelser i form af journaler, herunder et eksamensprojekt. Projektet har et omfang svarende til 20 timers uddannelsestid. Projektet består af et produkt og en journal. Journalen skal beskrive udviklingen af det færdige produkt. Journalen må højst have et omfang af 10 sider. Projektet udarbejdes inden for rammerne af projektoplæg stillet af skolen. Eksaminanden udarbejder en projektbeskrivelse, der godkendes af skolen, når beskrivelsen er tilstrækkelig fagligt bred og niveaumæssigt relevant. Sammen med projektet afleverer eksaminanden en journal, der beskriver produktet og dokumentationen heraf. Eleverne kan udarbejde projekter, herunder eksamensprojektet, som en del af et projekt i et andet fag. Problemet I kan tage udgangspunkt i kan være et af flg. emner - Matematik-program - Fysik-program - Et problem fra teknikfagsprojektet/teknologiprojektet - Spil - Lommeregner - Billedbehandling - Database - Betjeningsinterface - Processtyring - Styring/kontrol/regulering - App til smart phone elle tablet pc - Eller andre gode ideer som I måtte have. Du vælger selv sprog og udviklingsmiljø til din opgave. Inden selve projektet påbegyndes skal der foreligge projektbeskrivelse til godkendelse (se uddata+). Journalen skal som minimum indeholde følgende: Beskrivelse af projektet/problemet o Hvilket teknisk/teknologisk problem løser programmeto Hvad kan programmet anvendes til Funktionsbeskrivelse o Skærmlayout o Indtastningsmuligheder o funktionalitet - alt efter hvad det er for et program Dokumentation af selve programmet o overordnet beskrivelse af programmet, o detaljeret dokumentation for udvalgte dele af programmet o flowchart og/eller pseudokode, o variabler, objekter, events, igen meget afhængigt af hvad det er for et program Test af programmet o Opstil et testskema Konklusion o Lever programmet op til kravene? o Fungerer det? o Hvad var en udfordring? o Hvad er godt? o Hvad skulle have været gjort anderledes? Bilag o Kildekoden Side 7 af 8
Omfang 17 lektioner anvende eksisterende programdele og biblioteksmoduler i arbejdet med at programmere et fungerende system. demonstrere kreativitet og systematik i programmeringsprocessen. programmeringssprog. elementer i programmeringssprogets opbygning såsom data- og kontrolstrukturer. programmers regelbundne opførsel ud fra programmets enkelte elementer. programdele og biblioteksmoduler. arbejdsgange i programmeringsprocessen. abstrakte programmeringsbeskrivelser og dokumentation. Individuelt Side 8 af 8