Pythoni põhitõed: keele sissejuhatus, põhilised andmestruktuurid, keele elemendid, objekt, orienteeritud programmeerimine – teksti vormindamine, operatsioonid – süsteemioperatsioonid, kaugjuhtimine, Git-süsteem, põhilised käsurea käsud, GIT tugi (init, add, commit, branch, merge), kaughoidlad (kloonimine, push), SourceTree / GitHub Desktop / PyCharm, harjutused GitHubi / BitBucketi / GitLabiga.
Python tehnoloogia: keskkonna konfigureerimine, interpretaator, virtualenv, pip, PyCharm.
Tarkvara testimine ja TDD: arutelu testimise põhimõtete ja tehnikate üle, TDD, testimise raamatukogud
Python – kesktase: regulaaravaldised, lambda-avaldised, erandid, failioperatsioonid, mitmehäälne töötlemine, dekoraatorid, voogude kasutamine. kaugjuhtimine.
Algoritmid ja andmed: struktuurid, sissejuhatus algoritmidesse, arvutuslik keerukus. põhilised andmestruktuurid, sorteerimisalgoritmid (nt bubble sorteerimine, heapsort, quicksort, counting sorteerimine), kaugjuhtimine.
Disainimustrid ja head tavad: arutelu kõige olulisemate GoF-mustrite üle, mitmete valitud mudelite rakendamine, Pythoni stiilijuhend, heade tavade arutelu (puhas kood, SOLID, GRASP, KISS, DRY, YAGNI, Demeteri seadus).
SQL-andmebaasid: suhted, andmebaasid ja tabelid; loomine ja disain, andmetüübid, indeksid, piirangud, SQL-keel, CRUD, alamküsimused, liiteküsimused (INNER, OUTER, LEFT, RIGHT), vallandajad, protseduurid (valikuline), tehingud, ACID.
Andmebaasid – programmeerimine: SQL andmebaasi tarkvara, praktilised harjutused, (valikuline) NoSQL
HTTP põhitõed: HTTP, TCP/IP, DNS, URL, URI põhitõed, käsud, vastusekoodid, päised, ümbersuunamised, tööriistad (nt curl, wget, ping, telnet, ssh, wireshark, http live headers, postman).
HTML, CSS, JavaScript: HTML põhitõed, CSS, JavaScripti põhitõed, (valikuline) viide JQuery’le, (valikuline) viide Bootstrapile.
Backend-tehnoloogiad: Django tutvustus, halduspaneel, vormid, sessioonid ja vahemälu, autoriseerimine ja autentimine, turvalisus, i18n, konfiguratsioon ja rakendamine, MVC, REST, Flask + Tornado + SQL Alchemy.
Lõplik projekt: veebidisain (nt oksjonisait, reisibüroo, mikroblogi lehekülg, auto
rentimine jne.), töö 2-4-liikmelistes rühmades, töötamine Scrumi metoodika alusel, kursuse käigus omandatud teadmiste ja oskuste praktiline kasutamine, demobloki lõpus projektid.
- Python
See moodul tutvustab sulle Pythoni programmeerimise maailma. Õpid selle uskumatult populaarse keele süntaksit, objektorienteeritud programmeerimise põhimõtet ja standardteegi põhifunktsioone. Ent mis on kõige tähtsam – õpid neid tõhusalt kasutama. Seejärel õpetame sulle, kuidas neid tööriistu tõhusalt kasutada, et olla suurepärane programmeerija. Samuti saad kõik teadmised kogu Pythoni ökosüsteemi kohta ja selle kohta, kuidas luua oma mooduleid. Selle mooduli lõppedes oled omandanud teadmised regulaaravaldiste võimalustest, erandite põhimõtte, samuti selliste keeleelementide nagu dekoraatorite, kontekstihaldurite ja lambdade kasutamise ja loomise.
- Töötamine andmetega
Rakendused kasutavad andmeid väga sageli. Just sellepärast õpetame sind töötama mehhanismidega, mida kasutatakse andmete sisestamiseks, muutmiseks ja otsimiseks. Saad korraliku arusaama andmebaasidega töötamiseks vajalikust SQL-i andmekäitluskeelest. Kui oled andmebaasidega tutvunud, on aeg neid Pythonis kasutada.
Tutvud ORM-i tööpõhimõttega – kuidas ühitada objektorienteeritud maailm relatsioonilise maailmaga. Nüüdsest suudab sinu tarkvara andmebaasides olevat teavet talletada ja töödelda.
- Veebitehnoloogiad
Õpid tundma maailma kõige olulisemaid front-end’i tehnoloogiaid – seda, mida me veebilehe külastamisel näeme. Näitame sulle, kuidas luua HTML-koodi, mis esindab täpselt seda, mida soovid, laadistikke, et need näeksid välja nii nagu vaja ja JavaScripti koodi, et see kõik toimiks. Seejärel tutvustame sulle enimkasutatavat raamistikku veebirakenduste loomiseks Pythonis – Django.
Saad teada, kuidas luua halduspaneele, vormide käsitsemist, seansimehhanisme ja küpsiseid. Samuti uurid autoriseerimise ja autentimise käitumist.
- Programmeerija tööriistad
Õpid töötama arendusmeeskonnas ja lahendama meeskonnana probleeme, mis tekivad, kui paljud inimesed samu faile muudavad. Saad teada, kuidas koodiga töötada, kuidas korraldatakse tööd programmeerimise meeskondades ja miks planeerimine on tähtis.
- Head tavad
Testimine on tarkvaraarenduses hädavajalik. Testimine aitab sul veenduda, et sinu kirjutatud kood töötab õigesti. TDD on lähenemisviis koodi loomiseks, kus esmalt kirjutad testid ja seejärel koodi nii, et testid tagaksid koodi korrektse töö. Seejärel õpetame sulle, mis on algoritm ja miks see programmeerimismaailmas on tähtis. Õpid lahendama tavalisi probleeme ja määrama selliste lahenduste tõhusust. Peale selle näed, et andmeid saab salvestada mitmel erineval viisil ja tead, millal milline valida.
Programmeerimisel ole valmis kokku puutuma probleemidega, millega keegi teine on varasemalt juba kokku puutunud. Muster on universaalsete, praktikas tõestatud lahendus sageli esinevale ja korduvale probleemile. Tutvud enimkasutatavate mustrite, nende käitumismudelite ja rakendamisega.
- Lõpp-projekt
Lõpuks lood praktilise projekti, mis lahendab reaalse äriprobleemi. Hiljem saad selle projekti oma CV-le lisada ja kasutada seda oma unistuste töökoha saamiseks. Sinu ülesandeks on kujundada ja rakendada keerukam veebirakendus. Võid töötada üksi või meeskonnas.
Lõpuks esitad töötava rakenduse ja arutled selle üle, mida sul õnnestus teha ning millised on ideed rakenduse edasiseks arendamiseks. Tundides jätame aega ka koodi ülevaatamiseks.
- Õpiväljundite hindamine ja lõpetamise tingimused
Õppekava “Python” lõpetamise tingimuseks on loengutes vähemalt 80% ulatuses osalemine ja kõikide testide vähemalt 80% õigete vastustega sooritamine. Sellisel juhul väljastatakse osalejale tunnistus kursuse läbimise kohta. Õppijad, kes osalesid vähemalt 60% ulatuses, kuid ei sooritanud testi ega koostanud praktilist projekti, saavad tõendi.