Erinevus lehekülje "Programmeerimise süvendatud algkursus (2014)" redaktsioonide vahel
(Gerdi tehtud fail üles laetud ja lingitud.) |
P (Ago teisaldas lehekülje Programmeerimise süvendatud algkursus pealkirja Programmeerimise süvendatud algkursus (2014) alla) |
||
(ei näidata 5 kasutaja 49 vahepealset redaktsiooni) | |||
1. rida: | 1. rida: | ||
− | + | [[Pilt:Python_logo.jpg|50px|right]] | |
− | + | '''Kontakt''': iti0140 ätt cs.ttu.ee | |
− | |||
− | |||
− | |||
− | |||
== Programmeerimise süvendatud algkursus == | == Programmeerimise süvendatud algkursus == | ||
− | ''' | + | '''Konsultatsioonid''' |
− | + | '''8. jaanuar kell 10:00 ruumis ICT-411''' | |
− | + | '''19. jaanuar kell 10:00 ruumis ICT-411''' | |
− | + | '''Eksamiajad''' | |
− | ''' | + | '''9. jaanuar kell 12:00 - 14:00 ruumis U04-103''' |
− | + | '''20. jaanuar kell 12:00 - 14:00 ruumis U05-103''' | |
− | + | '''Punktiseis''' | |
− | + | https://docs.google.com/spreadsheets/d/1k10IZ1EtwOBL8tdDUr197MdGKtqlfBa4sFi_YEQO6_8/pubhtml?gid=836704825&single=true | |
− | + | '''Aine deklareerimine''' | |
− | <span style="color: red;"> | + | Aine deklareerimise eelduseks on see, et te olete käinud individuaalselt vestlemas. <span style="color: red;">Kes vestlemas pole käinud, selle deklaratsiooni lükkame tagasi</span>. |
− | + | Reedel (12. septembril) saate kaitsta 5. septembri ülesannet (pudelite ja taara ülesanne). Üldine soovitus on selline, et kes seda ülesannet järgmiseks reedeks valmis ei saa (ja/või kellele tundub see ülesanne väga keeruline), peaksid deklareerima algkursuse. Kui meile tundub, et mõni aine deklareerinud tudeng jääb selle aine jaoks nõrgaks, saab reedel veel väikse vaevaga deklaratsiooni ringi muuta (peale punast joont, 15. septembrit, on deklaratsiooni muutmine keerulisem). | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | Täpsustus tunniülesannete kohta. Tunnis antav ülesanne on '''kodune ülesanne'''. See tähendab, et teil pole kohustust (ja me ei eelda seda) esitada lahendus samas tunnis. Kui te seda teete, siis saate lisapunkti (kokku 4p). Me eeldame, et te lahendate ülesande järgmiseks tunniks. Selliselt saate ülesande lahenduse eest 3p. | ||
Aine parameetrid: | Aine parameetrid: | ||
133. rida: | 70. rida: | ||
Esimesed tunnid kuluvad vestlusteks. Järgnevad sisulised tunnid: | Esimesed tunnid kuluvad vestlusteks. Järgnevad sisulised tunnid: | ||
− | 1. tund Sissejuhatus Pythonisse [[Meedia:ITI0140_Loeng_1.pdf| | + | 1. tund Sissejuhatus Pythonisse [[Meedia:ITI0140_Loeng_1.pdf|loeng + ülesanne]] |
− | |||
− | |||
− | + | 2. tund Sõned (''string'') [http://courses.cs.ttu.ee/w/images/f/f5/2014_ITI0140_Loeng_2_-_Strings%2C_Lists%2C_functions%2C_tuples.pdf loeng + ülesanne] | |
− | + | 3. tund Järjendid (''list'') [[Meedia:2014_Loeng_3_-_Eclipse,_debug,_code_style.pdf|loeng + ülesanne]] | |
− | + | 4. tund Andmestruktuurid - jätk [[Meedia:ITI0140_2014_Loeng_4_-_Andmestruktuurid.pdf|loeng + ülesanne]] | |
− | + | 5. tund Failid [[Meedia:ITI0140_Loeng_6_-_Failidest_lugemine.pdf|loeng + ülesanne]] | |
− | + | 6. tund Moodulid ja erindid [[Meedia:ITI0140_Loeng_6_-_Moodulid_ja_erindid.pdf|loeng + ülesanne]] | |
− | + | 7. tund Objekt-orienteeritud programmeerimise (OOP) [[Meedia:2014_Loeng_7_-_OOP.pdf|loeng + ülesanne]] | [[Meedia:simulator.py|simulator.py (versioon 4)]] | |
− | + | 8. tund Testimine (''unit testing'') [[Meedia:2014_Loeng_8_-_Testing.pdf|loeng + ülesanne]] | [[Meedia:Roman_numerals.py|Ülesande lähtekood]] | |
− | + | 9. tund Simulatsioonid. Monte Carlo meetod. Profileerimine [[Meedia:ITI0140_-_2014_-_Loeng_9_Simuleerimine.pdf|loeng + ülesanne]] | |
− | + | 10. tund Comprehensions, Lambda, Generator [[Meedia:2014_Loeng_10_-_Lambda%2C_comprehensions_and_generator.pdf|loeng + ülesanne]] | |
− | + | 11. tund Regular expressions [[Meedia:2014_Loeng_11_-_Regular_expressions.pdf|loeng + ülesanne]] | |
− | + | 12. tund Image processing [[Meedia:2014_Loeng_12_-_Image_processing.pdf|loeng + ülesanne]] | |
− | + | 13. tund Image processing 2 [[Meedia:2014_Loeng_13_-_Image_processing_2.pdf|loeng + ülesanne]] [https://www.youtube.com/watch?v=ohzJV980PIQ Mandelbroti zoom video] | |
− | + | 14. tund Sympy [[Meedia:ITI0140_2014_Loeng_sympy1.pdf|loeng + ülesanne]] | |
− | + | 15. tund Matplotlib [[Meedia:ITI0140_2014_Loeng_matplotlib.pdf|loeng + ülesanne]] | |
− | + | 16. tund Otsing [[Meedia:ITI0140_-_2014_Loeng_otsing.pdf|loeng + ülesanne]], [[Meedia:Tund16gen.py|tund16gen.py]] | |
− | + | 17. tund Graafid [[Meedia:2014_Loeng_Graafid.pdf|loeng + ülesanne]] | |
− | + | 18. tund Laiuti otsing [[Meedia:2014 Loeng 19 - BFS.pdf|loeng + ülesanne]] | |
− | + | 19. tund Sügavuti otsing [[Meedia: 2014_Loeng_20_-_DFS.pdf|loeng + ülesanne]] | |
− | + | 20. tund Kahendpuu (Binary tree, Binary search tree) [[Meedia:2014_Loeng_21_-_Binary_tree.pdf|loeng + ülesanne]], [http://www.gutenberg.org/cache/epub/3070/pg3070.txt|kasuta sisendiks teksti] | |
− | + | 21. tund Harjutamine eksamiks, [[ITI0140 2014 Bomberman|Bombermani turniir tähtajaga 17.12]] | |
== Kasulikke linke == | == Kasulikke linke == | ||
185. rida: | 120. rida: | ||
* http://www.pythontutor.com/visualize.html - Visualiseerija | * http://www.pythontutor.com/visualize.html - Visualiseerija | ||
* http://www.codecademy.com/tracks/python - CodeCademy Pythoni kursus | * http://www.codecademy.com/tracks/python - CodeCademy Pythoni kursus | ||
+ | * [https://docs.google.com/spreadsheets/d/1k10IZ1EtwOBL8tdDUr197MdGKtqlfBa4sFi_YEQO6_8/pubhtml?gid=836704825&single=true Punktiseis] | ||
== Õppekirjandus == | == Õppekirjandus == |
Viimane redaktsioon: 25. august 2015, kell 13:24
Kontakt: iti0140 ätt cs.ttu.ee
Programmeerimise süvendatud algkursus
Konsultatsioonid
8. jaanuar kell 10:00 ruumis ICT-411
19. jaanuar kell 10:00 ruumis ICT-411
Eksamiajad
9. jaanuar kell 12:00 - 14:00 ruumis U04-103
20. jaanuar kell 12:00 - 14:00 ruumis U05-103
Punktiseis
Aine deklareerimine
Aine deklareerimise eelduseks on see, et te olete käinud individuaalselt vestlemas. Kes vestlemas pole käinud, selle deklaratsiooni lükkame tagasi.
Reedel (12. septembril) saate kaitsta 5. septembri ülesannet (pudelite ja taara ülesanne). Üldine soovitus on selline, et kes seda ülesannet järgmiseks reedeks valmis ei saa (ja/või kellele tundub see ülesanne väga keeruline), peaksid deklareerima algkursuse. Kui meile tundub, et mõni aine deklareerinud tudeng jääb selle aine jaoks nõrgaks, saab reedel veel väikse vaevaga deklaratsiooni ringi muuta (peale punast joont, 15. septembrit, on deklaratsiooni muutmine keerulisem).
Täpsustus tunniülesannete kohta. Tunnis antav ülesanne on kodune ülesanne. See tähendab, et teil pole kohustust (ja me ei eelda seda) esitada lahendus samas tunnis. Kui te seda teete, siis saate lisapunkti (kokku 4p). Me eeldame, et te lahendate ülesande järgmiseks tunniks. Selliselt saate ülesande lahenduse eest 3p.
Aine parameetrid:
- Õppeaine maht: 4 EAP
- Praktikumide arv nädalas 3
Tunnid:
- 1 praktikum üle nädala (lepitakse kokku)
- igal reedel kell 8.00 ruumis ICT-401
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.
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 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"
Orienteeruv kava
Esimesed tunnid kuluvad vestlusteks. Järgnevad sisulised tunnid:
1. tund Sissejuhatus Pythonisse loeng + ülesanne
2. tund Sõned (string) loeng + ülesanne
3. tund Järjendid (list) loeng + ülesanne
4. tund Andmestruktuurid - jätk loeng + ülesanne
5. tund Failid loeng + ülesanne
6. tund Moodulid ja erindid loeng + ülesanne
7. tund Objekt-orienteeritud programmeerimise (OOP) loeng + ülesanne | simulator.py (versioon 4)
8. tund Testimine (unit testing) loeng + ülesanne | Ülesande lähtekood
9. tund Simulatsioonid. Monte Carlo meetod. Profileerimine loeng + ülesanne
10. tund Comprehensions, Lambda, Generator loeng + ülesanne
11. tund Regular expressions loeng + ülesanne
12. tund Image processing loeng + ülesanne
13. tund Image processing 2 loeng + ülesanne Mandelbroti zoom video
14. tund Sympy loeng + ülesanne
15. tund Matplotlib loeng + ülesanne
16. tund Otsing loeng + ülesanne, tund16gen.py
17. tund Graafid loeng + ülesanne
18. tund Laiuti otsing loeng + ülesanne
19. tund Sügavuti otsing loeng + ülesanne
20. tund Kahendpuu (Binary tree, Binary search tree) loeng + ülesanne, sisendiks teksti
21. tund Harjutamine eksamiks, Bombermani turniir tähtajaga 17.12
Kasulikke linke
- https://bitbucket.org/aivarannamaa/thonny - Python IDE meant for learning.
- http://www.compileonline.com/execute_python3_online.php - online Python interpreter
- http://learnpythonthehardway.org/book - Learn Python The Hard Way
- https://programmeerimine.cs.ut.ee/ - Tartu Ülikooli programmeerimise algkursus
- http://www.pythontutor.com/visualize.html - Visualiseerija
- http://www.codecademy.com/tracks/python - CodeCademy Pythoni kursus
- Punktiseis
Õppekirjandus
- John M. Zelle. Python Programming: An Introduction to Computer Science. Üks varasem versioon veebist kättesaadav: Python Programming: An Introduction to Computer Science
- Programmeerimise kursus Tartu Ülikoolis