Programmeerimise alused
Üldinfo
editKursuse toimumise aeg:
Kursuse koostaja ja läbiviija: Inga Petuhhov, TLÜ informaatika instituudi õpetaja
Õppeained: e-kursuse sisule vastavad TLÜ-s õpetatav "Programmeerimise alused", ainekood IFI6074, maht 4 EAP ning TLÜ Haapsalu Kolležis õpetatav "Programmeerimise alused", ainekood HKI5025, maht 5 EAP (sisaldab rohkem ülesannete lahendamist)
Kursus toimub päevaõppele statsionaarses vormis, kuid materjalid avaldatakse siin ja edaspidi peaks saama kursust läbida ka e-õppe vormis (nt Haapsalu Kolledži üliõpilased, aga ka teised uvilised ja informaatikute 1. kursus). Sel juhul toimuvad kontakttunnid semestri alguses, keskel ja lõpus ning lisaks saab suhelda õppejõuga e-vahendite abil. Kontakttundide arvelt toimub kontrolltöö, kaitstakse kodutööd ning sooritatakse eksamitöö
Käesolev e-kursus on valminud ESF programmi BeST raames.
Toetajad:
Euroopa Liidu Sotsiaalfond
Eesti Tuleviku Heaks
(Märkus: Kursuse toetajate logosid ei ole lisatud, sest Wikipedias ja sellest tulenevalt ka vikiülikoolis on igasugune reklaam, sh toetajate logod, keelatud. Vaata täpsemalt wikipeedia reeglitest.
Kursuse info
editKursuse kõige üldisemaks eesmärgiks on eelduste loomine programmeerimise A ja B mõistmiseks, vastava sõnavara ning tüüpiliste keelelausete ning esmase algoritmimisoskuse omandamiseks.
Sihtgrupp
editKursus on mõeldud ennekõike toetama TLÜ ja Haapsalu Kolledži informaatika üliõpilaste vastava aine omandamist. Kuid kursus võiks sobida ka teistele, kellel on huvi programmeerimisega tutvust teha. Programmeerimisalaseid eelteadmisi kursuslastelt ei eeldata, kuid elementaarse arvuti kasutamisega tuleks siiski toime tulla.
Õpiväljundid
editKursuse edukalt läbinud üliõpilane
- Tunneb protseduurse programmeerimisega seonduvaid põhimõtteid, mõisteid ja keelt ning programmeerimise olemust.
- Analüüsib lihtsamaid probleeme ning koostab nende lahendamiseks algoritme, kasutades sealjuures tüüpalgoritme.
- Esitab algoritme tegevusskeemi abil ning „tõlgib“ algoritmi programmeerimiskeelde, jälgides kodeerimise reegleid ja häid tavasid.
- Oskab programmikoodi töötlemiseks kasutada sobivat keskkonda, programmikoodi siluda ja testida.
Töövahendid
editProgrammeerimiskeskkonnaks on Python'i interpretaator ja töökeskkond IDLE, mille leiad allalaadimiseks veebist aadressil http://www.python.org/download/
Algoritme saab üleskirjutada tegevusskeemi abil. Selleks kasutame programmi ArgoUML, mille veebiaadress on http://argouml.tigris.org/
Suhtlusvahendid küsimuste esitamiseks, probleemide lahendamiseks ja arutlemiseks on Skype ja e-mail.
Soovitused ellujäämiseks
edit- See kursus ei ole Python-keele õpetus. See on programmeerimise algõpetus. Seetõttu ei tutvu me paljude spetsiifiliste keele võimalustega, vaid pigem keele tuumaga, millel kõige rohkem ühisjooni teiste keeletega, et need teadmised järgmistesse programmeerimisekursustesse kaasa võtta. Väga oluline on põhimõistete omandamine, sest nende abil pead ka edaspidi suhtlema. Samal põhjusel võin seada ka piiranguid keele võimaluste kasutamise osas.
- Lahenda igal nädalal ülesanded, mis sellesse nädalasse kuuluvad. Kui jääd hätta, küsi abi. Ka minult. Lisaks e-suhtlusele võib ka otse vastuvõtuaja kokkuleppida. E-kohtumistel (mis on avatud mitmele) kehtib reegel, et arutusele tulevad just selle nädala ülesanded ja probleemid. Seda selleks, et vältida aedadest ja aiaaukudest rääkimist.
- Kui ei jõua kohe lahendada, siis tee puudujääkk tasa nii ruttu kui võimalik. Kindasti tasub nõu ka eelmiste teemade osas küsida, aga selleks ei sobi reeglina üldised Skype'i ajad.
- Arvesta sellega, et programmeerimist õppides kasvab üks teadmine teise otsa ja kui kuhugi auk sisse jääb, kipub ta iga nädalaga kasvama. Seega mida kiiremini augu kinni lapid, seda kergem on.
- 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 + selle, miks see lause just selles programmis ja sellel kohal seisab.
- Enne esimese koodirea kirjutamist saa aru ülesandest ehk mida on vaja leida. 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 põhiidee selge, alusta programmi kirjutamist.
- Ehkki pea pole prügikast, proovi siiski olulisemad keele laused meelde jätta, sest kui iga lause õigekirja materjalist taga otsida, siis muutub programmi kirjutamine väga piinarikkaks.
Üldine õpijuhis
editIganädalane tegevusplaan on ligikaudu järgmine, mis siiski vastavalt läbitavatele teemadele varieerub.
- Uue teema kohta materjali lugemine. Uueks teemaks võib olla mõne tüüpalgoritmi kirjeldus, seni tundmatu andmetüüp, uued keelevahendid / keelelaused, kuid ka materjal üldisematel teemadel.
- Näidete uurimine, mis peaks aitama materjalist paremini aru saada.
- Ülesannete - probleemide lahendamine, mis on uue teadmise kinnistamiseks abiks. Ülesanded tuleb kindlasti ära teha.
- Ülesande lahendamisel:
- Loe ülesanne läbi ja seda senikaua, kuni saad täpselt aru, mida programm tegema peab.
- Mõtle läbi ja pane kirja lahendusalgoritm: millised sammud tuleb teha probleemi lahendamiseks (eestikeelsete lausetena, tegevusskeemina).
- Kirjuta programmi kood, loe see läbi, otsi vigu. Sea eesmärgiks, et programmis ei oleks käivitamisel ühtegi süntaksiviga ehk õigekirjaviga. Millele pöörata tähelepanu
- Silu programmi koodi, kõrvaldades kõigepealt süntaksivead ja seejärel töötavat programmi testides. Testimiseks on vaja teste. Enamasti tuleb nad ise koostada. Teste võite ka üksteisega jagada, et testimist efektiivsemaks muuta.
- Pane kirja, kuidas ülesande lahendamine sujus, mis peavalu valmistas ja mis osas targemaks said.
Kui selles tegevuses tekivad mured, tuleks minuga / õppejõuga kontakti otsida.
Lähtudes aine mahust tuleb nädalas arvestada 7..9 tunni tööga. Väikese eelneva programmeerimiskogemuse olemasolul saab kiiremini hakkama, kuid aega võib kuluda ka rohkem.
Teated
editSiia tulevad olulised teated
Ajakava
editSissejuhatus. Algoritm (1. nädal)
editLugemiseks
Probleemi lahendamine ja algoritm
Tegevusskeemi joonistamine ArgoUML-iga
Esimesed programmid (2. nädal)
editLugemiseks
Kompileerimine ja interpreteerimine
Valik algoritmis ja tegevusskeemil (3. nädal)
editLugemiseks
Võrdlustehted ja loogikatehted
Tsükkel algoritmis ja tegevusskeemil (4. nädal)
editLugemiseks
Tsükkel programmis: while-lause
Kindla kordustearvuga tsükkel (FOR-lause) (5. nädal)
editLugemiseks
Positsioonilised arvusüsteemid ja andmed arvuti mälus
Struktuursed andmetüübid (6. nädal)
editLugemiseks
Harjutamine ja paar uut algoritmi (7. nädal)
editLugemiseks
Kontrolltöö (8. nädal)
editKahemõõtmeline massiiv (9. nädal)
editLugemiseks
Kahemõõtmelise massiivi töötlemine
Alamprogrammid (10. nädal)
editLugemiseks
Tekstifailid (11. nädal)
editLugemiseks
Tekstifailid, andmete lugemine ja kirjutamine
Sõnastik (12. nädal)
editLugemiseks