A programozás alapjai
A VIK Wikiből
A tantárgy célkitűzése, hogy a hallgatók készség szinten alkalmazható ismereteket szerezzenek a számítógépes problémamegoldás módszereinek és alapvető eszközeinek használatában, úgy mint elemi és összetett adatok, programozási tételek, fájlkezelés. További cél, hogy a megszerzett ismereteket és készségeket további tanulmányaik során hatékonyan legyenek képesek alkalmazni. A célkitűzés teljesítését egy magas szintű programozási nyelv, a Python megismerése teszi lehetővé.
Követelmények
A szorgalmi időszakban
- Az aláírás megszerzésének feltételei:
- Az előadások legalább 70%-án való részvétel (Bár katalógus nincs).
- A laborok 70%-án való részvétel, csak a laborok elején írt beugró sikeres megírása esetén számít jelenlétnek.
- A kisZH-k sikeres megírása. A hat kisZH három témakört ölel fel, azaz három dolgozatpárost jelentenek. Minden pár közül a jobban sikerült eredménye számít, ez kell elérje az adott dolgozatra szerezhető pontszám 40%-át.
- A nagyZH sikeres megírása. A félév során egy nagy ZH van (2018-ban: 7. hét), mely 40 pontból áll és 4 feladatra oszlik, mely kódját papíron kell leírni.
- A házi feladat részfeladatainak időben történő leadása beleszámít annak pontozásába (1-2 pont). Extra pontokat lehet szerezni a félév közben beadott és elfogadott szorgalmi feladatokkal. A szorgalmi feladatok pontjai csak 80 pont fölött számítanak.
- Pótlási lehetőségek:
- A kisZH-k közül egy pótlási díj ellenében póthéten pótolható/javítható.
- A nagyZH egyszer díjmentesen, utána a pótlási héten pótolható pluszköltséggel.
- A nagyHF a szorgalmi időszak utolsó napjáig 12:00-ig pótolható pluszköltséggel, a póthéten vagy utána már nem lehetséges.
A vizsgaidőszakban
- A vizsga írásbeli, a ZH utáni részek nagyobb súllyal szerepelnek benne.
Félévvégi jegy
- Aki a félévközi eredményekkel kiváló eredményt ért el, megajánlott jelest kap: max(KZH1, KZH2) + max(KZH3, KZH4) + max(KZH5, KZH6) + NZH + NHF + szorgalmi >= 80 pont.
- Vizsga esetén az érdemjegy meghatározásánál az alábbi pontszámokat vesszük figyelembe:
- 40 pont – vizsgadolgozat 2× súllyal (80 pont)
- 40 pont – nagy zárthelyi
- 20 pont – nagy házi feladat
- Ponthatárok:
Pont Jegy 0 - 69 1 70 - 90 2 91 - 105 3 106 - 119 4 120 - 140 5
Tematika
Előadás anyagok
- 1. hét: bevezető
- 2. hét: nevezetes algoritmusok, sztringek, listák
- 3. hét: elmaradt
- 4. hét: vezérlési szerkezetek, kivételek, konverziók és formázás
- 5. hét: függvények, referenciák
- 6. hét: osztályok
- 7. hét: operátorok, számábrázolás
- 8. hét: rendezések, rekurzió
- 9. hét: elmaradt
- 10. hét: fájlkezelés, többmodulos programok
- 11. hét: láncolt listák, bináris fák
- 12. hét: összetett adatszerkezetek
- 13. hét: állapotgépek, reguláris kifejezések
- 14. hét: generikus algoritmusok, visszalépő keresés
Labor anyagok
- 1. hét: operációs rendszer, egyszerű programok
- 2. hét: vezérlési szerkezetek, nyomkövetés
- 3. hét: nevezetes algoritmusok, listák, sztringek
- 4. hét: adatszerkezetek építése, karakterkódok kezelése
- 5. hét: kivételek, konverzió, számrendszerek
- 6. hét: függvények
- 7. hét: osztályok
- 8. hét: számábrázolás, számrendszerek
- 9. hét: rendezések, hash táblák
- 10. hét: rekurzió
- 11. hét: fájlkezelés
- 12. hét: bináris fák
- 13. hét: adatszerkezetek
- 14. hét: állapotgépek
Segédanyagok
Feladat gyűjtemény
- 1. hét: egyszerű programok
- 2. hét: logikai kifejezések, sorozatok, listák nélkül, listák és sztringek
- 3. hét: összetettebb listás feladatok
- 4. hét: nincs
- 5. hét: függvények
- 6. hét: osztályok
- 7. hét: számábrázolás, bitműveletek
- 8. hét: rendezések, rekurzió
- 9. hét: nincs
- 10. hét: parancssori argumentumok, fájlkezelés
- 11. hét: bináris fák
- 12. hét: nincs
- 13. hét: állapotgépek
- 14. hét: nincs
Felhasználható anyagok
- Python puska (ZH-n használható)
- Ingyenes fejlesztőkörnyezetek
- Peter Wentworth, Jeffrey Elkner, Allen B. Downey és Chris Meyers: Hogyan gondolkozz úgy, mint egy informatikus (könyv)
- Fájlkezelés, mappakezelés
- Szöveges és grafikus megjelenítés
- PyGame: multimédiás könyvtár
- PyConio: konzolos megjelenítés
Extrák
- Szorgalmi feladatok
- NHF 2018 szépségverseny
- Óra 2018 szépségverseny
- Mit tud a számítógép?
- BrainFuck és Turing-gép
- Karakterkódolások
- Bitműveletek
- Internet működése
- Összefésülő rendezés
- Labirintusok és algoritmusai
- Fák rajzolása és rekurzió
Házi feladat
- 2018. ősz
- A beadáshoz 4 mérföldkő vezet:
- feladatválasztás (2018-ban: 7. hét vége),
- specifikáció (2018-ban: 8. hét vége),
- félkész megoldás (2018-ban: 10. hét vége),
- végleges program (2018-ban: 12. hét vége).
- Plágium büntetéshez vezet.
Pontozás
- Maximálisan 20 pont érhető el az alábbiak szerint:
- Határidő betartás
- kiválasztás időben
- specifikáció elkészítése időben
- félkész házi beadása időben
- végleges házi beadása időben
- Kód minősége
- modulokra bontás
- funkcionális dekompozíció
- helyes erőforráskezelés
- helyes nyelvi elem használat
- elvárt kódolási stílus
- nincsenek újraimplementált szabványos függvények
- megfelelő adatszerkezetek, típusok
- szerep szerinti névadás
- +2 feladatfüggő pont
- Dokumentáció
- nincsen felfújva
- Programozói dokumentáció
- szükséges környezet leírása
- projekt felépítésének leírása
- adatszerkezet ismertetése
- függvények dokumentációja
- Felhasználói dokumentáció
- program feladata, célja, kezelése
ZH
Kis ZH-k
- A félév során 6 alkalommal van kis zárthelyi az egyik előre kijelölt laborokon kerülnek megírásra.
- Nehézsége nagyjából egy nagy ZH-s feladattal egyezik meg. 10 pont jár érte.
- Egy kisZH három témakört ölel fel, azaz három dolgozatpárost jelentenek. Minden pár közül a jobban sikerült eredménye számít; ez kell elérje az adott dolgozatra szerezhető pontszám 40%-át. A meg nem írt dolgozatok 0 pontot érnek.
- 2018. ősz
Nagy ZH
- A félév során egy nagy ZH van (2018-ban: 7. hét), mely 40 pontból áll, s 4 feladatra oszlik, amelyek kódját papíron kell leírni. Pótlása egyszer díjmentesen pótolható, majd téritésesen a póthét folyamán.
- 2018. ősz
Vizsga
Tippek
- Programozást érdemes hétről hétre gyakorolni, nem bemagolni/betanulni a ZH/vizsga előtt. Próbáld meg felfogni egy kikapcsolódásnak, ahol csak szórakozol a kódsorokkal, próbálkozol, hátha sikerül összerakni, és nem rágörcsölni a tárgyra. De a legfontosabb, hogy rendszeresen gyakorolj!
Kedvcsináló
- Íme egy nagyszerű kis oldal python kezdő programozóknak https://www.pythonforbeginners.com. Have fun! :)
1. félév | |
---|---|
2. félév | |
3. félév | |
4. félév | |
5. félév | |
6. félév |