Datavetenskap och Robotik

Här hittar du materialet för kurserna i Datavetenskap (GLP 2021) vid Helsinge gymnasium.

Innehållsförteckningen för sidan är följande:

  1. Datavetenskap (GLP 2021)
  2. Programmering 1 (DaVe 1)
  3. Programmering 2 (DaVe 2)
  4. Programmering 3 (DaVe 3)
  5. Artificiell intelligens (DaVe 4)
  6. Datasäkerhet (DaVe 5)
  7. Robotik 1 (DaVe 6)
    1. Mindstorms
    2. Mindstorms och block
    3. Mindstorms och Python
    4. Arduino
    5. Python och CanSat
  8. Robotik 2 (DaVe 7)
  9. Webbdesign (DaVe 8)
  10. Speldesign (DaVe 9)
  11. Annat smått och gott

Datavetenskap (GLP 2021)

Python är ett programmeringsspråk som följer engelskspråkig syntax. Eftersom Python är relativt lätt att lära sig och mycket användbart så behandlar vi Pyhton i denna helhet. Efter att vi lärt oss att programmera så kan vi tex programmera Mindstorms ev3:orna med Python. Python kan man lära sig via webbsidor och programmera i deras webbapplikationer, eller så kan man skriva programmen på sin dator och köra den lokalt.

Python webben

Om man inte vill installera en miljö på datorn för att programmera Python, så kan man utnyttja färdiga på nätet. Replit.com fungerar bra. Fördelen är att med Vandas MPASS inloggning så behöver du bara klicka på registera dig och alltid sköts automatiskt.

Python på datorn

För att komma igång med Python så följ instuktionerna på Getting Started på python.org och för att få reda på hur du installerar Python på din dator.

Programmering 1

Helsingfors universitets linje för datavetenskap har en öppen kurs i programmering. Kursen hittar du på https://ohjelmointi-24.mooc.fi. Språket är Python. Märk att du inte behöver, skall följa tidtabellen för uni.

Har du tidigare jobbat med programmering under kursen så fortsätt där du blev. Gamla kurser hittar du på https://ohjelmointi-23.mooc.fi, https://ohjelmointi-22.mooc.fi och https://ohjelmointi-21.mooc.fi.

För att komma igång tar du och registrerar dig. Du avlägger kursen i egen takt. Men sikta på att klara av ett kapitel per vecka. Om du vill se på föreläsningar om ämnet så scrollar du ner till Luentotallenteet.

Målet är att komma igenom kapitlen 1-4.

När du kommer fram till del 4 så börjar du jobba på Visual Studio Code. Följ instruktionerna för att installera den. Eftersom vi programmerar i Pyhton så behöver du inte intstallera Java. Det räcker med Python och TestMyCode tillägget.

Men, fråga om du behöver hjälp.

Programmering 2

Samma som ovan. Förutom att du får jobba med kapitlen 5-9.

Programmering 3

Samma som ovan. Förutom att du får jobba med kapitlen 10-14.

Artificiell intelligens

På denna mycket allmänbildande kurs använder vi oss av https://www.elementsofai.com. Välj rätt språk, registrera dig och börja studera. Denna kurs pasar bra som "självstudier" om du är i behov av flera studieprestationer.

Kom ihåg att fråga om det är något som du funderar över, tex något ord eller hur du räknar sannolikheter.

När du är färdig med kursen så visa ditt intyg så att vi kan registera en kurs åt dig.

Datasäkerhet

För vår kurs i datasäkerhet använder vi materialet på https://cybersecuritybase.mooc.fi. Märk att du måste ha klarat av Programmering 1 för att kunna jobba med materialet. Om du har avlagt programmering 1 så är det bara att skapa en inloggning och börja lära dig.

Intresserar mera kurser i datasäkerhet så avlägg kurserna på www.mooc.fi/#cyber-security i ordning.

Robotik 1

Antingen jobbar du med Legos Mindstorms eller så Mehacikits Arduino. Fundera och diskutera med Kristoffer.

Mindstorms

Lego Mindstorms är en robotikbyggsats som är utvecklad av Lego. Legon är bekanta för många och det sänker tröskeln för att testa med robotik. Dessutom är sensorerna av hög kvalitet, vilket är bra då man vill bygga robotar. Lego Mindstorms kan man programmera antingen med hjäp av block eller genom att skriva Python.

Motorer kopplas till portarna A - D och sensorer till portarna 1 - 4.

Mindstorms och block

Om du inte har jobbat med robotik tidigare är Legos Mindstorms en bra inkörsport.

Börja med att göra följande.

  1. Börja med att ladda ner Mindstorms programmet till din dator och installera det.
  2. Bygg sedan ihop grundroboten, den som kan köra.
  3. Bekanta dig med programmet.
  4. Använd dig av grundroboten och få den att köra i en kvadrat.
    1. Motorer kan du styra med tre olika block.

    2. Hur skiljer sig blocken från varandra? Vad har de för fördel mot de andra och vad kan de ha för nackdel?
    3. I bilden finns markerat 1. och 2. Hur ändras motorns beteende då man ändrar på variablerna som finns under menyerna?
    4. Hur får du roboten att köra framåt och sedan svänga? Hur får du den att köra i en kvadrat utan loop och med loop-blocket? Hur får du roboten att köra oändligt många gånger i en kvadrat?
  5. Sedan tar vi och lägger till anvsåndssensorn och gyron. Ändra på programkoden så att roboten kör omkring av sig själv och undviker hinder som är närmare än 30 cm.
    1. Hur utnyttjar du gyro-sensorn för att få roboten att undvika hinder?
  6. Till nästa tar vi och bekantar oss med tryck-sensorn. Ändra roboten så att den kör omkring i 30 sekunder, undviker hinder, då man har tryckt en gång på trycksensorn.
  7. Som det sista tar vi och bekantar oss med ljus-sensorn. Ändra roboten så att den kör omkring på en bana eller så att den kör omkring på ett bord, utan att falla ner.
    1. När du använder dig av ljus-sensorn, kan du mäta värdena som den mäter. Du gör det genom att på roboten klicka dig fram i menyn där du får fram sensorernas rådata. Motsvarande data får du fram i datorns programmeringsmiljö.
    2. Hur utnyttjar du informationen som står ovan och if-satsen för att få roboten att göra det vad du vill?

Mindstorms och Python

Legos egna programmeringsmiljö blir snabbt krånglig av sig om man vill göra mera avancerade program av sig. Vill vi jobba med variabler så får vi lov att börja programmera med Pyhton.

  1. Surfra till https://education.lego.com/en-us/support/mindstorms-ev3/python-for-ev3. På MicroSD korten finns färdigt EV 3 MicroPyhton Image.
  2. Bygg sedan ihop grundroboten, den som kan köra.
  3. Du behöver ladda ner och installera Visual Studio Code editorn och Lego Education EV 3 tilläggsbiblioteket.
  4. Tag och se igenom Legos egna instruktionsvideo.
  5. I videon slutet på Visual Studio Code (Steps 4-5) finns Expanding the example program. Kom igåg att göra detta!
  6. På sidan finns Download the EV3 MicroPython Getting Started Guide. Öppna den och använd den som hjälp. För att komma igång.
  7. Vid Go to the Online Documentation and Sample Programs hittar du samma dokumentation och modellprogram. Använd dig av detta som hjälp, inte så att du direkt kopierar. (:
  8. Gör en robot som klarar av följande:
    1. En robot som kör runt i en kvadrat.
    2. En robot som kör omkring och undviker hinder. Hur kan du utnyttja dig av gyro-sensorn?
    3. En robot som med hjälp av ljussensorn klarar av att följa en bana.

Arduino

Arduino är en mikrokontroller. Det betyder att Arduinon är en liten dator som man kan koppla olika komponenter till. Sedan kör Arduinon det program som finns installerat på den.

I skolan har vi Mehackits Maker Kit. Den fungerar som en bra grund då man vill gå mera in på djupet. Materialet hittar du här.

Här gäller det att bekanta sig med teorin, programmera, lösa problem och sedan få det att fungera. (:

Arduino och CanSat

Här utnyttjar vi Arduiono för att bygga en satellit, inte större än en konservburk, för att utföra olika mätningar i atmosfären. Det kan handla om temperatur, tryck, acceleration eller vad man vill har reda på.

För idéer så se ESA:s sida om CanSat.

Om det intresserar dig så tala med Kristoffer.

Robotik 2

Som Robotik 1. Men eftersom kursen är en fortsättning, så skall innehållet vara lite mera krävande av sig.

Diskutera med Kristoffer vad du vill jobba med. Kom ihåg att det inte får vara för lätt och att du skall lära dig något.

Webbdesign

Under kurserna i Webbdesign lär du dig skapa sidor med HTML och CSS. Materialet hittar du här.

Innehålls förteckningen är följande

  1. Komma igång med HTML
  2. Stajla med CSS
  3. Responsiva sidor
  4. Visa vad du kan

Speldesign

Målet är att lära sig Unity. Surfa till Unitys hemsida och registrera dig som en High school student. (OBS! Meddela om det inte går!)

Kristoffer har licenser som han kan dela ut.

Annat smått och gott

Python via Codecademy

Surfa till Codecademy och registrera dig. Leta reda på Learn Python 2 och Learn Python 3 (denna är ibland gratis). 2 och 3 hänvisar till versionen av Python. Klara av dessa helheter.

Om du vill och ha tid så får du gärna lära dig mera. HTML & CSS handlar om hur man bygger upp webbsidor, JavaScript är ett programmeringsspråk som används i webbapplikationer, PHP används för att bygga upp webbapplikationer och så finns det många andra språk.

Här på vår kurs utnyttjar vi gratismaterialet på Codecademy. Vill du lära dig mera så är det bara att betala för mera innehåll.