Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ohjelmoinnin ABC

lindaliukas
April 16, 2015
71

Ohjelmoinnin ABC

lindaliukas

April 16, 2015
Tweet

Transcript

  1. 5

  2. 1-2 luokilla ohjelmointia opetetaan leikin avulla 3-6 luokilla tutustutaan visuaalisiin

    ohjelmointiympäristlihin ja opitaan käskemään tietokonetta ilman pelkoa vriheiden tekemisestä. 7-9 luokilla perehdytään johonkin oikeaan ohjelmointikieleen.
  3. Kuka vain voi selostaa taustalla olevaa teoriaa ja sitä, mistä

    noin periaatteessa on kyse laveerauksessa, yhtälön ratkaisemisessa, keskustelemisessa britin kanssa, lankun höyläämisessä tai keskityksen antamisessa. Silti todellinen osaaminen tulee vain oman yrityksen ja erehdyksen kautta.
  4. Kuinka moni ohjelmoinut aikaisemmin? Kuinka monta alakoulun opettajaa? Entä yläkoulun

    opettajia? Kuinka moni identifioi itsensä luonnontieteellis/ matemaattiseksi? Kuinka moni humanistis/ yhteiskuntatieteelliseksi?
  5. Osa 1: Mitä ovat tietokoneet? (10 min.) Osa 2: Mitä

    on ohjelmointi? (10 min.) Osa 3: Miksi tämä on tärkeää? (10 min.) Osa 4: Ala-asteen 1-2. tunti (20 min.) Osa 5: Ala-asteen 3-6. tunti (20 min.) Osa 6: Yläasteen tunti (15 min.) Osa 7: Millainen on hyvä ohjelmoija (/opettaja?) (5 min.) 1-2 3-6 7-9
  6. Datan prosessointi ja suorittamine n Muisti (Kaksi tehtävää!) Data Muokattu

    data Charles Babbage, Alan Turing, John von Neumann 1-2 3-6 7-9
  7. 1-2 3-6 7-9 • Tietokone vastaanottaa tietoa syöttölaitteen avulla (esim.

    näppäimistö, sensori, kosketusnäyttö.) • Tieto tallennetaan käsittelyä varten. • Käsitellään tieto ohjelman mukaisesti ja tallennetaan se. • Näytetään uusi tieto tulostuslaitteen kautta (esim. näyttö) 1-2 3-6 7-9 1945 John von Neumann suunnitteli tietokonearkkitehtuurin, jonka pohjalta tämän päivän tietokoneet rakennettiin. Kaikki perustuu samoihin prosesseihin:
  8. Control Unit Immediate access store Input Output Arithmetic Logic Unit

    CPU Program, Data and modified data 1-2 3-6 7-9 Siirräntä I/O eli tutummin
  9. 42 1100101010010000111 Ohjelmoija ei kuitenkaan kirjoita ykkösiä ja nollia. Hän

    naputtelee hitusen normaaliin puhekieleen verrattavissa olevia komentoja, jotka kone ymmärtää, koska ne on merkitty tarkalleen yhteisesti sovitulla tavalla. 1-2 3-6 7-9
  10. 41 Millaista ohjelmointi on nykyään? Jättiläisten harteilla. Kielet ovat kehittyneet

    kuin talonrakennustarvikkeet: jos joskus on pitänyt aloittaa valamalla omat tiilensä, nyt taloja rakennetaan valmiista elementeistä.
  11. 47 1-2 3-6 7-9 Ohjelmoinnillinen ajattelu? Alan Turing & The

    Child Machine 1950s Twenty things to do with a Computer (Seumour Papert & Cynthia Solomon) 1970s Personal computer for children of all ages (Alan Kay) 1970s
  12. 1. Ongelman purkaminen osiin. 2. Kaavojen tunnistaminen 3. Algoritmien luominen

    4. Ratkaisujen yleistäminen ja automatisointi. Ohjelmoinnillinen ajattelu 1-2 3-6 7-9
  13. Kaavojen tunnistaminen Itkevä vauva saa tutin. Märkä puu syttyy huonommin.

    Kone ratkaisee ongelman kaavalla: se toimii aina tarkalleen ja täydellisesti samalla tavalla suorituskerrasta toiseen. Siksi kerran oivallettua kaavaa voidaan soveltaa koneella yhä uudestaan oikein. 1-2 3-6 7-9
  14. Ratkaisun yleistäminen ja automatisointi Ohjelmoinnissa ongelmille haetaan hyvin usein yleistettyjä

    ratkaisuja. Kun ohjelman halutaan piirtävän näytölle suorakaiteen, on järkevää kirjoittaa siten, että se osaa piirtää minkä tahansa kokoisen suorakaiteen riippuen siitä, mitkä mitat käyttäjä ohjelmaan syöttää. Matematiikan toisen asteen yhtälön ratkaisukaava. 1-2 3-6 7-9
  15. Yhä suuremman osan maailmasta rakentavat he, jotka osaavat luoda taidetta,

    tiedettä tai vaikkapa älypuhelinsovellluksia tietokoneen avulla. Siksi lapsilla ja nuorilla on oikeus oppia tietokoneista. 1-2 3-6 7-9
  16. Yhä suuremman osan maailmasta rakentavat he, jotka osaavat luoda taidetta,

    tiedettä tai vaikkapa älypuhelinsovellluksia tietokoneen avulla. Siksi lapsilla ja nuorilla on oikeus oppia tietokoneista. Kaikki yritykset ovat softayrityksiä. Softan skaalaetu. 2020 80% aikuisista on älypuhelin 1-2 3-6 7-9
  17. ..eikä yhden ihmisen tuottavuudella ei ole rajoja. Whatsapp 19 miljardia,

    30 insinööriä Minecraft 2,5 miljardia, 40 työntekijää Supercell 1,5 miljardia (50%), 90 työntekijää (Nokia, 7,5 miljardia, ?? työntekijää) 1-2 3-6 7-9
  18. Peruskoulussa opetetaan biologiaa, vaikka kaikista ei haluta biologeja. Samalla tavalla

    kaikista oppilaista ei pidä tulla koodareita - mutta kaikilla pitää olla mahdollisuus innostua siitä, mitä ohjelmoimalla voi rakentaa. 2000-luvulla ohjelmointikielen perusteiden ymmärtäminen on englannin osaamisen tapaista yleissivistystä. 1-2 3-6 7-9
  19. Miten ohjelmointi voi muuttaa sinun oppiainettasi (tiede/taide/työelämä)? (Biologia, maantieto, kuvis,

    käsityö, äidinkieli..) Minkälaisia uusia ammatteja syntyy? Miten ohjelmointia voisi tuoda osaksi nykyistä opiskelua? 1-2 3-6 7-9
  20. 1. Ongelman purkaminen osiin. 2. Kaavojen tunnistaminen 3. Algoritmien luominen

    4. Ratkaisujen yleistäminen ja automatisointi. Ohjelmoinnillinen ajattelu 3-6 7-9 1-2
  21. Kun tietokone lopulta osaa tehdä yhden leivän, se tekee sen

    täydellisesti. Joka kerta. Toisin kuin kuusivuotias tai edes aikuinen, yhden voileivän tehtyään tietokone voi tehdä tuhansia ja taas tuhansia leipiä. Se ei koskaan kyllästy. Tietokone on kärsivällinen ja tarkka, varma ja nopea. Siksi se on loistava työkumppani tekemään asioita ihmisen ohjeiden perusteella. 3-6 7-9 1-2
  22. Valmiin toiminnallisuuden sisältävä kieli, esimerkiksi JavaScript tai Ruby Tee voileipä.

    Keskitason ohjeita vaativa kieli, esimerkiksi C Kävele kaapille. Ota kaapista leipäpussi. Aseta leivät pussista pöydälle. Voitele leipä. Hyvin yksityiskohtaiset ohjeet vaativa kieli, esimerkiksi konekieli Assembly Ota askelia kohtisuoraan, kunnes saavut keittiön kaapille. Kun saavut kädenmitan päähän kaapista, pysähdy. Nosta vasen kätesi. Avaa kaapiston vasen ovi tasan 90 asteen kulmaan kaapin alareunaan nähden. Käyttäen oikeaa kättäsi tartu ylimmällä hyllyllä olevaan leipäpussiin. Siirrä pussi pöydälle. Jos pussissa on suljin, poista se. Tartu pussissa olevaan ensimmäiseen leipään. Ota leipä pussista ulos. Laske leipä pöydälle. ... 3-6 7-9 1-2
  23. 107 Tavoite? Key Stage 2 • design, write and debug

    programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts • design programs that accomplish specific goals • write programs that accomplish specific goals • debug programs to ensure they accomplish specific goals • control physical systems • simulate physical systems • solve problems by decomposing them into smaller parts • use sequence, selection, and repetition in programs; work with variables and various forms of input and output • use sequence in programs • use selection in programs • use repetition in programs • work with variables • work with various forms of input • work with various forms of output • use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs • use logical reasoning to explain how some simple algorithms work • use logical reasoning to detect and correct errors in algorithms • use logical reasoning to detect and correct errors in programs • understand computer networks including the internet; how they can provide multiple services, such as the world wide web • understand computer networks including the internet • multiple services provided by networks and the internet, such as the world wide web • appreciate how results are selected and ranked • appreciate how results are selected • appreciate how results are ranked 1-2 3-6 7-9
  24. Millainen on hyvä ohjelmoija? Halu ja kyky oppia uutta. Ohjelmointi

    on toisaalta käsityötä, toisaalta taidetta ja toisaalta ongelmanratkaisua. Harvoin valmis. Kunnianhimo. Koodi kirjoitetaan muokattavaksi. Tarkkuus.Tarkkuus kehittyy kuitenkin tekemisen kautta. Luovuus. Ohjelmoinnissa samaan lopputulokseen voi yleensä päätyä kymmenillä eri tavoilla, ja näistä tavoista useakin erilainen voi olla vieläpä täysin järkevä. Yhteistyökyky. Ohjelmoija tekee töitä tiimissä. 1-2 3-6 7-9
  25. Internet on inhimillisyyttä. Computer (km-pytr) n. person who makes calculations

    or computations; a calculator, a reckoner; spec. a person employed to make calculations in an observatory, in surveying. Technology (from Greek τέχνη) Techne, "art, skill, cunning of hand"; and -λογία, -logia[1]. Techniques, skills and competencies alongside the tools needed to do the job. Agriculture is a technology; democracy is a technology.
  26. 1. Roolit ja status 2. Yhteinen tieto - sisältö muuttuu

    vuorovaikutuksessa 3. Osallistumisen muodot 4. Palaute ja yleisö 1-2 3-6 7-9
  27. “We do only one thing, but we do it really

    well. The sum of the parts is bigger that way.” 1-2 3-6 7-9
  28. Curriculum of Code Decomposition Patterns Abstraction Algorithms Repetition Sequence Selection

    Variables Data Debugging Collaboration Functions 1-2 3-6 7-9
  29. Curriculum of Code Decomposition Patterns Abstraction Algorithms Repetition Sequence Selection

    Variables Data Debugging Collaboration Functions 1-2 3-6 7-9