K-INFO
HU
EN
Belépés

A programozás alapjai 2.

Basics of Programming 2.
A tantárgyleírás hatályossága
Hatályosság kezdete:
Hatályosság vége:
Tantárgy neve (magyarul, angolul)
A programozás alapjai 2.
Basics of Programming 2.
Tantárgykód BMEVIEEA112
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 félévközi érdemjegy
Tantárgy kreditértéke 4
Tantárgyfelelős
Dr. Szeberényi Imre
beosztás: egyetemi docens
Tantárgyat gondozó oktatási szervezeti egység
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++ 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 a C++ által
    • 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.
    • Az STL és fontosabb osztályai
  • Alapvető operációs rendszer ismeretek és fejlesztést támogató eszközök
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é.

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): 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. Jelen tárgy keretén belül az elméleti ismeretek kerülnek előadásra.

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:; B. Stroustrup: A C++ programozási nyelv (Kiskapu, 2001) Tóth Bertalan: Programozzunk C++ nyelven (ComputerBooks, 2003) Kondorosi Károly - László Zoltán - Szirmay-Kalos László: Objektum-orientált szoftverfejlesztés C és C++ nyelven (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. 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 íratunk. A nagy zárthelyi dolgozaton túl a félév során legalább 3 ellenőrző dolgozat megíratására is sor kerül. Az ellenőrző dolgozatokból a 3 legeredményesebb eredményének az á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év végi jegy kialakításánál veszünk figyelembe. A félév végi jegy megszerzésének feltétele legalább elégséges (pót)zárthelyi, legalább elégséges ellenőrző dolgozat átlag, valamint a gyakorlatokon való részvétel. A hiányzások mértékét a TVSz 13.§ (8) rögzíti. A félév végi 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éket a gyakorlatvezető +/-1 jeggyel korrigálhatja 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 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. Elégtelen (pót)zárthelyi és/vagy elégtelen ellenőrző dolgozatátlag esetén a félév végi jegy a pótlási héten – a TVSz 13.§ (5) előírásai alapján – ismételt vizsga jelleggel, az egész félév anyagát felölelő beszámoló dolgozattal szerezhető meg.
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 tárgyat csak azok vehetik fel, akik korábban a következő tárgyakat hallgatták: VIEEA100 Programozás alapjai 1 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.