K-INFO
HU
EN
Belépés

Programozás 2

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)
Programozás 2
Programming 2
Tantárgykód BMEVIEEA026
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 2
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. Pohl 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

1. hét:  Áttekintés, C ismétlés, függvényhívás menete, const, make, profiling célja és lehetőségei.

2. hét: Számábrázolási kérdések szimulációkban, pontatlanság, instabilitás, inf, NaN, különböző valós típusok, illeszkedő függvényváltozatok.

3. hét: Függvény overload, alapértelmezett (default) argumentumok, makrók kiváltása inline függvénnyel, referenciatípus, dinamikus memóriakezelés: new, new[], delete, delete[].

4. hét: Objektum-orientált programozás alapfogalmai, elvei, objektum, osztály, tagváltozók és tagfüggvények, a this pointer, egységbezárás, láthatóság és adatrejtés (komplex szám osztály).

5. hét: Konstruktorok és destruktor, kivételkezelés, operátor overload tagfüggvénnyel és globális függvénnyel (racionális szám osztály).

6. hét: Dinamikus adattaggal rendelkező osztályok, másoló konstruktor, értékadó operátor, destruktor. (vektor és mátrix osztály)

7. hét: Tagváltozók inicializálása, konstans és statikus tagok, névterek, C++-os I/O, >> és << operátorok overload-ja.

8. hét: Standard Template Library (STL) vector használata, alkalmazási példák, vector és egyszerű C tömb viselkedése mint paraméter/visszatérési érték.

9. hét: STL string, vector algoritmusok (find, sort, transform, accumulate ...), további alkalmazási példák.

10. hét: Függvény- és osztálysablonok.

11. hét: Öröklés I. Célok, származtatott osztály, alaposztály, láthatóság, konstruktorok/ destruktorok.

12. hét: Öröklés II. Virtuális függvények, absztrakt osztályok, virtuális destruktor, heterogén kollekció.

13. hét: Kitekintés, a C++11 néhány érdekesebb eleme.

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, hasonlóan gyakorlatias felfogásban, 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 az objektum-orientált programozás alapvető elveinek, és gyakorlati alkalmazásának elsajátítása, amit a C++ nyelv megismertetésével ér el, kifejezetten a fizikus hallgatók igényeihez szabva. 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

A tárgy heti kétórás előadásból és heti kétórás számítógépes laboratóriumi gyakorlatból áll. A laborgyakorlat célja az előadáson elmondottak elmélyítése, gyakorlati kipróbálása, objektumorientált programozási szemlélet kialakítása.

Tanulástámogató anyagok

Online források
Jegyzet (nyomtatott):;   Benedek Zoltán, Levendovszky Tihamér:; Szoftverfejlesztés C++ nyelven, SZAK kiadó, 2007; Elektronikusan elérhető segédanyag:; Kondorosi; Károly, Szirmay-Kalos László, László Zoltán, Objektum orientált; szoftverfejlesztés, 6. fejezet (http://www.tankonyvtar.hu/hu/tartalom/tkt/objektum-orientalt/adatok.html) ; Ajánlott irodalom haladóknak:; B.; Stroustrup: The C++ programming language Addison-Wesley, 3rd Edition, 2000; /Bjarne Stroustrup: A C++ programozási nyelv, Kiskapu, 2001Andrei; Alexandrescu, Herb Sutter: C++ kódolási szabályok, Kiskapu, 2005Scott; Meyers: Hatékony C++, 50 jó tanács programjaink és programterveink; javítására, SCOLAR KFT, 2003

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 heti 1 alkalommal 2 órás előadást és 2 órás laborgyakorlatokat tartunk. A laborgyakorlatokon a megjelenés kötelező, a részvételt minden alkalommal ellenőrizzük. A laborgyakorlatokon a felkészültséget ún. beugróval ellenőrizhetjük, amelynek anyaga az adott labor előadáson már bemutatott anyagával kapcsolatos. A beugró lehet teszt, házi feladat vagy órai feladat is. Az elégtelen felkészültség mulasztott laboralkalomnak számít. A félév során a laborgyakorlatok alkalmával 5 kis zárthelyit íratunk “röp-zh” jelleggel. Ezeknek a pótlására nincs lehetőség, az elmulasztott kis zh-k eredményét 0-nak tekintjük. A három legeredményesebb kiszh átlaga számít. A félév során a dékáni hivatal ütemezése szerinti időpontban egy nagy zárthelyi dolgozatot íratunk. A nagy zárthelyi dolgozat megírása kötelező. A nagy zárthelyi dolgozat megírására 1 pótlási lehetőséget biztosítunk a pótlási időszak végéig. Főszabály szerint további pótlási lehetőség nincs. A félév 6. hetében nagy házi feladat kiadására kerül sor a laborgyakorlatok alkalmával. A feladat beadása a szorgalmi időszak utolsó hetében, a laborgyakorlaton esedékes. Késedelmes feladatbeadás a pótlási időszak szerdáig lehetséges különeljárási díj megfizetése mellett.   A félév elfogadásának és a félév végi jegy megadásának a feltétele: Aláírást az kaphat, ·    aki a laborgyakorlatokról nem hiányzott többet, mint a TVSZ-ben meghatározott mérték (30%), ·    akinek a 3 legjobb kis zárthelyi dolgozat eredményéből számított átlaga legalább elégséges, ·    aki legalább elégséges osztályzatot szerzett a nagy zárthelyi dolgozatával, és ·       aki a szorgalmi időszakon belül beadta a nagy házi feladatát és arra legalább elégséges osztályzatot kapott.   Félévközi jegyet az szerezhet, aki aláírást is szerzett. A félévközi jegy mind a kis zh-k, mind a nagy zh, mind a nagy házi feladat eredményétől függ, a következők szerint:   ·    nagy zh eredménye:                                 35%    súllyal, ·    a 3 legjobb kis zh átlaga:                         35%    súllyal, ·       a nagy házi feladatra kapott osztályzat: 30%    súllyal.     Az így kialakuló osztályzatot a gyakorlatvezetők a hallgatóknak a laborfoglalkozásokon tanúsított aktivitása alapján, saját belátásuk szerint +/– 0.5 jeggyel módosíthatják.  Pótlási lehetőségek: A nagy zárthelyi dolgozat megírására 1 pótlási lehetőséget biztosítunk a pótlási időszak végéig. Főszabály szerint további pótlási lehetőség nincs. Laborgyakorlaton való részvétel valamint a kis ZH-k pótlására nincs lehetőség.   Házi feladat késedelmes beadása a pótlási időszak szerdáig lehetséges különeljárási díj megfizetése mellett. 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. A pótlások általános szabályai tekintetében az aktuális TVSZ az irányadó.
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
Kötelező: vieea024 Programozás c. tárgyból kreditpont megszerzése. Viiia114 A programozás alapjai 2, Viaua116 A programozás alapjai 2, VIIIAA00 A programozás alapjai 2, VIAUAA00 tárgyakból megszerzett kredit kizárja a tárgyfelvételt.
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.