BSc Matematika Alapszak
Tantárgyleírás
2017.
Tantárgyleírás
2017.
Algoritmusok Python nyelven
- Óraszám (ea+gy): 2 + 2
- Specializáció: alk. mat.
- Kredit (ea+gy): 3 + 3
- Számonkérés: kollokvium + gyak. jegy
- Tárgykód (ea, gy): alg_py1a0_m17ea, alg_py1a0_m17ga
- Ajánlott félév: 3
- Státusz: köt. vál.
Óraszám
ea(+k) + gy(+k) |
Kredit
ea + gy |
Számonkérés | Specializáció | Tárgykód
ea/gy |
Ajánlott
félév |
Státusz |
---|---|---|---|---|---|---|
2 + 2 | 3 + 3 | kollokvium + gyak. jegy |
alk. mat. | alg_py1a0_m17ea alg_py1a0_m17ga |
3 | köt. vál. |
Tantárgyfelelős
Erős | Gyenge | előfeltételek |
---|---|---|
Gyakorlat | ||
Erős:
Matematika kritériumtárgyG
(bevmat1x0_m17ga)
| ||
Előadás | ||
Gyenge:
a gyakorlat
|
Megjegyzések
- A programozási alapismeretek (prgism1x0_m17va) előzetes elvégzése ajánlott.
- A tantárgy oktatásának módja: Előadás, egyéni programfejlesztés a számítógépes laborban és heti rendszeres konzultáció.
- Követelmény: A tantárgy teljesítéséhez három beadandó program elkészítése és dokumentálása és egy elméleti zárthelyi dolgozat sikeres megírása szükséges. A programokat személyesen is be kell mutatni.
- Pótlási lehetőség: A beadandó feladatok teljesítésével a kiírt határidőhöz képest legfeljebb 2 hetet lehet késni. A sikertelen, vagy nem teljesített zárthelyi pótlására, illetve javításra egy további lehetőség adott.
- Konzultációs lehetőség: A hallgatóknak beadandó programjaik elkészítéséhez heti rendszerességgel konzultációt biztosítunk.
A tematikát kidolgozta:
Szükséges előismeretek
Ajánlott a Programozási alapismeretek tantárgy előzetes elvégzése, vagy a tantárgy honlapján (http://progalap.elte.hu/) szereplő alapismeretek egyéni elsajátítása.
A tantárgy célkitűzése
- A tantárgy elsődleges célja a Python programozási nyelv jól kiválasztott részének ismertetése, annak felhasználásával komolyabb (de 1000 sor alatti) hallgatói programok létrehozása.
- A tantárgy általános célja egyrészt az, hogy a hallgatók a gyakorlatban elsajítítsák a programtervezés számítógéptől független tevékenységét, másrészt az, hogy megismerjék az egyszerű szoftverek fejlesztésének általánosan, bármely nyelvre és környezetre érvényes lépéseit.
- A kurzus során az oktatásban, valamint a beadandó feladatok esetében is olyan példák és feladatok kiválasztására törekszünk, amelyek matematikai jellegűek; a nagyobb méretű feladatok pedig a matematika módszereinek alkalmazásával oldhatók meg.
Irodalom
- A tantárgy honlapján (http://ifekete.web.elte.hu/, a "python" fül alatt) lévő segédanyagok.
- G. Swinnen: Tanuljunk meg programozni Python nyelven. szabad felhasználású könyv, letölthető a MEK honlapjáról.
- D. Beazley: Python Essential Reference. (4th Edition), Addison-Wesley, 2010.
- A Python nyelv hivatalos honlapja: https://www.python.org/.
- T. H. Cormen, C. E. Lieserson, R. L. Rivest, C. Stein: Új algoritmusok. Scolar, 2003.
- B. Miller, D. Ranum: Problem Solving with Algorithms and Data Structures. Franklin, 2013.
- M. T. Goodrich, R. Tamassia, M. H. Goldwasser: Data Structures and Algorithms in Python. John Wiley & Sons, 2013.
Tematika
A kurzus során az alábbi témakörök kerülnek ismertetésre úgy, hogy nagyon hamar programokat tudjunk írni, majd visszatérve az egyes fejezetekre.
- A programtervezés számítógéptől független folyamata.
- A Python nyelv általános jellemzői: interpretált, objektum-orientált, nagyszámú könyvtár stb.
- Változók és típusaik: dinamikus típusátadás, beépített típusok, kifejezések, műveletek.
- Vezérlési szerkezetek: szekvencia, feltételes utasítások, ciklus utasítások; utasításblokk sorok behúzásával.
- Adatstruktúrák: karakterlánc (string), lista, tuple (n-es), dictionary (könyvtár); műveleteik, metódusaik.
- Függvények: beépített, saját, sztenderd könyvtárból importált; rugalmas paraméterkezelés.
- Objektum-orientáltság: objektum, osztály, metódus, öröklődés.
- Input, output: konzolos adatbevitel és kiírás, fájlok kezelése, grafikus felület* (opcionális).
- Sztenderd könyvtárak, elsősorban a NumPy és a SciPy.
- A Python elsajátítása és a programfejlesztés folyamata.