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