Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    A programozás alapjai I.

    A tantárgy angol neve: Basics of Programming I.

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

    Tantárgy lejárati dátuma: 2007. január 20.

    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
    VIEE1239 1 2/0/0/v 3 2/1
    3. A tantárgyfelelős személy és tanszék Dr. Poppe András, Elektronikus Eszközök Tanszéke
    4. A tantárgy előadója

    Név:

    Beosztás:

    Tanszék, Int.:

    Poppe András

    egyetemi docens

    EET

    Vitéz András

    egyetemi adjunktus

    HIT

    Szeberényi Imre

    főtanácsos

    IIT

    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.

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

    -

    6. Előtanulmányi rend
    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:

    -

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

    A hallgatóknak megfelelő jártasságot kell szerezniük a számítógépes problémamegoldás módszereinek és alapvető eszközeinek használatában olyan szinten, hogy azt további tanulmányaik során képesek legyenek hatékonyan alkalmazni. E célkitűzés teljesítése a C programozási nyelv megismerése révén válik lehetővé. Részletesen:

    • ismeretek szerzése a számítógépes problémamegoldás területén,
    • a C programozási nyelv készség szintű elsajátítása,
    • egyszerűbb algoritmusok elkészítésének készség szintű ismerete,
    • algoritmusok hatékonyság-elemzésének alapjai,
    • gyakorlat szerzése nagyméretű (esetenként csoportmunkát igénylő) feladat komplett számítógépes megoldásában (specifikáció, algoritmizálás, kódolás, dokumentálás),
    • ismeretek szerzése a programok hordozhatóságra tervezésében.
    8. A tantárgy részletes tematikája
    • Program, algoritmus. A programozás lépései: specifikáció, algoritmizálás, kódolás, dokumentálás. Szintaktika, szemantika. A folyamatábra. Gépi kódú ill. magas szintű programozás.
    • Az első C példaprogram. Alapfogalmak: kulcs-szavak, azonosítók. Szintaktika, szemantika. Tárolási egységek, jobbérték, balérték, hatás, mellékhatás. Deklarációs utasítások, végrehajtható utasítások, blokk.
    • Adattípusok, számábrázolás: egész típusok, valós típusok. Logikai értékek reperezentációja a C nyelvben. A void típus.
    • Kifejezések, operátorok, precedenciák, kiértékelési sorrend. Kifejezés-utasítások.
    • Vezérlési szerkezetek, ciklusok.
    • Programszegmentálás – az ún. C-függvények. C-függvények procedúraszerű és függvényszerű használata. Formális és aktuális paraméterek. Globális és lokális változók, láthatóság. A C-függvények deklarációja és definíciója. Érték és hivatkozás szerinti paraméterátadás. A stack fogalma, lokális értékek életciklusa: tárolási osztályok (auto, register, static).
    • Rekurzió, rekurzív algoritmusok, pl. Hanoi tonyai, Fibonacchi számok, binomiális együtthatók előállítása, kifejezés infix-postfix átalakítása.
    • Összetett adattípusok: tömbök, struktúrák. Tömbalgoritmusok: keresések, rendezések.
    • A switch utasítás. Menü szerkezetek a switch-csel. Egy program véges automata modellje.
    • Pointerek, indirekció. Dinamikus adatok létrehozása, a dinamikus tárkezelés eljárásai: memória-allokáció és felszabadítás. Pointerek és tömbök kapcsolata. Pointer-aritmetika.
    • Pointereket tartalmazó struktúrák: önhivatkozó adatszerkezetek deklarációja. Tipikus, önhivatkozó adattípusokkal felépített dinamikus adatszerkezetek: láncolt listák, bináris keresőfa.
    • Típusok definiálása, a typedef. Típusmódosító operátorok: pointer-, tömb- és függvénytípust képző operátorok – ezek inverzei a végrehajtható utasítások során (indirekció, indexelés, függvényaktivizálás).
    • Szabványos input és output, file kezelés.
    • Egy alkalmazói program készítésének menete a specifikációtól a dokumentálásig. Egy program, mint termék (ergonómiai, marketing, karbantartási megfontolások, termékkövetés).
    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 heti 1 alkalommal 2 órás előadást tartunk, melyekhez a Számítógép labor című tárgy laborfoglalkozásai szorosan csatlakoznak. Jelen tárgy keretén belül az elméleti ismeretek kerülnek előadásra.

    10. Követelmények

    a. A szorgalmi időszakban: A tárgyból hetente 2 óra előadást tartunk az órarend szerinti helyeken és időben. A szorgalmi időszak alatt 1 alkalommal, az évfolyamfelelős oktatóval egyeztetett időpontban nagy zárthelyi dolgozatot iratunk. A szorgalmi időszakban 1 alkalommal pót zárthelyi dolgozat megírására van lehetőség, a hallgatókkal egyeztetett időpontban. Pót zárthelyi vagy beszámoló dolgozatot annak kell írnia, aki nem írt elégséges eredményű zárthelyi, illetve pót zárthelyi dolgozatot. A félév végi aláírás megszerzésének feltétele elégséges (pót)zárthelyi, illetve beszámoló dolgozat megírása. A korábban ebből a tárgyból megszerzett aláírást a tematika módosítási időszak alatt NEM fogadjuk el, egyébként a TVSZ előírásai a mérvadóak.

    b. A vizsgaidőszakban:

    A tárgyból a félév befejeztével írásbeli vizsgát kell tenni. A vizsgára bocsátás feltétele az aláírás megszerzése

    c. Elővizsga:

    A szorgalmi időszak utolsó hetében elővizsgát tartunk. Az elővizsgán az vehet részt, akinek a zh eredménye legalább jó.

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

    A szorgalmi időszakban 1 alkalommal pót zárthelyi dolgozat megírására van lehetőség, a hallgatókkal egyeztetett időpontban.

    . Sikertelen pót zárthelyi esetében a vizsgaidőszak első két vizsgája alkalmával beszámolási lehetőséget biztosítunk (a vizsgaidőszak első két hete során).

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

    Zh ill vizsganapok előtt az előadóval történő előzetes időpont-egyeztetéssel tartunk konzultációt.

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

    Bármely, programozási módszerekkel és az ANSI C programozási nyelvvel foglalkozó könyv vagy jegyzet használható. A kurzushoz illeszkedő jegyzet készítését tervezi az oktatói munkaközösség. Annak megjelenéséig ajánlott irodalom:

    • Alap algoritmusok tekintetében:
    • Pongor György: Szabványos PASCAL programozás és algoritmusok. (Műszaki Könyvkiadó, 1999)
    • Niklaus Wirth: Algoritmusok + Adatstruktúrák = Programok (Műszaki Könyvkiadó 1982.)
    • A C programozási nyelv tekintetében: bármely, a nyelvvel foglalkozó könyv.
    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

    15

    Felkészülés zárthelyire

    20

    Házi feladat elkészítése

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

    ..

    Vizsgafelkészülés

    25

    Összesen

    90

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

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Poppe András

    Egyetemi docens

    Elektronikus Eszközök Tsz.

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