K-INFO
HU
EN
Belépés

A programozás alapjai

Basics of Programming
A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
Tantárgy neve (magyarul, angolul)
A programozás alapjai
Basics of Programming
Tantárgykód BMEVIEEBA01
Tantárgyjelleg
Képzési szint
Kurzustípusok és óraszámok (heti/féléves)
Kurzustípus elmélet gyakorlat laboratóriumi gyakorlat
óraszám (heti) 2 0 4
jelleg (kapcsolt/önálló) kapcsolt
Tanulmányi teljesítmény/értékelés típusa vizsga
Tantárgy kreditértéke 7
Tantárgyfelelős
DR. Ress Sándor László
beosztás: egyetemi docens
Tantárgyat gondozó oktatási szervezeti egység
Elektronikus Eszközök Tanszéke
Kar Villamosmérnöki és Informatikai Kar
Tantárgy weboldala
Tantárgy elsődleges mintatantervi jellege
Közvetlen előkövetelmények – Erős előkövetelmény nincs
Közvetlen előkövetelmények – Gyenge előkövetelmény nincs
Közvetlen előkövetelmények – Párhuzamos előkövetelmény nincs
Közvetlen előkövetelmények – Mérföldkő előkövetelmény nincs
Közvetlen előkövetelmények – Kizáró feltétel nincs

Célkitűzés

Tantárgyprogram

Az előadások tematikája:

Előadás

Előadás anyaga

1.

Bevezetés. Programozás fogalma. Kifejezések és változók, típus fogalma. Egyszerű kifejezések a programban. Operációs rendszer alapismeretek: parancssor, program indítása parancssorból, szabványos bemenet és kimenet, átirányítás, paraméterek. Egyszerű Python program futtatása.

2.

Algoritmusok elemei, vezérlési szerkezetek. Ciklus, elágazás, szekvencia. Összetett vezérlési szerkezetek és kifejezések. Integrált fejlesztői környezet bemutatása.

3.

Programozási tételek. Összegzés, számlálás, szélsőérték keresése és szétválogatás tételei. Hibakeresési technikák: nyomkövetés, értékadások megfigyelése, változók vizsgálata. Beolvasás és kiírás. Formátumhibák kezelése, kivételek.

4.

Függvények fogalma, használata. Absztrakció, paraméterek és lokális változók. Felülről lefelé tervezés.

5.

Listák létrehozása. Listaműveletek. Érték és referencia szerinti paraméterátadás fogalma.

6.

Keresések és rendezések. Egész és lebegőpontos számok ábrázolása, számábrázolási korlátok. Operátorok. Precedencia, kiértékelés, mellékhatás fogalma.

7.

Összetett adatszerkezetek, saját típusok definíciója.

8.

Véges automata, mintafelismerő és szűrő programok. Felsorolt típus.

9.

Program kapcsolata a külvilággal: parancssori paraméterek és fájlkezelés. Esettanulmány: programszegmentálás, Karbantartható programok írása, dokumentáció.

10.

Rekurzió. Rekurzió tervezése: báziskritérium és egyszerűsítési lépések.

11.

Verem és várakozási sor létrehozása lista segítségével. Asszociatív tömbök, halmazok.

12.

Bináris fák. Keresőfák, hierarchikus adattárolás, dekódoló fák. Fák bejárása.

13.

Generikus algoritmusok, predikátumok. Gráfok algoritmusai.

A laborok tematikája: a laborgyakorlatok szorosan, heti bontásban követik az előadásokat, azzal teljesen megegyező tematikával. Az egyes, szorosan nem összefüggő anyagrészek sorrendje az elmaradó órák függvényében változhat.
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é. A tárgyat teljesítő hallgató képes lesz: (K3) alkalmazni az imperatív programozás ismertetett eszköztárát,(K3) összetett típusokat és tárolókat használni programjában, ezeken alapvető algoritmusokat, elemi programozási tételeket alkalmazni, (K3) a Python programozási nyelvet és integrált fejlesztőkörnyezetet használni a fenti eszközöket használó programok implementálásához,(K2) elemi megfontolásokat tenni egy program erőforrásigényére,(K2) specifikációkat, programozói dokumentációkat megérteni,(K2) elmagyarázni a tematikában szereplő magasabb szintű absztrakciók és nemlineáris adatszerkezetek működését, alkalmazási lehetőségeit.

Tanulmányi eredmények

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Tudás

Nincsenek rögzített tanulási eredmények.

Képességek

Nincsenek rögzített tanulási eredmények.

Attitűd

Nincsenek rögzített tanulási eredmények.

Autonómia és felelősség

Nincsenek rögzített tanulási eredmények.

Oktatási módszertan

A tárgyból heti egy alkalommal a teljes évfolyamnak előadást és heti két alkalommal a tanulókörök számára laborgyakorlatot tartunk. A tárgyból számítógépes laboratóriumi foglalkozásaira a Hallgatói Számítógép Központ (HSZK) termeiben kerül sor, az órarend szerinti időpontokban, kiscsoportos oktatással. A csoport- és terembeosztást külön hirdetményben tesszük közzé a tárgy weboldalán. A laboratórium célja, hogy a hallgatók gyakorlati jártasságot szerezzenek az előadáson és megismert módszerek kipróbálása által, és készség szinten elsajátítsák a fejlesztőkörnyezetek használatát. A laborok anyaga folyamatosan követi az előadások tematikáját, azok mélyebb megértését, az algoritmusok részletes megismerését támogatja. Az anyag jobb elsajátítása érdekében a laboratóriumi foglalkozásokhoz kapcsolódóan egy nagyobb házi feladatot is meg kell oldani. A kis zárthelyik célja a folyamatos készülés motiválása. A nagy zárthelyi és a vizsga a megszerzett ismeretek alkalmazására fókuszálnak. A tárgy tananyaga egyes heteken szorosan kapcsolódik az Algoritmusok és gráfok című, azonos félévben futó tárgyhoz.

Tanulástámogató anyagok

Online források
A tárgy weboldalán elérhető elektronikus; jegyzet.Mark Summerfield: Python 3; programozás.

A tantárgy teljesítéséhez ajánlott előzetes ismeretek

Tudás típusú kompetenciák
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Képesség típusú kompetenciák
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
nincs
Általános szabályok
Követelmények: A szorgalmi időszakban, a félév végi aláírás feltételei: Jelenlét: az órákon (előadás, labor) való rendszeres részvétel. A hiányzások megengedett mértékét a TVSz rögzíti (30%). A feltételnek mindkét óratípuson külön-külön is teljesülnie kell.A laborgyakorlatokon a felkészültséget szintfelmérővel (beugróval) ellenőrizzük, amelynek anyaga az adott laborhoz tartozó előadás anyagával kapcsolatos. A beugró lehet rövid dolgozat, házi feladat vagy órai feladat is. Sikertelen beugró esetén az adott laboralkalom nem teljesítettnek számít.Kis zárthelyik (ellenőrző dolgozat): a félév során hat alkalommal kis zárthelyit íratunk a laborokon. A hat kis ZH közül a legjobban sikerült négy pontszámát vesszük figyelembe; ezek összege kell elérje a megszerezhető összpontszám 50%-át. A meg nem írt dolgozatok pontszámát nullának tekintjük.Nagy zárthelyi (összegző értékelés): a szorgalmi időszak alatt egy alkalommal, az évfolyam terhelési táblázata szerinti időpontban nagy zárthelyi dolgozatot íratunk. A pontszáma el kell érje a szerezhető pontszám 50%-át.Nagy házi feladat (részteljesítmény értékelés): minden hallgatónak egy egyéni nagy házi feladatot kell megoldania, önálló munkával. Ennek elfogadható szintű teljesítése a félév követelménye. A nagy házi feladatokat az 5. héten adjuk ki és a 12. héten kell beadni a megoldásokat. Az előrehaladást a félév közben ellenőrizzük, és az értékelésnél figyelembe vesszük. A házi feladatra kapott pontszám el kell érje az erre szerezhető pontszám 50%-át.A felkészülést egyéni szorgalmi feladatok is segítik, melyek megoldása nem kötelező. A határidőre és sikeresen megoldott szorgalmi feladatokkal extra pontok szerezhetők, amelyeket a megajánlott jegy kialakításánál veszünk figyelembe. A vizsgaidőszakban: Írásbeli vizsga. Az osztályzat megállapításának módja: Aki a félévközi eredményekkel kiváló eredményt ért el, megajánlott jelest kap: max(KZH1, KZH2) + max(KZH3, KZH4) + KZH5 + KZH6 + NZH + NHF + szorgalmi >= 90 pont.Vizsga esetén az érdemjegy meghatározásánál az alábbi pontszámokat vesszük figyelembe: 80 pont – vizsgadolgozat 2× súllyal (2×40 pont) 20 pont – nagy házi feladat Az érdemjegy: 0-39 pont: elégtelen, 40-54 pont: elégséges, 55-69 pont: közepes, 70-84 pont: jó, 85-100 p: jeles Pótlási lehetőségek: A jelenlét és a laborgyakorlatokon írt beugrók nem pótolhatóak. A kis zárthelyik félév közbeni pótlását az teszi lehetővé, hogy hatból csak a legjobb négyet vesszük figyelembe. Pótlási héten ezek már nem pótolhatóak. Nagy zárthelyi pótlására egy alkalommal a félév közben, és egy alkalommal a pótlási héten van lehetőség. A nagy házi feladat javítására vagy pótlására a szorgalmi időszak végéig (utolsó tanítási napon, 14.00 óráig), azon túl a nagy házi feladat nem adható be. Pótlás esetén különeljárási díj fizetendő. Javítani csak előzőleg már elfogadott megoldást lehet.
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Szorgalmi időszakban végzett teljesítményértékelések részaránya

Nincs megadva részarány.

Vizsgaidőszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Vizsgarészek részaránya

Nincs megadva részarány.

Érdemjegy megállapítása

Nincs megadva érdemjegy határ.

Jelenléti és részvételi követelmények

Nincs megadva jelenléti követelmény.

Javítás, ismétlés és pótlás különös szabályai

Nincs megadva.

Rövid leírás

Nincs megadva.

Részletes leírás

Nincs megadva.

Ajánlott tantárgyak

Nincs megadva.

A tantárgy elvégzéséhez szükséges tanulmányi munka

Nincs megadva munkaidő bontás.

Tantárgykövetelmények hatályossága
Tantárgykövetelmények hatályosságának kezdete:
Tantárgykövetelmények hatályosságának vége:
Tantervi elhelyezés

Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.