K-INFO
HU
EN
Belépés

A programozás alapjai 1.

Basics of Programming 1.
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 1.
Basics of Programming 1.
Tantárgykód BMEVIEEA100
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 2 0
jelleg (kapcsolt/önálló) — kapcsolt —
Tanulmányi teljesítmény/értékelés típusa vizsga
Tantárgy kreditértéke 5
Tantárgyfelelős
Dr. Czirkos Zoltán
beosztás: adjunktus
Tantárgyat gondozó oktatási szervezeti egység
Elektronikus Eszközök Tanszéke
Kar Villamosmérnöki és Informatikai Kar
Tantárgy weboldala http://www.eet.bme.hu/vieea100/
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

1. hét.

Előadás: Bevezetés. Programozás fogalma. Kifejezések és változók, típus fogalma. C nyelv alapjai. Egyszerű kifejezések a programban.

Gyakorlat: Hétköznapi algoritmusok. Folyamatábraszerű rajz készítése közismert algoritmusokhoz (pl. írásbeli összeadás, prímtényezős felbontás).

2. hét.

Előadás: Forráskódok elemei. Algoritmus fogalma, leírása. Ciklus, elágazás, szekvencia. Kombináció. Összetett vezérlési szerkezetek, összetett kifejezések. Számítógép felépítése röviden.

Gyakorlat: Algoritmizálás gyakorlása a kártyapakli példáján. Benne van-e az adott kártya? Melyik a leg...? Hogyan lehet sorba rakni?

3. hét.

Előadás: Egyszerű algoritmusok pszeudokód / C változatai. Összegzés, szélsőérték keresés tételei. Egész alapú típusok. Karakter és logikai típus. Tömbök.

Gyakorlat: Algoritmusok leírása C nyelven. Számelméleti példák. Másodfokú egyenlet. Numerikus módszerek, pl. pi kiszámítása ciklussal. Prímszám-e több változatban. Tükörszám.

 

4. hét.

Előadás: Beépített típusok részletesen. Véges ábrázolás. Egész és lebegőpontos számok ábrázolása, számábrázolási korlátok. Függvények fogalma, használata.

Gyakorlat: Tömbbel megoldható feladatok gyakorlása. Naptár napjai, szökőévek. Eratoszthenész szitája. Bankautomata.

 

5. hét.

Előadás: Operátorok. Precedencia, kiértékelés, mellékhatás. Struktúrák.

Gyakorlat: Összetett problémák, dekompozíció. Függvények használata; paraméterek és visszatérési értékek. Egyszerű, matematikai jellegű függvények írása. Saját toupper, Caesar kódolás.

 

6. hét.

Előadás: Felsorolt típus. Állapotgép. Pointerek. Sztringek röviden.

Gyakorlat: Struktúrák. 3D vektor struktúra. Műveletek, függvények. Többszörösen összetett adatok. Struktúrában tömb, tömbben struktúra.

 

7. hét.

Előadás: Program kapcsolata a külvilággal. Előfeldolgozó. Programszegmentálás. Karbantartható programok írása. Const szerepe.

Gyakorlat: Tömbök és függvények használata, tömb átadása függvénynek. Sztringes feladatok. Szöveg megfordító, palindrom. Sztring átadása függvénynek. Tömbméret és sztringhossz közti különbség. Túlindexelés veszélye.

 

8. hét.

Előadás: Tömbi algoritmusok. Keresések. Rendezések.

Gyakorlat: Állapotgépek tervezése példákon keresztül; részletek implementálása. Ly számláló, mondat nagybetűsítő, kommentszűrő.

 

9. hét.

Előadás: Dinamikus memóriakezelés. Dinamikus tömbök. Dinamikus sztring kódolása. Memóriakezelés rendszerező tárgyalása.

Gyakorlat: Tömb rendezése. Medián keresése. N legkisebb elem. Egyforma elemek intervalluma. Rendezés kulcsai. Kártyapakli: tömbben struktúra; rendezés szín szerint, rendezés römiszerűen.

 

10. hét.

Előadás: Dinamikus adatszerkezet: láncolt listák. Listák használata. Bejárás, törlés, beszúrás. Listával megvalósítható adatszerkezetek: LIFO, FIFO.

Gyakorlat: Komplett halmaz "osztály" kódolása. Munka dinamikus tömbbel. Méret nyilvántartása, keresés, átméretezés. Munka struktúrákra mutató pointerekkel.

 

11. hét.

Előadás: Rekurzió, dinamikus adatszerkezetek. Fák, bináris fák használata. Keresőfák, dekódoló fák. Fák bejárásai.

Gyakorlat: Adatszerkezetek választása. Listák használata; elemek átláncolása.

 

12. hét.

Előadás: Függvényre mutató pointerek. Függvénykirajzoló program tervezése. Unionok, bitmezők.

Gyakorlat: Rekurzív függvények gyakorlása. Fák algoritmusai. Csomópontok, szintek, levelek. Tükörképek, szimmetrikus fa vizsgálata.

 

13. hét.

Előadás: További adatszerkezetek. Nagyobb programok tervezése. Funkcionális

dekompozíció bemutatása egy komplex példán.

Gyakorlat: Függvényre pointerek. Numerikus integrálás.

 

14. hét.

Tartalék előadás.

Gyakorlat: vizsgára gyakorlás.

 

A tantárgy célkitűzése, hogy a hallgatók megfelelő jártasságot szerezzenek a számítógépes problémamegoldás módszereinek és alapvető eszközeinek használatában annak érdekében, hogy a megszerzett ismereteket és készségeket további tanulmányaik során hatékonyan legyenek képesek alkalmazni. A tárgy további célkitűzése a hordozható programok készítésének bemutatása. A célkitűzés teljesítését egy magas szintű programozási nyelv, a C megismerése teszi lehetővé. A gyakorlatok anyaga folyamatosan követi az előadások tematikáját, azok megértését, az algoritmusok részletes megismerését támogatja.  

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 1 alkalommal 2 órás előadást tartunk a teljes évfolyamnak és heti 2 óra tantermi gyakorlatot tartunk 30-35 fős hallgatói csoportok (tanulókörök) számára. Az előadáshoz és a tantermi gyakorlatokhoz a Szoftver labor 1 című tárgy laborfoglalkozásai szorosan csatlakoznak. Jelen tárgy keretén belül az elméleti ismeretek kerülnek előadásra

Tanulástámogató anyagok

Online források
Pohl László: A programozás alapjai, elektronikus jegyzet, mely letölthető a tárgy honlapjáról.;  ; Továbbá bármely, programozási módszerekkel és az ISO C programozási nyelvvel foglalkozó könyv vagy jegyzet használható.; Ajánlott irodalom:; Alap algoritmusok tekintetében:; Pongor György: Szabványos PASCAL programozás és algoritmusok. (Műszaki Könyvkiadó, 1999); Niklaus Wirth: Algoritmusok + Adatstruktúrák = Programok (Műszaki Könyvkiadó 1982.); A C programozási nyelv tekintetében: bármely, a nyelvvel foglalkozó könyv, például:; B. W. Kernighan, Ritchie: A C programozási nyelv: az ANSI szerint szabványosított változat (Műszaki Könyvkiadó, 1994); Benkő Tiborné, Benkő László, Tóth Bertalan: Programozzunk C nyelven! (ComputerBooks, 1996); Benkő Tiborné - Poppe András: "Együtt könnyebb a programozás" sorozat: C (CompuerBooks, 2004)

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)
-
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)
-
Általános szabályok
Követelmények: Az előadások és a gyakorlatok látogatása kötelező. Az előadásokon a jelenlétet azok kezdetén és végén is a félév folyamán minden alkalommal ellenőrizzük, aláírást nem kaphat az a hallgató, aki ezek alapján az alkalmak több, mint 30%-áról hiányzott (a viszonyítási alap a ténylegesen megtartott előadások száma). A gyakorlatokon a jelenlétet minden alkalommal ellenőrizzük, 30%-ot meghaladó hiányzás esetén a tantárgyból sem aláírás sem kreditpont nem szerezhető. a. A szorgalmi időszakban: A tárgyból hetente 2 óra előadást és 2 óra tantermi gyakorlatot tartunk az órarend szerinti helyeken és időben. A szorgalmi időszak alatt 1 alkalommal, az évfolyam terhelési táblázata szerinti időpontban nagy zárthelyi dolgozatot iratunk. A félév végi aláírás megszerzésének egyik feltétele az elégséges (pót)zárthelyi. A félév során öt alkalommal kis zárthelyit íratunk a gyakorlatokon. Az aláírás megszerzésének második feltétele, hogy a három legjobban sikerült kis zárthelyi összpontszáma elérje a három kis zárthelyire szerezhető összpontszám 40%-át. Az aláírás megszerzésének harmadik feltétele az órákon való részvétel. A hiányzások mértékét a TVSz rögzíti. A korábban ebből a tárgyból megszerzett, 2 évnél nem régebbi aláírást elfogadjuk. A kis és nagy ZH-kon legkiválóbban teljesítő hallgatók megajánlott jegyet kaphatnak. b. A vizsgaidőszakban: A tárgyból a félév befejeztével írásbeli vizsgát kell tenni. A vizsgára bocsátás feltétele az aláírás megszerzése. c. Elővizsga: A pótlási héten elővizsgát tartunk. Az elővizsgán annyian vehetnek részt, ahány vizsgahely a vizsgateremben rendelkezésre áll, a részvétel feltétele a zh-n elért megfelelően magas pontszám. Pótlási lehetőségek: A szorgalmi időszakban egy alkalommal pót zárthelyi dolgozat megírására van lehetőség, az évfolyam terhelési táblázata szerinti időpontban. Pót zárthelyi dolgozatot annak kell írnia, aki nem írt elégséges eredményű zárthelyi dolgozatot. A zárthelyi pótlására a TVSz előírásainak megfelelően a pótlási héten is biztosítunk lehetőséget. Gyakorlaton való részvétel valamint a kis ZH-k pótlására nincs lehetőség.  
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
Tematikaütközés miatt a tárgyat csak azok vehetik fel, akik korábban nem hallgatták a következő tárgyakat:   Neptun-kód       Cím   -                         -  
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.