Tantárgy » BMEVIIIA114
A programozás alapjai 2.
Basics of Programming 2.
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 2.
Basics of Programming 2.
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tantárgykód | BMEVIIIA114 | ||||||||||||
| Tantárgyjelleg | — | ||||||||||||
| Képzési szint | — | ||||||||||||
| Kurzustípusok és óraszámok (heti/féléves) |
|
||||||||||||
| Tanulmányi teljesítmény/értékelés típusa | félévközi érdemjegy | ||||||||||||
| Tantárgy kreditértéke | 4 | ||||||||||||
| Tantárgyfelelős |
Dr. Szeberényi Imre
beosztás: egyetemi docens
elérhetőség:
szeberenyi.imre@vik.bme.hu
|
||||||||||||
| Tantárgyat gondozó oktatási szervezeti egység |
Irányítástechnika és Informatika Tanszék
|
||||||||||||
| Kar | Villamosmérnöki és Informatikai Kar | ||||||||||||
| Tantárgy weboldala | http://infocpp.iit.bme.hu/ | ||||||||||||
| 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
Fő témakörök:
- C++ nyelv származtatása a C-ből
- Makró (inline), konstans megvalósítás, típusértékű struct, enum; prototípusok, default argumentumok és függvény overload.
- Memória allokáció, new, delete, new_handler; referencia típus, függvény paraméterek és visszatérési érték, cin, cout, cerr objektumok; adatok láthatóság és érvényessége.
- Objektum-orientált programozás alapjai C++ környezetben.
- Objektum-orientált programozás alapfogalmai, elvei, objektum fogalma. Osztály, fogalma, egységbezárás, védelem és információtakarás.
- Tagfüggvények típusai, védelem enyhítése, friend mechanizmus. Konstruktor, destruktor, adatok (objektumok) inicializálása, this pointer használata.
- Operátorok értelmezésének kiterjesztése: operátor overload fogalma. Dinamikusan allokált mezővel rendelkező objektumok értékadása és inicializásása, másoló konstruktor.
- Operátorok értelmezésének kiterjesztése tagfüggvénnyel és friend mechanizmussal. Referencia típussal visszatérő függvény mint balérték (index operátor).
- Az öröklés szerepe az objektumorientált programozásban. Öröklés, származtatott osztály, alaposztály. Védelem öröklés alatt. Virtuális függvények, fordítási és késői összerendelés, inicializálás; többszörös öröklés. Virtuális alaposztály. Objektumok mint más objektumok attribútumai. Objektum tömbök.
- Generikus adatszerkezetek jelentősége. Dinamikus adatstruktúrák, generikus osztályok.
- Problémamegoldás objektum-orientált és nem objektum-orientált szemlélettel:
- Adat, algoritmus, program.
- Szoftverkészítés,
programfejlesztés.
- Strukturált tervezés, modularitás, dekompozíció.
- Funkcionális dekompozició, absztrakt adat, adat-orientált dekompozíció.
- Operációs rendszerek és fejlesztést támogató eszközök használatának alapvető ismerete.
A tárgy alapvető célja, hogy alapozó tárgyként folytassa a számítógépes problémamegoldás módszereinek és alapvető eszközeinek előző félévben megkezdett megismertetését olyan szinten, hogy azt a hallgatók további tanulmányaik során képesek legyenek hatékonyan alkalmazni. Ezen félév alapvető célkitűzése, hogy további gyakorlatokkal mélyítse a C programozási nyelv ismeretét, megismertesse a nagyméretű programozási feladatok megoldásának lépéseit, és bevezessen az objektum-orientált programozásba.
Célkitűzését a tárgy az előző félévben megszerzett C nyelvi tudásra alapozva, a C++ nyelv megismertetésével éri el. A gyakorlatok anyaga folyamatosan követi az előadások tematikáját, azok mélyebb megértését teszi lehetővé.
A tárghoz szorosan kapcsolódik a Szoftver labor 2 c. tárgy (VIIIA115), mely laborgyakorlatokkal segíti a megszerzet ismeretek elmélyítését.
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 20-30 fős hallgatói csoportok (tanulókörök) számára. Az előadáshoz és a tantermi gyakorlatokhoz a Szoftver laboratórium 2 című tárgy laborfoglalkozásai szorosan csatlakoznak.
Tanulástámogató anyagok
Online források
Bármely az objektum-orientált programozással és a C++ programozási nyelvvel foglalkozó könyv vagy jegyzet használható. Ajánlott irodalom:; Benedek Zoltán - Levendovszky Tihamér: Szoftverfejlesztés C++ nyelven (SZAK, 2007)B. Stroustrup: A C++ programozási nyelv (Kiskapu, 2001) Kondorosi Károly - László Zoltán - Szirmay-Kalos László: Objektum-orientált szoftverfejlesztés (CompuerBooks, 2004) Benkő Tiborné - Poppe András: "Együtt könnyebb a programozás" sorozat: Objektum-orientált 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)
A C programozási nyelv ismerete
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)
A C programozási nyelv ismerete
Általános szabályok
Követelmények:
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 íratunk.
A nagy zárthelyi dolgozaton túl a félév során legalább 5 db ellenőrző dolgozat megíratására is sor kerül. Az ellenőrző dolgozatokból a 3 legeredményesebb eredményének átlagát képezzük. Ha valaki 3-nál kevesebb ellenőrző dolgozatot írt, akkor a meg nem írt dolgozatok eredményét 0-nak tekintjük.
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 egy-egy extra pont szerezhető, amelyeket a félévközi jegy kialakításánál veszünk figyelembe.
A félévközi jegy megszerzésének feltétele:
legalább elégséges (pót)zárthelyi,
legalább elégséges ellenőrző dolgozat átlag (>2,00),valamint a gyakorlatokon való részvétel.
A hiányzások maximális mértéke - a TVSz előírásainak megfelelően - a gyakorlatokon 30%, az előadásokon 50%. A félévközi jegy a nagy zárthelyi osztályzatának és a 3 legjobb ellenőrző dolgozat átlagának súlyozott átlaga. A nagy zárthelyi eredményét 2-szeres súllyal, az ellenőrző dolgozatok átlagát pedig 1-szeres súllyal vesszük figyelembe. Az így kialakult érték +/-1 jeggyel korrigálható figyelembe véve a szorgalmi feladatokkal szerzett extra pontokat és a gyakorlatokon nyújtott folyamatos teljesítményt.
Pótlási lehetőségek:
Elégtelen nagy zárthelyi egyetlen alkalommal alanyi jogon pótolható.
Elmaradt ellenőrző dolgozat, illetve határidőre nem teljesített szorgalmi feladat nem pótolható, azokat 0 értékkel vesszük figyelembe.
A félév végén az elégtelen (pót)zárthelyi vagy az elégtelen ellenőrző dolgozatátlag a pótlási héten - különeljárási díj megfizetése mellett - egyetlen alkalommal pótolható. A TVSz 16.§ (3) rendelkezése értelmében a félévközi jegy megszerzéséhez szükséges két jegy közül csak az egyik (zárthelyi vagy az ellenőrző dolgozatok átlaga) pótolható.
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
A kötelező előtanulmányi rend alapján a tárgyat csak azok vehetik fel, akik az alábbi követelmények valamelyikét teljesítik:
VIEEA110 Programozás alapjai 1 c. tárgyból kredit pontot szerzettVIEE1239 Programozás alapjai I c. tárgyból kredit pontot szerzettVIMH1506 Programmplanung I.c. tárgyból kredit pontot szerzett
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.