Programmeerimise alused (informaatikaõpetajate ümberõpe)
Kursuse maht: 4 EAP = 104 tundi (32 kontakttundi / 72 tundi iseseisvat tööd)
Õppejõud: Inga Petuhhov
Toimumisaeg: august-september 2021
Üldine sissejuhatus ja soovitused
- See kursus on programmeerimise ja algoritmimise algõpetus. Seetõttu ei tutvu me paljude
spetsiifiliste Python-keele võimalustega, vaid pigem keele tuumaga, millel
on kõige rohkem ühisjooni teiste programmeerimiskeeltega. Me ei
kasuta mitmeid programmeerija elu lihtsustavaid funktsioone, sest
üks oluline kursuse eesmärk on õppida
algoritmiliselt mõtlema ja mõista
tüüpiliste programmeerimiskeele käskude ja mõistete tähendust ja
toimimist.
- Väga oluline on
põhimõistete omandamine.
- Kui uurid näiteprogramme või mõne kursusekaaslase
töid, siis on sellest kasu ainult siis, kui enda jaoks programmi
iga lause ja ka lause osa tähenduse selgeks mõtled:
mida see lause täpselt teeb, miks ta programmis selle koha peal on?
- Enne esimese koodirea kirjutamist saa aru ülesande püstitusest. Seejärel mõtle läbi sammud, kuidas tulemuseni
jõuda, st koosta algoritm. Kõige parem, kui selle ka üles joonistad.
Ning alles siis kui lahenduse põhiidee selge, alusta programmi kirjutamist.
Väga oluline on ise lahendusideest aru saada, sest muidu ei ole
võimalik arvutit "õpetada" ülesannet lahendama.
- Ehkki pea pole prügikast, proovi siiski olulisemad keele laused
meelde jätta, sest kui iga lause õigekirja internetist ja materjalidest taga otsida, siis
muutub programmi kirjutamine väga vaevaliseks ja piinarikkaks.
- Ülesannete lahendamiseks ära mine esimese asjana internetti
valmis lahendusi otsima. Reeglina ei saa sa sel viisil targemaks. Katsu tulemus saavutada
oma peaga mõeldes. Ehk siis oluline ei ole niivõrd
lõpptulemus, kui selleni jõudmise
protsess. Ülesanded on valitud selliselt, et nad aitaksid
mõnda keele elementi või algoritmilist nõksu mõista. Kui siiski alustada valmislahenduse vaatamisest, siis peale selle katsetamist ja mõistmist kustuta kopeeritud lahendus ja kirjuta see oma peaga uuesti.
Praktikumide materjalid
Kuupäevad |
Teemad |
Materjalid ja lugemine |
23.08.21 (4 t)
|
Sissejuhatus ja üldine tutvustus.
Programmeerimine. Algoritm. Thonny
Muutuja. Aritmeetikaavaldis. Omistuslause. Sisend, väljund. Vead.
|
Tunni kirjeldus
Loe: Sissejuhatus
Pythonisse
Python'i sisend ja
väljund
Aritmeetika-, loogika- ja
stringavaldised
Muutujad ja omistamine
Sissejuhatus (algoritm, programm, andmetüübid, muutujad, sisend (Programmeerimine. Valikkursus gümnaasiumile UT)
Sissejuhatus (UT õpik)
Avaldised ja
lihtlaused (UT õpik)
Algoritmi
mõistest (UT õpik)
Soovitusi vigade otsimiseks
Otsi üles vead järgmistest programmikestest
|
24.08.21 (8 t)
|
Tingimuslause / valik (if-lause) ja kordusluase / tsükkel (while-lause).
Loogikatehted
Vooskeem (plokkskeem)
|
Tunni kirjeldus
Loe:
Tingimus- ehk valikulause
Kordus ehk tsükkel
Valiku- ehk tingimuslause, loogikatehted- ja avaldused, mitu seotud tingimuslauset (Programmeerimine. Valikkursus gümnaasiumile UT)
Tsükkel ehk kordus, juhuslik arv, loendamine(Programmeerimine. Valikkursus gümnaasiumile UT)
Tingimus (valiku)- ja korduslaused (UT õpik)
Infot print() lauses väljatrüki vormindamise kohta.
|
25.08.21 (8 t)
|
String (sõne)
|
Tunni kirjeldus
Isikukoodi kirjeldus
Loe:
Stringid, listid (järjendid) ja ennikud
Stringid ehk sõned (Programmeerimine. Valikkursus gümnaasiumile UT)
|
26.08.21 (6 t)
|
List (loend, massiiv, järjend).
|
Tunni kirjeldus
Palliviske tulemuste fail
Loe:
Tekstifailide kasutamine
Listid ehk järjendid / massiivid (Programmeerimine. Valikkursus gümnaasiumile UT)
Järjendid (listid, samas ka for-tsüklist) (UT õpik)
FOR-tsükkel (Programmeerimine. Valikkursus gümnaasiumile UT)
|
|
Koju - 15.09.21
|
Kodused ülesanded ja juhend
Valemid 2. ülesande (inimese ideaalkaal jne) jaoks
|
18.09.21 (6 t)
|
Tekstifailid (lugemine ja kirjutamine). Veel katsetusi stringidega. Sõnastik.
|
Tunni kirjeldus
Failide lugemine ja kirjutamine (Programmeerimine. Valikkursus gümnaasiumile UT)
Tekstifailid (UT õpik)
|
Programmide koodinäited
Algoritmide plokkskeemid.
Praktikumiülesannete lahendusi.
Täiendatud:
Algoritmimisest, programmeerimisest ja Python'ist - eestikeelset
materjali
Tartu Ülikooli arvutiteadeuste instituut. Programmeerimine: informaatika valikkursus gümnaasiumile
Tartu Ülikoolis väljatöötatud Programmeerimise õpik
Mõned lühemad materjalid:
Sissejuhatus
Pythonisse
Python-programmi minimeeritud stiilijuhis.
Python'i sisend ja
väljund
Aritmeetika-, loogika- ja
stringavaldised
Muutujad ja omistamine
Valikulaused
Vead ja erindid
Tsüklid
Stringid, listid ja ennikud
Funktsioonid
Tekstifailide kasutamine
Sõnastik
Ingliskeelne Pythoni õpik: Think Python. How to Think Like a Computer Scientist
(autor Allen B. Downey, näited Python 3-s) on aadressil http://greenteapress.com/thinkpython2/thinkpython2.pdf
Õpikuks on see raamat sobiv mitmel põhjusel:
- Raamat räägib olulistest algtõdedest,
mõistetest ja põhimõtetest.
- Ta teeb seda lihtsalt ja meeldivalt ning sisaldab arvukalt näiteid.
- Raamat on üsna lihtsas inglise keeles ja peaks sobima ka
inimesele, kes ei ole veel väga kogenud IT-alase teksti lugemisel.
Ülesanded veebis
harjutamiseks ja tagasiside saamiseks. Ainus häda on see, et ta
tugineb Python 2.x-le. Ja kood tuleb kirjutada funktsioonidena.
Tarkvara
Programmeerimiseks kasutame Python'it, mille viimane
püsiv versioon 2021 a. augusti lõpus on 3.9.6.
Kasutame töökeskkonda Thonny, mis on loodud
Tartu Ülikoolis õppimis-õpetamiseesmärgil ja omab võrreldes tavalise töökeskkonnaga huvitavaid lisavõimalusi.
Thonny saad allalaadida siit: https://thonny.org
Python'it saab kasutada vastavalt avatud
lähtekoodiga tarkvara litsentsile (ingl (open source license).
Python'i ametlik veebileht on
www.python.org
Allalaadimislehelt http://www.python.org/download/ leiad interpretaatori oma maitsele (ja arvutile) sobiva
platvormi/operatsioonisüsteemi jaoks. Esindatud on Windows, Linux/Unix,
MacOS jne. Samuti dokumentatsiooni jms.
Automaatselt tuleb kaasa ka töökeskkond IDLE.
NB! Kui Sul on arvutis mingi Python 3, siis ei ole vaja uut laadida, Thonny oleks siiski kasulik.
Vooskeemide ehk plokkskeemide (ingl flowchart) joonistamiseks kasutame programmi Flowgorithm.
Informatsioon
Õppetöö sellel koolitusel toimub Euroopa Liidu sotsiaalfondi meetme
„Õpetajate, haridusasutuste juhtide ja noorsootöötajate professionaalse arengu toetamine“ tegevuse „Õpetajate ja haridusasutuse juhtide koolitus“
Tallinna Ülikooli esitatud taotlusprojekti
"Informaatikaõpetaja ja põhikooli matemaatikaõpetaja lisaerialad" nr 2014-2020.1.02.20-1089 raames.