Programmeerimise süvendatud algkursus (2015)

Allikas: Kursused
Redaktsioon seisuga 1. oktoober 2015, kell 06:11 kasutajalt Ago (arutelu | kaastöö) (→‎Kava ja materjalid)
Mine navigeerimisribale Mine otsikasti
Python logo.jpg

Kontakt: iti0140 ätt cs.ttu.ee

Programmeerimise süvendatud algkursus

Registreeri ennast konsultatsioonile: http://doodle.com/poll/n5x2iq5gsuviqkbg

Kursuse jooksev info (uudised jms): https://groups.google.com/forum/#!forum/iti0140

Vestlused

Neljapäeval tegime suure osa tudengitega läbi vestlusvooru, mille tulemusena saime natuke tagasisidet tudengite kohta. Kes veel ei ole meiega vestelnud, siis palun seda teha esmaspäeval (7. sept) tunni jooksul.

Alljärgnevalt on välja toodud matriklinumbrid. Need kuuluvad tudengitele, kes meie arvates võiksid/peaksid seda ainet võtma. Nimekiri on järjestatud matriklinumbri järgi - ehk siis see ei kajasta mingit pingerida. Rõhutan veel üle, et see on meie soovitus. Kui sa ei leia oma matriklinumbrit nimekirjast, aga oled kindel, et sul on tahtmist ja jaksu tegeleda intensiivselt selle kursusega, tule esmaspäeval kohale - jagame esimese ülesande välja. Kui esmaspäeval kohaletulijaid on rohkem kui klassi mahub, võime rakendada süsteemi, kus nimekirjas olevad tudengid peaksid saama istekoha.

121035 142438 142590 142766 142799 142800 142847 143054 143066 144110 144933 154774 154875 154877 154879 154907 154910 154911 154916 155041 155046 155048 155076 155078 155150 155174 155185 155189 155192 155193 155196 155199 155200 155202 155203 155206 155207 155215 155224 155228 155242 155243 155250 155252 155302 155348 155376 155387 155388 155389 155390 155406 155407 155408 155411 155417 155420 155421 155422 155436 155437 155546 155553 155606 155610 155611 155620 155693 155695 155696 155701 155702 155705 155706 155708 156233 156252

Aine deklareerimine

Aine deklareerimise eelduseks on see, et te olete käinud individuaalselt vestlemas. Kes vestlemas pole käinud, selle deklaratsiooni lükkame tagasi.

  • Õppeaine maht: 4 EAP
  • Praktikumide arv nädalas 3

Tunnid:

  • paaris nädala esmaspäeval kell 14:00 ruumis ICT-401
  • igal neljapäeval kell 8.00 ruumis ICT-501

Kokku koos tutvustava tunniga toimub tunde kuni 24 (8 loengut, 16 praktikumi). Aines me ei erista loengut ning praktikumi - igas tunnis tutvustame uut materjali, kontrollime koduseid ülesandeid ja jagame välja uued ülesanded. Seega, maksimaalselt (kui mõni tund ära ei jää) saame välja jagada 22 kodust ülesannet.

Eksam

Kodutööde eest saadud punktid ja eksamil saadud punktid liidetakse kokku. Hinne tuleb vastavalt summale, vt allpool.

Eksamile tuleb registreerida ÕIS-is enne kella 12.00 eksamile eelneval päeval.

Aine tutvustus

Tegemist on süvendatud programmeerimiskursusega tulevastele arendajatele. Selle aine eduka läbimise korral ei pea te sooritama Programmeerimise algkursust (IDK1011). Huvi korral võib sooritada mõlemad ained.

Aines õpetatakse Pythoni keelekonstruktsioone, sh: muutujad, matemaatilised operatsioonid ja loogilised avaldised, tingimuslaused, stringid, tsüklid, meetodid, nimistud, sõnastikud, moodulid, objektorienteerimise alused. Rakendatakse õpitud programmeerimisoskusi reaalsete ülesannete lahendamisel. Saadakse praktilisi kogemusi erinevate algoritmide keerukusest.

Hinde saamine

Igas tunnis jagame välja koduse ülesande, mille tähtaeg on järgmises tunnis. Kui te lahendate ülesande samas tunnis ära, saate maksimaalselt kuni 4 punkti. Kui lahendate ülesande ära järgmiseks tunniks, saate kuni 3 punkti. Hilinenud ülesanded annavad kuni 2 punkti. Kokku jagatakse semestri jooksul vähemalt 20 ülesannet. Kui lahendate kodused ülesanded järgmiseks tunniks ära, võite saada 60 punkti. Kui lahendate kõik ülesanded samal tunnil ära, võite saada kuni 80 punkti. Lisaks hinnatakse esitatud ülesande lähtekoodi vastavust nõuetele kokku kuni 10 punktiga.

Saadud punktisumma korrutatakse läbi koefitsiendiga 6/7 (ehk siis normeeritakse 60p skaalale). Ehk siis ülesannete eest läheb hinde saamisel arvesse punktid * 6 / 7. Näiteks kui tudeng saab 70 punkti (kõik ülesanded tähtajaks lahendatud ja esitatud kood vastab nõetele), läheb lõpuks see arvesse kui 60 punkti.

Teise osa hindest määrab kirjalik eksam, mille eelduseks on vähemalt poolte (10) ülesannete lahendamine 1 või endam punkti peale ning vähemalt 20 punkti saamine kõikide koduste ülesannete peale. Eksami eest saab maksimaalselt 40 punkti. Eksam koosneb kümnest (10) valikvastustega küsimusest ja viiest (5) praktilisest ülesandest.

Ülesannete korrektne tähtajaline lahendamine annab maksimaalselt 60 punkti, eksam annab 40 punkti. Kui tudeng on sooritanud kõik ülesanded nende jagamise päeval, võib tudeng saada ülesannete eest 80 punkti. See tähendab, et maksimaalse tulemuse saavutamiseks piisab tudengil eksamil 20 punktist. Saadud punktid liidetakse ja taandatakse TTÜ üldisele hindamisskaalale:

  • 0-50p - hinne "0"
  • 51-60p - hinne "1"
  • 61-70p - hinne "2"
  • 71-80p - hinne "3"
  • 81-90p - hinne "4"
  • 91 punkti või rohkem - hinne "5"

Kava ja materjalid

Esimene tund kulub vestlusteks. Järgnevad sisulised tunnid:

1. tund Sissejuhatus Pythonisse Loengu slaidid, Ülesanne 1

2. kordamine

3. tund Sõned (string) Loengu slaidid, Ülesanne 2 - sõnumi kodeerimine

4. tund Koodistiil, silumine (debug) Loengu slaidid, Ülesanne 3 - rong see sõitis...

5. tund Andmestruktuurid Loengu slaidid, Ülesanne 4 - Miinikits Miina

6. tund Failid Loengu slaidid, Still a better love story than Twilight

7. tund Objekt-orienteeritud programmeerimise (OOP)

8. tund Testimine (unit testing)

9. tund Simulatsioonid. Monte Carlo meetod. Profileerimine

10. tund Comprehensions, Lambda, Generator

11. tund Regular expressions

12. tund Image processing

13. tund Image processing 2

14. tund Sympy

15. tund Matplotlib

16. tund Otsing

17. tund Graafid

18. tund Laiuti otsing

19. tund Sügavuti otsing

20. tund Kahendpuu (Binary tree, Binary search tree)

21. tund Harjutamine eksamiks