Skolverket Workshop i kursen TIATIL00S Tillämpad Programmering

Relevanta dokument
OBS! All teori i detta och följande dokument kompletteras med genomgångar på lektionerna. Så det är viktigt att närvara och göra egna anteckningar.

Extramaterial till Matematik Y

Extramaterial till Matematik Y

Extramaterial till Matematik Y

Imperativ programmering

Programmering för språkteknologer I, VT2012. Rum

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Logik och kontrollstrukturer

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Teknikprogrammet, inriktning informations- och medieteknik

IT OCH PROGRAMMERING I SKOLAN. Jan Erik Moström Peter Vinnervik

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare

DOM (Document Object Model) är modellen efter vilken en webbläsaren är uppbyggd. Alla objekt/element i webbläsaren finns hierarkiskt ordnade i DOM.

Programmering A. Johan Eliasson

Användarhandledning Version 1.2

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Introduktion till programmering och Python Grundkurs i programmering med Python

6. Ge korta beskrivningar av följande begrepp a) texteditor b) kompilator c) länkare d) interpretator e) korskompilator f) formatterare ( pretty-print

Program & programmering

i LabVIEW. Några programmeringstekniska grundbegrepp

Föreläsning 2. Operativsystem och programmering

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare

Övning2. Variabler. Data typer

Innehålls förteckning

Objektorienterad programmering Föreläsning 4

SMD 134 Objektorienterad programmering

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

TDDE44 Programmering, grundkurs

SKOLFS. beslutade den -- maj 2015.

Digitalt lärande och programmering i klassrummet

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

Objektorienterad Programmering (TDDC77)

Introduk+on +ll programmering i JavaScript

Objektorienterad programmering i Java

DD1314 Programmeringsteknik

Klassdeklaration. Metoddeklaration. Parameteröverföring

JavaScript del 3 If, Operatorer och Confirm

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Undervisningen i ämnet webbutveckling ska ge eleverna förutsättningar att utveckla följande:

Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket?

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text.

Digitalt lärande och programmering i klassrummet

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

TDIU01 - Programmering i C++, grundkurs

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

TDIU01 - Programmering i C++, grundkurs

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

TDDC77 Objektorienterad Programmering

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1

Introduktion till Datalogi DD1339. Föreläsning 1 8 sept 2014

Programmering B med Visual C

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

IT för personligt arbete F6

TDP002 Imperativ programmering

Parameteröverföring. Exempel. Exempel. Metodkropp

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Introduktion till användning av linux-servern sledge och några övningsuppgifter

Programmering, grundkurs

Introduktion till programmering. Programspråk och paradigmer

Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp

Programmering för webben

Objektorienterad programmering

Kursplanering för EE3D i kursen Programmering 1, 100p.

Avancerade Webbteknologier

Webbserverprogrammering

Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf

Beräkningsvetenskap och Matlab. Vad är MATLAB? Vad är MATLAB? Användningsområden. Vad är MATLAB? Grunderna i Matlab. Beräkningsvetenskap == Matlab?

OOP Objekt-orienterad programmering

Programmering i gymnasieskola och vuxenutbildning

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

Visual Basic, en snabbgenomgång

TDP002 - Imperativ programmering

Uttryck och villkor. Föreläsning 2

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Genicore AB. Modellbaserad ansats. En liten firma i Göteborg som gör stora datasystem. Systemspråk - När modellen är systemet. torsdag 10 maj 2012

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret L0 - Grunder i C++

Programmering B PHP. Specialiseringen mot PHP medför att kursens kod i betygshanteringen heter PPHP1408.

Introduktion till programmering. Undervisning. Litteratur och examination. Lärare. Föreläsning 1

SKOLFS. beslutade den XXX 2017.

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

TDP002 - Imperativ programmering

Karlstads Universitet, Datavetenskap 1

Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY

ENKEL Programmering 3

Webbservrar, severskript & webbproduktion

Inledande programmering med C# (1DV402) Introduktion till C#

Introduktion till PHP

WEBBSERVERPROGRAMMERING

Programvaruteknik, hp

Innehållsförteckning

Transkript:

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?