Számítógép-laboratórium II.

A tantárgy angol neve: Computers Laboratory II.

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

Tantárgy lejárati dátuma: 2013. június 30.

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

Műszaki Informatika Szak

Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIEE1237 2 2/0/0/f 3 2/2
3. A tantárgyfelelős személy és tanszék Dr. Poppe András,
4. A tantárgy előadója

Név:

Beosztás:

Tanszék, Int.:

Dr. Poppe András

egyetemi docens

EET

Vitéz András

egyetemi adjunktus

HIT

Dr. Szeberényi Imre

főtanácsos

IIT

Dr. Vajk István

egyetemi docens

AUT

A tantárgy előadója évente változik a tanszékek közötti munkamegosztásnak megfelelően. 2004-ben az előadó Szeberényi Imre.

5. A tantárgy az alábbi témakörök ismeretére épít

A Programozás alapjai I-II. c. tárgy során megszerzett elméleti ismeretekre, illetőleg az e tárgyból az előző félévben megszerzett gyakorlati ismeretekre épít.

6. Előtanulmányi rend
Kötelező:
TárgyEredmény( "BMEVIEE1227" , "jegy" , _ ) >= 2
VAGY TárgyEredmény( "BMEVIEE1227" , "felvétel" , _ ) >0
VAGY TárgyEredmény( "BMEVIMH1507" , "jegy" , _ ) >= 2
VAGY TárgyEredmény( "BMEVIEE1240" , "jegy" , _ ) >= 2
VAGY TárgyEredmény( "BMEVIEE1240" , "felvétel" , _ ) >0
VAGY TárgyEredmény( "BMEVIMH1507" , "felvétel" , _ ) >0 VAGY
NEM ( TárgyEredmény( ahol a TárgyKód = "BMEVIEE1237", ahol a Típus = "JEGY", ahol a Ciklus = tetszőleges, ahol a KépzésKód = tetszőleges) >= 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:

Számítógép labor 1. félév (kötelező)
Programozás alapjai 1. félév (kötelező)

Tematikaütközés miatt a tárgyat csak azok vehetik fel, akik korábban nem hallgatták a következő tárgyakat:

-

7. A tantárgy célkitűzése

A tantárgy célja a Programozás alapjai c. tárgy keretén belül megszerzett elméleti ismeretek gyakorlati alkalmazása. A hallgatóknak megfelelő jártasságot kell szerezniük a C/C++ nyelv alkalmazásában, a hordozható forrásnyelvi programok készítésében. A tantárgy keretein belül a megismerkednek a grafikus alkalmazások készítésének legalapvetőbb fogásaival.
A hordozható programok írása kapcsán a hallgatókat megismertetjük egy munkaállomásokon leterjedten használt operációs rendszer (UNIX) felhasználói felületével, valamint az egyetemi számítógépes hálózat használatával.

8. A tantárgy részletes tematikája

Az egyes laborfoglalkozásokon konkrétan megoldandó programozási feladatok a Programozás Alapjai c. tantárgy előadásaihoz igazodnak, a tárgy előadójának az útmutatásai alapján. Az alábbi időbeosztás csak tájékoztató jellegű.

1. hét

A UNIX operációs rendszer felépítése, védelmi és állományrendszere.
Az alapvető Unix parancsok az állományrendszerhez kapcsolódóan (cd, ls, rm, mv, mkdir, man, cat).
Shell feladata. Állomány- és paraméterhelyettesítés, B/K átirányítás.

2. hét:

Szűrők és más segédprogramok jelentősége a UNIX-ban.
Reguláris kifejezések.
Editorok rövid bemutatása (vi, ed, sed, emacs, pico).
Egy egyszerű C program lefordítása és kipróbálása. hftest program bemutatása, kipróbálása.

3. hét

Shell programozási alapok. Legfontosabb környezeti változók jelentése, kényelmi beállítások.
Szkriptek jelentősége. Egyszerű szkriptek írása. Vezérlési szerkezetek a shell-ben (while, for, if, switch).

4. hét

UNIX grafikus felhasználói felülete, általános alapelvek. Window managerek szerepe.
Programfejlesztést támogató eszközök (make, gdb, ddd) megismerése, kipróbálása.
C/C++ programok lefordítása, hibakeresés, futtatás.

5. hét

Verziókövetést, és forrásprogram karbantartást segítő eszközök bemutatása.
Egyszerű X alapú mintaprogram lefordítása és kipróbálása.
Speciális feldolgozó és elemző nyelvek (pl. awk, perl, yacc, lex) gyakorlati bemutatása.

6. hét

Konstans, struktúra nevek, inline függvény, referencia típus, new, delete, iostream, scope, függvény túlterhelés.

7. hét

Egységbezárás, osztály, információ elrejtés, konstruktor / destruktor.
Védelem (friend this).
Házi feladat kiadása.

8. hét

Intelligens string osztály létrehozása és alkalmazása. Függvény mint balérték. Operátor túlterhelés. Copy konstruktor.

9. hét

Generikus osztályok.

10. hét

Öröklés, virtuális függvény.

11. hét

Heterogén szerkezetek.

12. hét

Generikus listák.

13. hét

Nagy házi feladatok bemutatása és beadása.

14. hét

Pótlások, félévközi munka értékelése, félév végi jegyek megadása.

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 HSZK-ban. A laborgyakorlatok során igénybe vesszük a HSZK-ban található IBM-PC kompatibilis személyi számítógépeket (WinX op.r.) és SUN Sparc (UNIX op.r.) számítógépeit. A munkaállomások használatához a HSZK témaszámokat biztosít.

10. Követelmények
  1. A szorgalmi időszakban:

A tárgyból hetente 2 órás gyakorlati foglalkozásokat tartunk a HSZK termeiben, a terembeosztást külön hirdetményben tesszük közzé. A laboratóriumi foglakozásokon való megjelenés kötelező, pótlási lehetőség nincs! A jelenlétet a gyakorlatvezetők rendszeresen ellenőrzik. A félév során 5 kiszárthelyi dolgozatot iratunk, melyek közül a 4 legsikeresebb eredményét vesszük figyelembe a félév végi jegy kialakításakor. Az elmulasztott kiszárthelyi pótlólagos megírására nincs lehetőség. Minden hallgatónak egy nagy házi feladatot kell megoldania szorgalmi időszak alatt. A házi feladatot a 7. héten adjuk ki és a 13. héten vesszük be. A tárgy a félév végén aláírással és félév végi jeggyel zárul. Az aláírás megszerzésének feltételei:

  • a kiadott nagyfeladat pontos, előírásszerű megoldása és a megoldás személyesen történő bemutatása a 13. héten, de legkésőbb a szorgalmi időszak utolsó tanítási napján 12.00 óráig.
  • elégséges átlag elérése a kiszárthelyik vonatkozásában,
  • valamint a laborfoglalkozások folyamatos látogatása (a TVSZ-ben rögzített mértéket meghaladó hiányzás esetén aláírás nem adható).

A félév végi jegyet a nagy házi feladat és a kis zh-k eredménye alapján a laborvezetők adják. A félév végi jegy kialakítása a következő:

  • nagy feladat: 50%
  • kis zh-k átlaga: 50%

Az így kialakuló osztályzatot a gyakorlatvezetők a hallgatók laborfoglalkozásokon tanúsított folyamatos teljesítménye alapján saját belátásuk szerint +/- 1 jeggyel módosíthatják.

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

A laboratóriumi foglakozásokon való megjelenés kötelező, pótlási lehetőség nincs!

Az elmulasztott kiszárthelyik pótlólagos megírására nincs lehetőség.

A nagy házi feladat pótlására a szorgalmi időszakon kívül nincs lehetőség.

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

A laborvezetőkkel személyesen történt egyeztetéssel van mód konzultációra.

13. Jegyzet, tankönyv, felhasználható irodalom

Bármely, a szabványos C++ programozási nyelvvel, és UNIX operációs rendszerrel foglalkozó könyv vagy jegyzet használható.

[1] Kondorosi, László, Szirmay-Kalos:
Objektum orientált szoftver fejlesztés,
ComputerBooks, 1999

[2] B. Stroustrup:
A C++ programozási nyelv
Kiskapu, 2001

[3] Lippmann:
C++ Primer
Addison-Wesley, 1986

[4] Benkő Tiborné, Benkő László:
Programozási feladatok és algoritmusok Turbo C és C++ nyelven
ComputerBooks, 1997

[5] Tóth Bertalan:
Programozzunk C++ nyelven
ComputerBooks, 2003

[6] Bartók Nagy János – Laufert Judit:
UNIX felhasználói ismeretek
Openinfo Könyvek, Budapest, 1994
(http://www.szabilinux.hu/ufi/main.htm)

[7] Szeberényi Imre:
Bevezetés a UNIX operációs rendszerbe
Műegyetemi Kiadó, 2003

14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka

Kontakt óra

30

Félévközi készülés órákra

20

Felkészülés zárthelyire

20

Házi feladat elkészítése

20

Kijelölt írásos tananyag elsajátítása

Vizsgafelkészülés

Összesen

90

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

Név:

Beosztás:

Tanszék, Int.:

Dr. Szeberényi Imre

főtanácsos

Irányítástechnika és Informatika Tanszék

Dr. Poppe András

Egyetemi docens

Elektronikus Eszközök Tanszéke

a Programozás tárgyak oktatói munkaközössége ajánlásainak megfelelően.