Tantárgy » BMEVIHIA107
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 | BMEVIHIA107 | ||||||||||||
| 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. Levendovszky Tihamér
beosztás: egyetemi docens
elérhetőség:
tihamer@aut.bme.hu
|
||||||||||||
| Tantárgyat gondozó oktatási szervezeti egység |
Hálózati Rendszerek és Szolgáltatások Tanszék
|
||||||||||||
| 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
C++ mint a C javított változata
- Az előző félévi anyag rendszerező összefoglalása.
- Makró (inline), konstans megvalósítás, típusértékű struct, és enum;
- prototípusok, alapértelmezett (default) argumentumok
- függvénynév túlterhelése (overload)
- 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
- memória allokáció, new, delete, new_handler, kivételkezelés
- névterek
Objektum-orientált programozás alapjai a C++ nyelv bemutatásával
- Objektum-orientált programozás alapfogalmai, elvei, objektum fogalma. Osztály, egységbezárás, védelem és információtakarás fogalma. Tagfüggvények típusai. Konstruktor, destruktor.
- Védelem enyhítése, friend mechanizmus. Adatok (objektumok) inicializálása, this pointer használata. Dinamikusan allokált mezővel rendelkező objektumok értékadása és inicializásása, másoló konstruktor. Operátorok túlterhelésének fogalma. Operátorok túlterhelésének megvalósítása 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ípuskonverziók. Többszörös öröklés. Virtuális alaposztály.
- Objektumok mint más objektumok attribútumai. Objektumtömbök.
- Generikus adatszerkezetek jelentősége. Dinamikus adatstruktúrák, generikus osztályok.
- Standard Template Library (STL) tárolók és algoritmusok
A tárgy alapvető célja, hogy alapozó tárgyként folytassa 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 laborok anyaga folyamatosan követi az előadások tematikáját, azok megértését, elmélyíté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
(előadás, gyakorlat, laboratórium):
Előadás, laboratórium
Tanulástámogató anyagok
Online források
Nyisztor Károly: Gyakorlati C++, Kossuth Kiadó, 2004B. W. Kernighan - D. M. Ritchie: A C programozási nyelv, Az ANSI szerint szabványosított változat, Műszaki Kiadó, 1996Kondorosi K., Szirmay-Kalos L.: Objektum-orientált szoftverfejlesztés, ComputerBooks, 1999Tóth Bertalan: Programozzunk C++ nyelven, ComputerBooks, 2003Benkő Tiborné, Benkő László: Programozási feladatok és algoritmusok Turbo C és C++ nyelven, ComputerBooks, 1997B. Stroustrup: The C++ programming language Addison-Wesley, 3rd Edition, 2000 /Bjarne Stroustrup: A C++ programozási nyelv, Kiskapu 2001
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. A szorgalmi időszakban:
(1) A folyamatos tananyagkövetést a laborgyakorlatokon íratott kis zárthelyikkel és feladatlapokal ellenőrizzük.
(2) Az ismeretek átfogó és részletes áttekintését a szorgalmi időszak alatt 1 alkalommal, az évfolyam terhelési táblázata szerinti időpontban íratott nagy zárthelyivel mérjük, valamint
(3) az ismeretek alkalmazását és készségszintű megértését elősegítő nagy házi feladatot adunk ki, amely átfogja a programtervezés, az algoritmizálás, tesztelés és dokumentálás valamennyi fázisát.
(4) 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év végi jegy kialakításánál veszünk figyelembe.
A félév elismerést jelentő félév végi jegy megszerzésére akkor van lehetőség, ha
ˇ a kis zárthelyik átlaga legalább elégséges (2-es),
ˇ a nagy házi feladat a kiírás szerint elkészült, a gyakorlatvezető személyesen átvette és elfogadta: (a) a hiánytalan dokumentációt, (b) az elkészített programot, melyet együtt ki is próbáltak,
ˇ a hallgató a programozási laborgyakorlatokat rendszeresen látogatta (hiányzása nem haladja meg a TVSz 13.§ (8) szerint megengedett mértéket).
A fenti 3 feltétel bármelyikének nem teljesülése esetén a félév végi jegy elégtelen /TVSz 13.§ (5a)/. Amennyiben a fenti 3 feltétel teljesül, a félév végi jegy kialakítása a következő:
A kis zárthelyik átlaga a 3 legjobb kis zárthelyi átlaga. Ha valaki 3-nál kevesebb kis zárthelyit írt, akkor a meg nem írt dolgozatok eredményét 0-nak tekintjük.
Az érdemjegy kialakítása a kis zárthelyik átlagának, a nagy házi feladatnak, illetve a nagy zárthelyinek a súlyozott átlaga, ahol a nagy zárthelyi kétszeres, a többi egyszeres súllyal számolandó.
Az így kialakult súlyozott átlagot a laborvezetők saját belátásuk szerint +/-1 jeggyel módosíthatják figyelembe véve a hallgatók laborfoglalkozásokon tanúsított folyamatos teljesítményét és a szorgalmi feladatokkal szerzett extra pontokat.
Pótlási lehetőségek:
Elégtelen nagy zárthelyi egyetlen alkalommal pótolható.Határidőre nem teljesített szorgalmi feladat nem pótolható.A nagy házi feladat pótlására – az oktatóval egyeztetett időpontban – a pótlási hét végéig (utolsó napon 12.00 óráig), különeljárási díj megfizetésével van mód, azon túl a nagy házi feladat nem pótolható. A pótlási héten már csak olyan feladatok és/vagy dokumentációk pótolhatók, melyek hiányosság vagy működési hiba miatt kerültek elutasításra.Elégtelen (pót)zárthelyi és/vagy elégtelen kis zárthelyi átlag esetén a félév végi jegy a pótlási héten – a TVSz 13.§ (5) előírási alapján – ismételt vizsga jelleggel, az egész félév anyagát felölelő beszámoló dolgozattal szerezhető meg abban az esetben, ha a házi feladat a pótlási hét végéig elfogadásra került.
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:
vihia106 A programozás alapjai I. c. tárgyból kredit pont megszerzése
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.