K-INFO
HU
EN
Belépés

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

Computers Laboratory III.
A tantárgyleírás hatályossága
Hatályosság kezdete:
Hatályosság vége:
Tantárgy neve (magyarul, angolul)
Számítógép-laboratórium III.
Computers Laboratory III.
Tantárgykód BMEVIFO2235
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) 0 0 2
jelleg (kapcsolt/önálló) önálló
Tanulmányi teljesítmény/értékelés típusa félévközi érdemjegy
Tantárgy kreditértéke 3
Tantárgyfelelős
DR. Szirmay-Kalos László
beosztás: egyetemi tanár
Tantárgyat gondozó oktatási szervezeti egység
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

I. C++ nyelv származtatása a C-ből

- Makró (inline), konstans megvalósitás,

- tipusértékű struct, enum

- Megjegyzések

- Prototipusok, Default argumentumok és overload,

- memória allokáció, new, delete, new_handler

- Referencia tipus, függvény paraméterek és visszatérési érték

- cin, cout, cerr objektumok

- Adat deklaráció és definicó mint utasitás

- Adatok láthatóság és érvényessége

- Forditás, szerkesztés, debug BORLAND C++ IDE alatt

II.Objektumok létrehozása

- Objektum orientált programozás és funkcionális programozás

- Class fogalma, egységbe zárás, védelem és információ takarás

- tagfüggvények tipusai

- Védelem enyhitése, friend mechanizmus

- Construktor, Destruktor

- Adatok (objektumok) inicializálása

- this pointer használata

III. Operátor overload

- Operátor overload fogalma

- Dinamikusan allokált mezővel rendelkező objektumok értékadása és inicializásása, Copy constructor

- Op. Overload megvalósitása member függvénnyel és friend mechanizmussal

- Referencia tipussal visszatérő fv. mint balérték (index operátor)

IV. Öröklés

- Az öröklés szerepe az objektumorientált programozásban

- Öröklés, származtatott osztály, alaposztály

- Védelem öröklés alatt

- virtuális függvények, forditási és késői összerendelés,

- Inicializálás

- Többszörös öröklés

- Virtuális alap osztály

- Objektumok mint más objektumok attributumai

- Objektum tömbök

V. Generikus osztályok

- Generikus adatszerkezetek jelentősége

- Dinamikus adatstruktúrák, generikus osztályok

- Név konkatenáló macro

- Declare és implement macro

- Friend class fogalma és szerepe pl. a listaszerkezet kialakitásánál

- C++ könyvtárak felépitése

VI. MS-WINDOWS futtató környezet

- MS-WINDOWS felhasználói felület (ablak, menü, ikon, cursor)

- A program manager

- Alkalmazói programok felépitése (modul def. és erőforrás file )

- WndProc és WndMain függvények szerepe

- WNDCLASS struktúra, CreatWindow és UpdateWindow függvények

- Üzenetciklus működése

- Forditás, szerkesztés, futtatás

VII. MS-WINDOWS programozás API könyvtár felhasználásával

- Erőforrás file felépitése és használata, Menü séma definiálása

- menü, cursor, icon

- Windows események

- Windows hivások

VIII. Objektumszeméletű programozás MS-WINDOWS környezetben:

- Windows felépités és az OOP szemlélet kapcsolata

- Event hierarchia, Window, AppWindow.. MyWindow class hierarchia

- Virtuális Függvények mint átdefiniálható üzenet handler-ek

- Menu class

- Geometriát definiáló olsztályok, Point, RectAngle

- Appl, applikációs programot definiáló osztály

IX. i8086 assembly nyelv

- i8086 programozási modellje, szegmentált memóriakép

- utasitáskészlet, cimzési módok, regiszterek

- assembler

- konstansok, operandusok

- műveletek: PTR, SHORT, SEG, OFFSET,

- direktivák: SEGMENT, ENDS, PROC, ENDP, MACRO, ENDM, END, ASSUME

- deklarációk: adatok (DB, DW ...), cimek,

- feltételes forditás

- moduláris programozás (INLUDE, PUBLIC, EXTRN)

- forditás és szerkesztés

- makró-assembly nyelvű programok felépitése

- operációs rendszer hivások

- ROM BIOS hivások (klaviatúra-INT16h, képernyő-int10h)

- DOS hivások (program befejezése, klaviatúra, képernyő)

- Forditás és szerkesztés ( masm ), program belövés (afd, codeview)

X. Hardware közeli programozás

- Alfanumerikus képernyőmemória elérése, tipus felismerése (HERC, EGA...)

- Hangszóró kezelése

- Klaviatúra programmal ellenőrzött vizsgálata

- Nyomtató programmal ellenőrzött vizsgálata

XI. Hardware közeli programozás IT rutinokkal

- i8086 IT rendszere, IT tábla

- i8259 vázlatos ismertetése, EOI szerepe

- IT rutinok általános felépitése (mentés, visszaállitás, adatszegmens, it engedélyezés, EOI...)

- IT tábla kitöltés (it átvétel és felfűzés)

- SET_IT, SAVE_IT, RESTORE_IT macrók elkészitése

- óra IT átvétele (felfűzés)

XII. Illesztés magas szintű nyelvekhez

- C stack frame kialakitása (PASCAL-t csak megemliteni), ENTER/LEAVE

- Függvény paraméter és visszatérési érték átadása, lokális adatok

- Függvény név konvenciók

- Moduláris programozás PUBLIC, EXTRN

- Globális adatok szervezése (DGROUP)

- String kezelő 8086 utasitások áttekintése, REP előtag

A tárgy célja, hogy bevezessen az objektum-orientált és gépi szintű programozásba DOS és MS-WINDOWS környezetekben.

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 óráit a számítógép laboratóriumban tartjuk, ahol részint a szükséges elméleti alapokat tekintjük át, részint a hallgatók rögtön a gyakorlatban is kipróbálhatják a tanultakat.

Tanulástámogató anyagok

Online források
1. Kondorosi, László, Szirmay-Kalos: Objektum orientált szoftver fejlesztés, COMPUTERBOOKS; 2. B. Stroustrup: The C++ programming language; Addison-Wesley, 1986; 3. B. Stroustrup: The Annotated C++ reference manual; 4. Lippmann: C++ Primer; 5. C. Petzold : Programming WINDOWS; Microsoft; 6. Benkő-Tóth-Kiss: Igy könnyű WINDOWS-t programozni.; Computerbooks; 7. Pethő: A ROM BIOS és ami mögötte van; 8.Úry: IBM PC DOS II-III

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)
programozás, digitális technika
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)
programozás, digitális technika
Általános szabályok
Követelmények: Két házifeladat (C++ és WINDOWS, assembly) és egy nagy ZH. Házifeladat kiadás a 4. héten, beadás a 11. illetve a 15. héten. A gyakorlati jegy szükséges feltételei a 2 házifeladat dokumentációval együtt történő beadása, működőképességének személyes demonstrálása, a ZH min. elégséges megirása és az órákon a tanulm. szabályzat által meghatározott részvétel. Aláírást és félévközi jegyet az kaphat, aki a ZH-t legalább elégségesre megírta és a házi feladatokat is beadta. A félévközi jegyet alapvetően a ZH jegy határozza meg, a házifeladatok és órai szereplés egy jegy eltérést eredményezhetnek. A ZH-n mindenféle segédanyag használható. A szorgalmi időszakban egy pót ZH időpontot biztosítunk. A követelmények a vizsgaidőszakban nem pótolhatók.
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
Programozás alapjai II kredit Programozás technológiája kredit
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.