Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Szoftver laboratórium 2.

    A tantárgy angol neve: Software Laboratory 2.

    Adatlap utolsó módosítása: 2012. február 10.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar
    mérnök-informatikus szak, BSc. alaptárgy
    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIIIA115   0/0/2/f 2  
    3. A tantárgyfelelős személy és tanszék Dr. Szeberényi Imre,
    A tantárgy tanszéki weboldala http://infocpp.iit.bme.hu/
    4. A tantárgy előadója
    Dr. Szeberényi Imreegyetemi docensIIT
    5. A tantárgy az alábbi témakörök ismeretére épít A C programozási nyelv ismerete
    6. Előtanulmányi rend
    Kötelező:
    (TárgyEredmény( "BMEVIEEA112" , "jegy" , _ ) >= 2
    VAGY TárgyEredmény( "BMEVIIIA114" , "jegy" , _ ) >= 2 )

    ÉS NEM (TárgyEredmény( "BMEVIIIAA00" , "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIIIAA00", "FELVETEL", AktualisFelev()) > 0
    VAGY
    TárgyEredmény( "BMEVIIIAA03" , "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIIIAA03", "FELVETEL", AktualisFelev()) > 0)


    ÉS Training.Code=("5N-A8")
    VAGY Training.Code=("5N-MGAIN")

    A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

    A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

    Ajánlott:

    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:

    • VIIIA112 Programozás alapjai 2 c. tárgyból kredit pontot szerzett, vagy azt az aktuális félévben felvette
    • VIEEA112 Programozás alapjai II c. tárgyból kredit pontot szerzett
    • VIEE1240 Programozás alapjai II c. tárgyból kredit pontot szerzett
    • VIMH1507 Programmplanung II.c. tárgyból kredit pontot szerzett
    7. A tantárgy célkitűzése A tantárgy célkitűzése, hogy a hallgatók megfelelő gyakorlati jártasságot szerezzenek a Programozás alapjai 2 c. tárgy előadásain és tantermi gyakorlatain megismert módszerek kipróbálása és begyakorlása által, annak érdekében, hogy a megszerzett ismereteket további tanulmányaik során hatékonyan, készség szinten képesek legyenek alkalmazni az objektum-orientált programok C++ nyelven történő megvalósítása során. A laborgyakorlatok kiemelt célja, hogy a megismert fejlesztőeszközök és fejlesztőkörnyezet használatát begyakoroltassa.

    Az anyag jobb elsajátítása érdekében a hallgatóknak több kisebb és egy nagyobb házi feladatot is meg kell oldaniuk.

    8. A tantárgy részletes tematikája
    • Fejlesztési környezet megismerése, gyakorlás. Modulok, könyvtárak használata, készítése. 
    • Függvény overload gyakorlása. Default argumentumok gyakorlása.
    • Referencia típus gyakorlása. Konstansok.
    • Előkészületek az objektumok és osztályok megértéséhez: (pl. dinamikus adatot tartalmazó struktúra és hozzá tartozó globális függvények elkészítése).
    • Előkészített struktúrából osztály létrehozása. Egységbezárás hatásának bemutatása.
    • Osztályok és tagfüggvényeik (konstruktorok, destruktor, operatorok) gyakorlása. Kivételkezelés bevezetése. Házi feladat kiadása.
    • Tárolók létrehozása, gyakorlás.
    • Öröklés különböző módjainak és hatásainak gyakorlása.
    • Virtuális tagfüggvények.
    • Mutató konverzió. Heterogén kollekció.
    • Többszörös öröklés gyakorlása. Egyszerű példák a perzisztencia megvalósítására.
    • Generikus szerkezetek, generikus algoritmusok.
    • Iterátorok használata és szerepe. Alapvető STL fogalmak,  STL tárolók gyakorlása.
    • Házi feladatok ellenőrzése, beszedése.
    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

    A tárgyból számítógépes laboratóriumi foglalkozásokat tartunk a Hallgatói Számítóközpont (HSZK) termeiben részben MS Windows *, részben UNIX környezetben, az órarend szerinti időpontokban, kiscsoportos (12-20 fős) oktatással. A laborgyakorlatok szorosan egymásra épülnek. Több alkalommal a megelőző gyakorlaton megkezdett feladatot, vagy a tantárgyhoz kapcsolódő weblapról letölthető programvázat kell felhasználni. 

    10. Követelmények

    A laboratóriumi foglalkozásokon való megjelenés kötelező, az elmulasztott laborgyakorlatok nem pótolhatók.

    A foglalkozások anyaga szorosan kapcsolódik a Programozás alapjai (VIIIA114) c. tárgy megelőző heti anyagaihoz, melyek tárgyhoz kapcsolódó weblapon elérhetők. Azok ismerete, folyamatos követése a laborgyakorlatok sikeres elvégzésének előfeltétele.

    A laboratóriumi foglalkozások előtt a laborvezetőknek lehetősége van a hallgatók felkészülését ellenőrizni. Elégtelen felkészülés esetén a hallgató laborgyakorlatot nem folytathatja. Az adott alkalom mulasztott laborgyakorlatnak számít.

    A félév során legalább 5 előre meghirdetett alkalommal ellenőrző dolgozatot íratnak a laborvezetők. 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.

    Az ellenőrző dolgozatokon kívül minden hallgatónak egy nagy házi feladatot is meg kell oldania. A nagy házi feladatokat a terhelési táblázat szerint a 6. héten adjuk ki, és a 13. héten kell beadni a megoldásokat. A megoldások pótlólagos beadására – a laborvezető 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.

    A felkészülést ill. a gyakorlást a laborvezetők ún. kis házi feladatok kiadásával is segítik. Ezek megoldása nem kötelező, határidő után nem pótolhatók, ugyanakkor alkalmasak a hallgatói aktivitás mérésére.

    A félév elismerést jelentő félévközi jegy megszerzésére a következők együttes teljesülésekor van lehetőség:

    • az ellenőrző dolgozatok átlaga legalább elégséges (>2,00), és
    • a nagy házi feladat a kiírás szerint elkészült, a laborvezető személyesen átvette, ellenőrizte és elfogadta a hiánytalan dokumentációt és 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 szerint megengedett 30%-os mértéket).

    A fenti 3 feltétel bármelyikének nem teljesülése esetén a félévközi jegy elégtelen ill. a tárgyat a hallgató nem teljesítette.

    A félévközi jegy kiszámításának módja a következő: A 3 legjobb ellenőrző dolgozat osztályzatának átlaga és a nagy házi feladatra kapott osztályzat számtani közepe határozza meg a jegyet, amelyet +/- 1 jeggyel módosíthat a laborvezető a hallgató laborgyakorlatokon tanúsított felkészültsége, teljesítménye és aktivitása (pl. kis feladatok) alapján.

    11. Pótlási lehetőségek

    Az ellenőrző dolgozatok, kis házi feladatok és az elmulasztott laborgyakorlatok nem pótolhatók.

    A nagy házi feladat pótlására – a laborvezető 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.

    12. Konzultációs lehetőségek Konzultációra a laborfoglalkozások alkalmával, illetve a laborvezetőkkel történő külön megbeszélés alapján van lehetőség.
    13. Jegyzet, tankönyv, felhasználható irodalom 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)
    • Benedek Zoltán - Levendovszky Tihamér: Szoftverfejlesztés C++ nyelven (SZAK, 2007)
    • Nyisztor Károly: Gyakorlati C++, Kossuth Kiadó, 2004
    • 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)
    • UNIX – A rendszer használata - Szeberényi Imre, Ketler Iván, Szigeti Szabolcs (PANEM 2004)
    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra28
    Félévközi készülés órákra-
    Felkészülés zárthelyire-
    Félévközi készülés órákra, ellenőrző feladatokra10
    Házi feladat elkészítése22
    Vizsgafelkészülés-
    Összesen60
    15. A tantárgy tematikáját kidolgozta
    Dr. Szeberényi Imreegyetemi docensIIT
    Dr. Poppe Andrásegyetemi docensEET
    Dr. Levendovszky Tihamér adjunktusAUT