Programmering 1 – Lektionsplanering

Inledning

Detta ska ses som ett förslag på planering. Ändringar bör göras för att anpassas till aktuell elevgrupp.

Lektionspassen bör vara längre än 60 minuter. Vi rekommenderar minst 90 minuter.

Det är viktigt att få eleverna till en nivå där de kan och vågar experimentera. Genomgångar får ej bli för långa, säg 5-15 minuter innan eleverna kan prova något nytt. Vi har grupperat lektionerna i olika områden som eventuellt kan kastas om i ordning.

Försök att undvika att servera färdiga lösningar när eleverna behöver hjälp. Ställ dig frågan: "är problemet enkelt att hitta via Google eller experimenterande?". Lotsa sedan eleven till att hitta svaret via Google, t.ex. genom att fråga eleven vilka sökord man bör använda. Uppmuntra eleven till att testa sig fram till hur det fungerar (om Google inte är den bästa lösningen).

I några delar av planeringen kan det passa att grundligt presentera och gå igenom några klassiska programmeringsproblem, se artikeln Klassiska programmeringsproblem

1. Utvecklingsmiljön och grunder

Alla elever ska utvecklingsmiljön installerad och fungerande. Enklare in- och utmatning ska prövas. Eleven bör lära sig strukturen i ett projekt och vart alla filer hamnar vid kompilering. Olika variabeltyper introduceras. Språkets uppbyggnad diskuteras.

Tidsåtgång: ca 10%

Centralt innehåll:

  • Sekventiell programmering i det eller de valda programmeringsspråken. Språkurvalet kan göras från såväl programspråk och skriptspråk som kompilerande och tolkande språk. Ett av de valda språken ska stödja objektorientering på ett påtagligt sätt.(SEKV)
  • Programmeringsspråkets eller språkens grundläggande datatyper samt fördefinierade strukturer, regler och syntax. (GRUND)
  • Traditioner och trender i utvecklingen av programmeringsspråk.(TREND)
  • Felsökning av källkod (och undantagshantering). (FEL)

Innehåll:

2. Villkor och loop'ar

Dags för kontrollstrukturerna. Börja med villkor och if-satsen. Gå vidare med antingen for- eller while-loop'en. Det är viktigt att få in grunderna ordentligt så se till att alla är med annars riskerar fortsättningen att gå mindre bra.

Här kan också vara läge att med diagnoser eller prov undersöka nivån i gruppen. Vi ger några enkla exempel på prov med papper samt praktiska prov som skulle kunna användas.

Tidsåtgång: ca 15%

Centralt innehåll:

  • Sekventiell programmering i det eller de valda programmeringsspråken. Språkurvalet kan göras från såväl programspråk och skriptspråk som kompilerande och tolkande språk. Ett av de valda språken ska stödja objektorientering på ett påtagligt sätt.(SEKV)
  • Programmeringsspråkets eller språkens grundläggande datatyper samt fördefinierade strukturer, regler och syntax. (GRUND)
  • Problemlösning och problemstrukturering. (PLPS)
  • Kontrollstrukturer, till exempel sekvens, selektion och iteration skrivna i ett implementerat programflöde. (KONTROLL)
  • Variablers och konstanters synlighet och livslängd. (SYN)
  • Felsökning av källkod och undantagshantering. (FEL)

Innehåll:

3. Variabeltyper och stränghantering

Denna del kan både ses som fördjupning och repetition. Slumpa tal introduceras om det inte gjorts tidigare.

Tidsåtgång: ca 5%

Centralt innehåll:

  • Sekventiell programmering i det eller de valda programmeringsspråken. Språkurvalet kan göras från såväl programspråk och skriptspråk som kompilerande och tolkande språk. Ett av de valda språken ska stödja objektorientering på ett påtagligt sätt.(SEKV)
  • Programmeringsspråkets eller språkens grundläggande datatyper samt fördefinierade strukturer, regler och syntax. (GRUND)
  • Problemlösning och problemstrukturering. (PLPS)
  • Kontrollstrukturer, till exempel sekvens, selektion och iteration skrivna i ett implementerat programflöde. (KONTROLL)

Innehåll:

4. Grafiska ramverk

Dags för ett avsnitt där eleverna främst kopierar och härmar. Fördjupning i antingen Windows Forms eller Monogame. Det är också ofrånkomligt att inte behandla klasser, ramverk och metoder. Syftet är att visa på språkets användningsområden. Vissa övningar i artiklarna kommer att vara för svåra för en nybörjare.

Tidsåtgång: ca 10%

Centralt innehåll:

  • Traditioner och trender i utvecklingen av programmeringsspråk.(TREND)
  • Kontrollstrukturer, till exempel sekvens, selektion och iteration skrivna i ett implementerat programflöde. (KONTROLL)
  • Grunderna för klasser, objekt, egenskaper och metoder. (OP)
  • De vanligaste programmeringsspråkens krav på körtidsmiljöer och operativsystem samt deras aktuella användningsområden. (INFO)

4a. Windows Forms

Innehåll:

4b. Monogame

Innehåll:

5. Inlämning/projekt 1

Tidsåtgång: ca 5%

Centralt innehåll:

  • Sekventiell programmering i det eller de valda programmeringsspråken. Språkurvalet kan göras från såväl programspråk och skriptspråk som kompilerande och tolkande språk. Ett av de valda språken ska stödja objektorientering på ett påtagligt sätt.(SEKV)
  • Programmeringsspråkets eller språkens grundläggande datatyper samt fördefinierade strukturer, regler och syntax. (GRUND)
  • Problemlösning och problemstrukturering. (PLPS)
  • Kontrollstrukturer, till exempel sekvens, selektion och iteration skrivna i ett implementerat programflöde. (KONTROLL)
  • Grunderna för klasser, objekt, egenskaper och metoder. (OP)
  • Variablers och konstanters synlighet och livslängd. (SYN)
  • Felsökning av källkod och undantagshantering. (FEL)

Innehåll:

Beroende på tidigare vald inriktning i grafiska ramverk så kunde en lämplig inlämning vara en av två följande:

6. Fält & samlingsklasser

Klassiska fält, både i en och två dimensioner samt några av de vanligare samlingsklasserna. Det kan vara bra att visa tillämpningar t.ex. MS Röj, Memory, Snake eller Luffarschack från t.ex. Programmering 1 - Inlämningar. Välj någon eller några övningar från 10 nyttiga övningar.

Tidsåtgång: ca 10%

Centralt innehåll:

  • Programmeringsspråkets eller språkens grundläggande datatyper samt fördefinierade strukturer, regler och syntax. (GRUND)
  • Problemlösning och problemstrukturering. (PLPS)
  • Implementeringar av datastrukturer, till exempel array, lista eller trädstruktur. (DATA)

Innehåll:

7. Metoder

Tidsåtgång: ca 5%

Centralt innehåll:

  • Problemlösning och problemstrukturering. (PLPS)
  • Grunderna för klasser, objekt, egenskaper och metoder. (OP)

Innehåll:

8. Felhantering

Tidsåtgång: ca 5%

Centralt innehåll:

  • Felsökning av källkod och undantagshantering. (FEL)

Innehåll:

9. Klasser och objekt

Eleverna har redan stött på delar av .NET, metoder och klasser. Dags att ta ett grundligt tag i hur det hänger ihop. Vi har även med en övning som kräver lite sortering och sök. Använd inbyggd sortering via extension methods eller skjut övningen framåt i planeringen.

Tidsåtgång: ca 5%

Centralt innehåll:

  • Grunderna för klasser, objekt, egenskaper och metoder. (OP)

Innehåll:

10. Algoritmer

Kravet på rekursiva algoritmer finns inte kvar så fokusera främst på sök- och sorteringsalgoritmer.

Tidsåtgång: ca 20%

Centralt innehåll:

  • Enkla algoritmer, till exempel för sökning eller sortering. (ALG)
  • Implementeringar av datastrukturer, till exempel array, lista eller trädstruktur. (DATA)
  • Felsökning av källkod och undantagshantering. (FEL)

Innehåll:

11. Avslutande inlämning/projekt

I slutet av kursen kan det vara passande att ha prov och/eller inlämningar. Välj bland förslagen och anpassa efter elevgruppens styrkor och svagheter.

Tidsåtgång: ca 10%

Centralt innehåll:

  • Sekventiell programmering i det eller de valda programmeringsspråken. Språkurvalet kan göras från såväl programspråk och skriptspråk som kompilerande och tolkande språk. Ett av de valda språken ska stödja objektorientering på ett påtagligt sätt.(SEKV)
  • Programmeringsspråkets eller språkens grundläggande datatyper samt fördefinierade strukturer, regler och syntax. (GRUND)
  • Problemlösning och problemstrukturering. (PLPS)
  • Kontrollstrukturer, till exempel sekvens, selektion och iteration skrivna i ett implementerat programflöde. (KONTROLL)
  • Grunderna för klasser, objekt, egenskaper och metoder. (OP)
  • Variablers och konstanters synlighet och livslängd. (SYN)
  • Enkla algoritmer, till exempel för sökning eller sortering. (ALG)
  • Implementeringar av datastrukturer, till exempel array, lista eller trädstruktur. (DATA)
  • Felsökning av källkod och undantagshantering. (FEL)

Innehåll:

Artiklar i serien

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *

Scroll to top