Skolverket Workshop i kursen TIATIL00S Tillämpad Programmering Kjell Hayling PhD Marin Geofysik, RSMAS, Univ. of Miami undervisar Webbutveckling, Programmering, Matematik 4-5 Håkan Andersson MSc Chalmers Tekniska Högskola, Datateknik undervisar Webbutveckling, Programmering, Datorteknik, Matematik 1-5 Vi kommer att ge en beskrivning av hur vi har arbetat med fokus på att arbeta i projektform med programmeringstillämpningar Vi kommer också att tillsammans programmera i C# programmera webbsida med HTML, CSS, JavaScript programmera ett webb-spel
Skolverket Workshop i kursen TIATIL00S Tillämpad Programmering Tillämpad Programmering har givits för första gången på LBS i Göteborg, Systemutveckling under läsåret 2018-2020. Kursen ges även detta läsår i årskurs 1 Systemutveckling Kjell Hayling PhD Marin Geofysik, RSMAS, Univ. of Miami undervisar Webbutveckling, Datorteknik, Matematik 4 Håkan Andersson Civilingenjör Chalmers IT/Datorteknik undervisar Webbutveckling, Datorteknik, Matematik 4 http://www.elevarbetensys.se/index.php Vi kommer att ge en beskrivning av hur vi har arbetat med fokus på att Eleven identifierar och formulerar efter samråd med handledare ett enkelt - avancerat problem inom valt kunskapsområde. Vi kommer att tillsammans programmera i C# programmera webbsida med HTML, CSS, JavaScript programmera ett webb-spel
En preliminär kursplan i Tillämpad Programmering Mest använda mjukvaror VisualStudio C# Notepad++ HTML, CSS, JavaScript, PHP, SQL editor på webhotellet Photoshop
Exempel på tillämpningar Enhetsomvandlare Kassaregister för kiosk Webbshop Webbforum Webbaserat Bokningssystem Stort fokus har lagts på elevernas utveckling är förmågan att arbeta i projektform.
Kursen har lagts upp så att kunskap om och viss färdighet i den grundläggande programmerings struktur och logik har eleverna fått genom att programmera C# i VisualStudio. De moment som omfattats (med konsolprogrammering) är, variabeltyper operatorer pseudokod och aktivitetsdiagram loopar if-satser metoder klasser (till viss del) filhantering De program som vi skapat tillsammans, och eleverna enskilt, berör bl.a. sortering generering av lösenord genom slumptal enhetskonvertering och beräkningar (t.ex. area och volymer) banklån med skuld, ränta och avbetalning närmevärdesberäkning (iterativa processer) finita-element beräkningar Eleverna har arbetat med enskilda projekt där webbapplikationer är den mest populära. Samtliga elever har ett konto på ett webbhotell och en databas samt har introducerats till HTML, CSS, JavaScript och till mycket begränsad del PHP och SQL). Eleverna skapar tillämpningar såsom Webbforum Webbshop Information Bokningssystem Under dessa programmeringstillämpningar får eleverna mycket hjälp (speciellt med databas-uppkoppling och hantering) men eleverna tar fram en projektplan och dokumenterar arbetet.
SY18-Programmering01-2019-09-16 Sammanfattad historia om programmeringsspråk FORTRAN 1954 1:A HÖGNIVÅSPRÅKET COBOL 1959 ekonomi ALGOL 1960 påverkat senare språk SIMULA 1967 möjligt att skriva objektorienterade program PASCAL 1971 undervisningsspråk, TURBOPascal C ca 1973 "högnivåspråk på låg nivå Smalltalk 1980 objektorienterande, interpreteras Ada 1983 amerikanska försvaret, ISO-standard C++ 1985 utökning av C, Bjarne Stroustrup (AT&T) PYTHON 1991 Skapat av Guido van Rossum. Bland annat objektorienterad och funktionell programmering JAVA 1995 Sun Microsystem, plattformsoberoende, interpreteras, C++ förebild C# lanserades år 2000 så det är ett relativt nytt språk. C# har tagit en hel del från C++ och Java. C# är objektorienterat men mycket vi kommer att göra i början liknar vanlig sekvensiell programmering JULIA 2012 high-level general-purpose dynamic programming language, originally designed to address the needs of high-performance numerical analysis and computational science.
Programmering i C# (VisualStudio) C# har valts av flera anledningar 1. efterfrågas på arbetsmarknaden (https://codinginfinite.com/best-programming-languages-to-learn-2019/) 2. utmärkt programmeringsspråk att lära sig grundläggande programmering med dess krav på definition av variabler och strukturellt korrekt kod 3. C# används i spelprogrammering (Unity spelmotor) vilket ger eleverna möjlighet att byta inriktning
Programmering i C# (VisualStudio) Eleverna startar VisualStudio och 1. börjar programmera genom att följa mina instruktioner 2. klistrar in den kod som jag laddat upp som.txt filer 3. utgår från någon av de tutorials vi skapar 1. Viktigt/nödvändigt för att eleverna själva skall kunna påbörja ett programprojekt 2. Ger möjlighet för eleverna att skapa fler program jämfört med att skapa dem helt själva 3. Ett exempel på tutorial som ett.pdf-dokument Vi skall nu se på tillsammans Viktigt i elevernas utveckling är förmågan att arbeta i projektform.
Programmering i C# (VisualStudio) 1. Viktigt/nödvändigt för att eleverna själva skall kunna påbörja ett programprojekt 2. Ger möjlighet för eleverna att skapa fler program jämfört med att skapa dem helt själva 3. Ett exempel på tutorial som ett.pdf-dokument C:\Users\kjell.hayling\2019-2020\Skolverket_Workshop_2019-09-18\C#_1- Starta_Visual_Studio.pdf
Operatorer Operatorer Operator Betyder Exempel * gånger (multiplikation) 7 * 5 = 35 / delat med (division) 7 / 5 = 1 % (modulo) heltals rest 7 % 5 = 2 + plus (addition) 7 + 5 = 12 - minus (subtraktion) 7 5 = 2 Jämförelseoperatorer Operator Betyder Exempel < Mindre än if (a<20) > Större än if (b>100) == Lika med if (produkt==500)!= Skiljt från (inte lika med) if (x!=28) <= Mindre än eller lika med if (a<=2000) >= Större än eller lika med if (b>=12) Logiska operatorer Operator Betyder Exempel && och if ((a>20) && (a<30)) eller if ((a==0) (b<0))! inte if (!(a>0))
Variabler Variabeltyper short: heltal (positiva och negativa) 2 byte -32 768 till 32 767 int: heltal (positiva och negativa) 4 byte + 2 * 10 9 long: heltal (positiva och negativa) 8 byte + 9 * 10 18 float: flyttal, reellt tal (decimaltal) 4 byte + 3,4 * 10 38 (med 7 gällande siffror) double: flyttal, reellt tal(decimaltal) 8 byte + 1,7 * 10 308 (med 15 gällande siffror) char: ett tecken 2 byte string: textsträngar (ett antal tecken) 2 byte/tecken bool: sant eller falskt 1 byte Det går att använda alla svenska bokstäver, siffror, dollartecken och understreck. Observera att det är skillnad mellan stora och små bokstäver. MEN DET GÅR INTE att börja variabelnamnet med en siffra.
Skapa ett program i C# Nu skapar vi tillsammans ett program i C# som har sitt ursprung i Riskornen på schackbrädet, som visar den snabba ökningen vid exponentiell tillväxt. dubbla antalet riskorn för varje ruta på ett schackbräde). I vårt programmeringsuppgift skall vi beräkna hur många dagar det tar att bli miljonär om vi utgår från 1. 1 öre den första dagen 2. 2 öre den andra dagen 3. 4 öre den tredje dagen 4. 8 öre den fjärde dagen, osv. Uppgiften omfattar loopar och frågesats.
Exempel på ett mer avancerat program i C# Detta program är en tillämpning vid beräkning av värme/vatten/luftflöden med finita element, där variationer med den fjärde dimensionen gör det svårt eller omöjligt att utföra beräkningar analytiskt. Som exempel skapar vi tillsammans ett program som känns igen från integralens definition.
Exempel på ett mer avancerat program i C# Detta program är en tillämpning vid beräkning av värme/vatten/luftflöden med finita element, där variationer med den fjärde dimensionen gör det svårt eller omöjligt att utföra beräkningar analytiskt. Som exempel skapar vi tillsammans ett program som känns igen från integralens definition. Programsektion med loop och frågesats
Exempel på ett mer avancerat program i C# Detta program är en tillämpning vid beräkning av värme/vatten/luftflöden med finita element, där variationer med den fjärde dimensionen gör det svårt eller omöjligt att utföra beräkningar analytiskt. Som exempel skapar vi tillsammans ett program som känns igen från integralens definition.
Exempel på program i C# Detta program är skapat av en elev efter sommarjobb i en säsongsöppen kiosk där kassaregistret utgjordes av en miniräknare ett anteckningsblock. Kvitto skrevs ut för hand (om kunden ville ha ett) Bokföringen sammanställdes i ett Excelark i slutet av dagen (eller varannan dag).
Exempel på Webbsidor http://elevarbetensys.se/index http://elevarbetensys.se/sy18/lh18/4h-2019/startsida.html http://www.elevarbetensys.se/sy17/hf17/index.html http://elevarbetensys.se/sy18/bf18/index.html http://elevarbetensys.se/sy18/jd18/dannyrestaurang/ http://elevarbetensys.se/sy18/%c3%96a18/home.php https://www.elevarbetensys.se/sy16/ajo16/ Publicerar och testar lokalt på elevernas datorer Publicerar på vår hemsida
Innan jag lämnar ordet till Håkan och för frågor Vill jag dela med mig funderingar om hur kan undervisningen i programmering utvecklas, speciellt i kursen Tillämpad Programmering som kan ges baserat på olika kunskapsnivåer hos eleverna (årskurs 1, 2, 3 eller efter genomgångna kurser inom programmering i olika programspråk och tillämpningsområden. - Geografiska Informationssystem (GIS), där elever i 3:e årskursen fått en introduktion som överkurs, med tillämpning inom landsbygds- och stadsplanering, planering/optimering av rutter för återvinning, skolskjuts etc. -.. -..
Tack Frågor?