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 Labor 2.

    A tantárgy angol neve: Software Laboratory 2.

    Adatlap utolsó módosítása: 2006. július 1.

    Tantárgy lejárati dátuma: 2007. január 31.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar

    Mérnök-informatikus Szak

    első ciklus

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIEEA113 2 2/0/0/f 2 2/2
    4. A tantárgy előadója

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Szeberényi Imre

    egyetemi docens

    IIT

    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( "BMEVIEEA112" , "felvétel" , _ ) >0
    VAGY TárgyEredmény( "BMEVIEE1240" , "jegy" , _ ) >= 2
    VAGY TárgyEredmény( "BMEVIIIA114" , "jegy" , _ ) >= 2
    VAGY TárgyEredmény( "BMEVIIIA114" , "felvétel" , _ ) >0
    VAGY TárgyEredmény( "BMEVIMH1507" , "jegy" , _ ) >= 2

    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 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

    VIEEA101 Szoftver labor 1 c. tárgyból kredit pont megszerzése

    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 által, annak érdekében, hogy a megszerzett ismereteket további tanulmányaik során hatékonyan, készség szinten legyenek képesek alkalmazni objektum-orientált programok C++ nyelven történő megvalósítása során.

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

    8. A tantárgy részletes tematikája
    • Overload gyakorlása (dátum kiírása sztringből, speciális dátum struktúrából). Default argumentumok (dátum struktúra inicializálása alapértelmezésben a mai napra)
    • Dátum struktúra beolvasása cin-ről. Dátum struktúra formázott kiíratása cout-ra. Referencia gyakorlása: függvény, ami a paraméterben megkapott dátum struktúrát beállítja az aktuális időre.
    • Előkészületek az objektumok és osztályok megértéséhez: stack struktúra és hozzá tartozó globális függvények, melyek megkapják a stack struktúrát.
    • A Dátum struktúrából Dátum osztály.
    • Téglalap és Pont osztály készítése. Dinamikusan létrehozott tömb Pont objektumokból. Exception a függvényekből való hibajelzésre (pl. Point létrehozása érvénytelen pozícióban, vagy mozgatása érvénytelen területre). Házi feladat kiadása.
    • Stack osztály elkészítése.
    • Complex osztály.
    • Lista különböző típusú objektumokból (pl. különböző árucikkek közös listában).
    • Az előző példa folytatása (közös attribútum: alapár; árucikk kategóriánként különböző eladási ár számítása virtuális függvényekkel)
    • Többszörös öröklés: Comparable absztrakt ős bevezetése.
    • Egy többlevelű Composite tervezési mintának megfelelő osztálystruktúra implementálása
    • Házi feladat beszedése.
    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

    (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 IBM-PC, részben UNIX környezetben, az órarend szerinti időpontokban, kiscsoportos (12-20 fős) oktatással.

    10. Követelmények

    a. A szorgalmi időszakban:

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

    A félév során legalább 3 ellenőrző dolgozatot íratnak a gyakorlatvezetők az általuk optimálisnak tartott ütemezés szerint. 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 ellenőrző dolgozatokon kívül minden hallgatónak egy nagy házi feladatot kell megoldania. 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 – 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.

    A félév elismerést jelentő félév végi jegy megszerzésére akkor van lehetőség, ha

    ˇ az ellenőrző dolgozatok á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)/. A félév végi 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 gyakorlatvezető a hallgató laborgyakorlatokon tanúsított teljesítménye alapján.

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

    Az ellenőrző dolgozatok nem pótolhatók.

    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.

    12. Konzultációs lehetőségek

    Konzultációra a laborfoglalkozások alkalmával, illetve a laboratóriumi gyakorlatvezető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)
    • 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)
    • 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 óra

    28

    Félévközi készülés órákra, ellenőrző feladatokra

    10

    Házi feladat elkészítése

    22

    Összesen

    60

    15. A tantárgy tematikáját kidolgozta

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Poppe András

    egyetemi docens

    EET

    Dr. Vajk István

    egyetemi docens

    AUT

    Dr. Szeberényi Imre

    egyetemi docens

    IIT