K-INFO
HU
EN
Belépés

A programozás alapjai II.

Basics of Programming II.
A tantárgyleírás hatályossága
Hatályosság kezdete:
—
Hatályosság vége:
—
Tantárgy neve (magyarul, angolul)
A programozás alapjai II.
Basics of Programming II.
Tantárgykód BMEVIEE1240
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 2 0
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 2
Tantárgyfelelős
DR. Poppe András
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

A célkitűzésnek megfelelően a tárgy két fő témára koncentrál:

I. UNIX rendszer eszközei, lehetőségei

  • A UNIX operációs rendszer felépítése, védelmi és állományrendszere.
  • Az alapvető Unix parancsok. Shell feladata, egy általánosan használt shell legfontosabb parancsainak megismerése.
  • Shell programozási alapok. Legfontosabb környezeti változók jelentése, kényelmi beállítások.
  • Állomány- és paraméterhelyettesítés, B/K átirányítás.
  • UNIX grafikus felhasználói felülete, általános alapelvek.
  • Szűrők és más segédprogramok jelentősége a UNIX-ban. Reguláris kifejezések.
  • Verzió követést, és forrásprogram karbantartást segítő eszközök bemutatása (rcs, cvs).
  • Speciális feldolgozó és elemző nyelvek (pl. awk, perl, yacc, lex) bemuatása.

II. Objektum-orientált programozás alapjai a C++ nyelv bemutatásával

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

  • Makró (inline), konstans megvalósítás, típusértékű struct, enum;
  • prototípusok, default argumentumok és függvény túlterhelés;
  • memória allokáció, new, delete, new_handler;
  • referencia típus, függvény paraméterek és visszatérési érték, cin, cout, cerr objektumok;
  • adatok láthatóság és érvényessége.

Objektumok létrehozása

  • Objektum-orientált programozás alapfogalmai, elvei, objektum fogalma.
  • Osztály, fogalma, egységbezárás, védelem és információtakarás;
  • tagfüggvények típusai
  • védelem enyhítése, friend mechanizmus;
  • Konstruktor, destruktor.
  • Adatok (objektumok) inicializálása, this pointer használata.

Operátorok értelmezésének kiterjesztése (túlterhelés)

  • Operátor overload fogalma.
  • Dinamikusan allokált mezővel rendelkező objektumok értékadása és inicializásása, copy constructor.
  • Operátorok értelmezésének kiterjesztése tagfüggvénnyel és friend mechanizmussal.
  • Referencia típussal visszatérő függvény mint balérték (index operátor).

Ö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, fordítási és késői összerendelés, inicializálás;
  • Többszörös öröklés.
  • Virtuális alaposztály.
  • Objektumok mint más objektumok attribútumai.
  • Objektum tömbök.

Generikus osztályok

  • Generikus adatszerkezetek jelentősége.
  • Dinamikus adatstruktúrák, generikus osztályok.
A tárgy alapvető célja, hogy alapozó tárgyként folytassa számítógépes problémamegoldás módszereinek és alapvető eszközeinek előző félévben megkezdett megismertetését olyan szinten, hogy azt a hallgatók további tanulmányaik során képesek legyenek hatékonyan alkalmazni. Ezen félév alapvető célkitűzése, bevezessen az objektum-orientált programozásba. Ezt a tárgy az előző félévben megszerzett C nyelvi tudásra alapozva, a C++ nyelv megismertetésével éri el. További cél, hogy részletesen megismertessen egy elterjedten alkalmazott többfelhasználós operációs rendszer felhasználói és programozói felületével, általános célú eszközeivel, valamint a hordozható programok írásának szabályaival. Ezt a UNIX operációs rendszer adta programfejlesztési lehetőségek bemutatásával éri el.

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

(előadás, gyakorlat, laboratórium): Gyakorlat, ill. összevont gyakorlat, amelyet előadás jelleggel tartunk az órarend szerinti helyen és időben, mely előadásokhoz mindvégig szorosan kapcsolódnak a Számítógép labor II című tárgy foglalkozásai.

Tanulástámogató anyagok

Online források
[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

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 alapjai 1. félév (viee1239)
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 alapjai 1. félév (viee1239)
Általános szabályok
Követelmények: A hallgatóknak készség szintű jártasságot kell szerezniük a C/C++ nyelv, valamint a UNIX operációs rendszer használatában olyan szinten, hogy azt további tanulmányaik során képesek legyenek hatékonyan alkalmazni. A szorgalmi időszak alatt egy alkalommal, az évfolyamfelelős oktatóval egyeztetett időpontban nagyzárthelyi dolgozatot íratunk. A zárthelyi a szorgalmi időszakban egy alkalommal pótolható, a hallgatókkal egyeztetett időpontban. A szorgalmi időszakban több gyakorló feladatot adunk ki, amelyek megoldását egy számítógépes program ellenőrzi. A tárgy a félév végén félévközi jeggyel zárul. A félévközi jegy megszerzésének feltételei: elégséges (pót)zárthelyi dolgozat megírása. a legfeljebb 2 évvel korábban megszerzett aláírást fogadjuk el. Félévközi jegy a nagyzárthelyi eredménye, amelyet fél jegy erejéig pozitívan módosíthat a számítógépen benyújtott gyakorló feladatok eredménye. b, A vizsgaidőszakban: A félévközi jegy megszerzésére ill. a félévközi követelmények pótlására a vizsgaidőszak első 2 hetében, a hallgatókkal egyeztetett időben, egyetlen alkalommal, beszámoló dolgozat megírásával van mód. Ennek eredménye a félévközi jegy. Pótlási lehetőségek: A szorgalmi időszakban 1 alkalommal pótzárthelyit tartunk, a hallgatókkal egyeztetett időpontban. Vizsgaidőszakban a vizsgaidőszak első 2. hetének végéig további 1 alkalommal beszámoló dolgozat megírására van lehetőség. A szorgalmi időszakban kiadott gyakorló feladatok megoldása vizsgaidőszakban nem pótolható.
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 1. félév, (kötelező) Számítógép labor 1. félév (ajánlott) Tematikaütközés miatt a tárgyat csak azok vehetik fel, akik korábban nem hallgatták a következő tárgyakat: -
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.