Szoftver-fejlesztés C++ nyelven

A tantárgy angol neve: Software Development in C++

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

Tantárgy lejárati dátuma: 2009. november 24.

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

Villamosmérnöki Szak

Műszaki Informatika Szak

Választható tárgy

Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIAU9172   4/0/0/v 5 1/1
3. A tantárgyfelelős személy és tanszék Benedek Zoltán,
4. A tantárgy előadója

Név:

Beosztás:

Tanszék, Int.:

Benedek Zoltán

Tanársegéd

AAIT

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

C programozás alapok

6. Előtanulmányi rend
Ajánlott:

A tárgyat felvehetik azon hallgatók, akik alapképzésben C++-t csak kis részben tanultak, vagyis:

  • azon villamosmérnöki szakos hallgatók, akik 2006 előtt hallgatták a Programozás alapjai 2. tárgyat
  • azon műszaki informatika szakos hallgatók, akik 2004 előtt hallgatták a Programozás alapjai II. tárgyat
7. A tantárgy célkitűzése

A tárgy keretében a hallgatók megismerkednek a C++ nyelven való programozással. Az alapoktól indulva – a nehézséget okozó C nyelvi mechanizmusok átismétlésével - fokozatosan vezeti be majd tárgyalja mélységében a C++ nyelv nyújtotta lehetőségeket. Ezen túlmenően felhívja a figyelmet azokra az esetekre, amelyek a C++ nyelv használata során a legtöbb problémát okozzák, valamint bemutatja azokat a technikákat, amellyel a C++ nyelv használata hatékonnyá válik. Sor kerül – a C++ nyelvhez kapcsolódóan – az objektum orientált nyelv tervezés alapjainak bemutatására is. A képet a modellből kódgenerálás és a kódból modell generálás gyakorlati bemutatása teszi teljessé, valamint a tárgyat a szabványos C++ osztály és template könyvtárak (STL) használatába való bevezetés fejezi be.

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

C programozási nyelv áttekintése: beépített típusok, komplex változó deklarációk, operátorok, pointerek és tömbök kapcsolata. Referencia típus. Makrók és inline függvények. Objektum orientált modellezés alapjai, egységbezárás, objektum, osztály, attribútum és metódus fogalma. Láthatóság szabályozása. Konstruktor és destruktor fogalma, konstruktorok típusai, speciális esetek. Dinamikus memóriakezelés. Statikus tagok. Operatorok felüldefiniálása. Öröklődés, virtuális függvények, polimorfizmus, absztrakt osztályok. Interfész kialakításának lehetőségei. Többszörös öröklődés, virtuális alaposztályok. Kivételek fogalma és használatuk. Névterek. Paraméterezett típusok: template függvények és osztályok. Szabványos C++ osztálykönyvtárak: szabványos I/O osztálykönyvtár és STL.

Objektum orientált tervezés alapjai.

Objektum orientált modellezés, modellek C++ leképezése. Modellből kód és kódból modell. Demonstráció Rational Rose és Visual C++ eszközökkel.

A fogalmak megértését minden esetben példák segítik.

9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

:

Előadás, néhány alkalommal számítógépes demonstráció.

10. Követelmények

a. A szorgalmi időszakban: Három kiszárthelyi dolgozat, legalább 2.0-ás átlaggal

b. A vizsgaidőszakban: Írásbeli vizsga

  1. Elővizsga: Van
11. Pótlási lehetőségek

Az első vizsgaidőszakbeli vizsga legalább elégséges eredménye pótolja a félévközi követelményeket (a TVSZ szerint).

12. Konzultációs lehetőségek
13. Jegyzet, tankönyv, felhasználható irodalom
  1. A C programozási nyelv, Brian W. Kerninghan, Dennis M. Ritchie
  2. Objektum orientált szoftverfejlesztés, Dr Kondorosi Károly, Dr László Zoltán, Dr. Szirmay-Kalos László
  3. A C++ programozási nyelv, I-II kötet, Bjarne Stroustrup
  4. Effective C++ 2nd edition, Meyers Scott
  5. More Effective C++, Meyers Scott
14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka

Kontakt óra

50

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

10

Felkészülés zárthelyire

50

Vizsgafelkészülés

40

Összesen

150

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

Név:

Beosztás:

Tanszék, Int.:

Benedek Zoltán

Tanársegéd

AAIT

Erdélyi Tibor

Tanársegéd

AAIT

Levendovszky Tihamér

Doktorandusz

AAIT