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ó    

    Szoftver Labor 1.

    A tantárgy angol neve: Software Laboratory 1.

    Adatlap utolsó módosítása: 2016. április 27.

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

    Mérnök-informatikus Szak

     

    BSc

     

     

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIEEA101 1 2/0/0/f 2 3/1
    3. A tantárgyfelelős személy és tanszék Dr. Czirkos Zoltán,
    A tantárgy tanszéki weboldala http://www.eet.bme.hu/vieea101/
    4. A tantárgy előadója

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Pohl László

    Egyetemi adjunktus

    Elektronikus Eszközök Tsz.

       

     

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

    -

    6. Előtanulmányi rend
    Kötelező:
    TárgyEredmény( "BMEVIEEA100" , "jegy" , _ ) >= 2
    ÉS Training.Code=("5N-A8")
    VAGY KépzésLétezik("5N-MGAIN")

    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:
    Tematikaütközés miatt a tárgyat csak azok vehetik fel, akik korábban nem hallgatták a következő tárgyakat:

     

    Neptun-kód       Cím

     

    -                         -

     

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

     

    A tantárgy célkitűzése, hogy a hallgatók megfelelő gyakorlati jártasságot szerezzenek az előadáson és gyakorlaton megismert módszerek kipróbálása által, annak érdekében, hogy a megszerzett ismereteket és készségeket további tanulmányaik során hatékonyan legyenek képesek alkalmazni. Az anyag jobb elsajátítása érdekében a hallgatóknak egy nagyobb házi feladatot is meg kell oldaniuk.

     

     

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

    1. hét: HSZK bemutatása, házirend, egyetemi hálózat bemutatása. Szintfelmérő teszt a tehetséggondozó kurzusok számára. Operációs rendszer alapismeretek: parancssor, program indítása parancssorból, paraméterek.

     

    2. hét: Integrált fejlesztői környezet bemutatása. Egyszerű, kézhez kapott programok fordítása. Nyomkövetés, értékadás megfigyelése, változók vizsgálata. Program szövegének szerkesztése, fordítása. A fordító hibaüzenetei.

     

    3. hét: Kódolás struktogramból, pszeudokódból. Triviális I/O-t végző programok; egyszerű számítások. Printf és scanf kezelése, formátumok megadása. Nyomkövető használata.

     

    4. hét: Egyszerű algoritmusok gyakorlása. Ciklus a ciklusban. Szorzótábla, téglalap kirajzolása. Ismert algoritmus (pl. prímszám, lnko) programozása. Számkitaláló (tipp, kisebb, nagyobb).

     

    5. hét: Alapvető tömbkezelés. Tömbök létrehozása. Keresés, számlálás, hány páros van benne stb. feladatok. Tömb léptetése. Túlindexelés hatásának bemutatása.

     

    6. hét: Bites feladatok. Szám kiírása kettes számrendszerben. Bitminta előállítása. c=set(c,5). Túlcsordulás hatásának vizsgálata. Integer bitjeinek meghatározása. Lebegőpontos pontatlanság szemléltetése.

     

    7. hét: Beépített sztringkezelő függvények. Tömbök kezelése – további gyakorlás. Többdimenziós tömbök.

     

    8. hét: Fájlkezelés, pl. tömb fájlba írása és visszaolvasása. Több forrásmodulra bontás. Parancssori argumentumok feldolgozása. Fájl másoló.

     

    9. hét: Állapotgépek kódolása. Átirányítás fájlból, fájlba. Ly számláló, komment-szűrő. Mintafelismerés.

     

    10. hét: Tömbi algoritmusok, pointerek. Keresés és rendezés implementálása. Több forrásmodul használata, dekompozíció.

     

    11. hét: Listakezelés implementálása. Lista építése. Fájlba írás, fájlból olvasás. Strázsa alkalmazása. Beszúrás, törlés.

     

    12. hét: Rekurzív függvények kódolása. Fibonacci, rekurzívan és iteratívan. Álrekurzió, szám kiírása. Valódi rekurzió, alakzat kifestő. Labirintus - el lehet-e jutni a kijáratig.

     

    13. hét: Fák kezelése.

    14. hét: Vizsgára gyakorlás.

    .

     

     

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

    A tárgyból számítógépes laboratóriumi foglalkozásokat tartunk a Hallgatói Számítóközpont (HSZK) termeiben részben Windows, részben UNIX környezetben, az órarend szerinti időpontokban, kiscsoportos (10-12 fős) oktatással. A csoport és terembeosztást külön hirdetményben tesszük közzé a http://www.eet.bme.hu/vieea100/ web-címen.

     

     

    10. Követelmények

     

    A szorgalmi időszakban:

     

    A laboratóriumi foglakozásokon való megjelenés kötelező, az elmulasztott laborgyakorlatok nem pótolhatók.

    A foglalkozások anyaga szorosan kapcsolódik a Programozás alapjai I. (VIEE100) c. tárgy előző heti anyagaihoz, melyek tárgyhoz kapcsolódó weblapon elérhetők. Azok ismerete, folyamatos követése a laborgyakorlatok sikeres elvégzésének előfeltétele.

    A laborgyakorlatokon csak felkészült hallgatók vehetnek részt. A laborvezetők jogosultak a felkészültséget ellenőrizni a laborgyakorlat megkezdése előtt, vagy oly módon, hogy megkövetelik az órai feladatok egy részének, maximum egyharmadának sikeres megvalósítását. Elégtelen felkészültség esetén az adott alkalom mulasztott laborgyakorlatnak számít.

    A félév során 5 kis zárthelyi dolgozatot (ún. “kis zh”-t) iratnak a laborvezetők legalább egy héttel előre bejelentve. A kis zh-k közül a 3 legeredményesebb eredményének az átlagát képezzük. Ha valaki 3-nál kevesebb kis zh-t írt, akkor a meg nem írt dolgozatok eredményét 0-nak tekintjük. A kis zh-k pótlólagos megírására nincs lehetőség.

    A kis zh-kon kívül minden hallgatónak egy nagy házi feladatot kell megoldania. A nagy házi feladatokat az évfolyamfelelős oktatóval egyeztetett módon, a 6. héten adjuk ki és a 13. héten kell beadni a megoldásokat. A megoldások pótlólagos beadására csak a szorgalmi időszak végéig (utolsó tanítási napon, 12.00 óráig), különeljárási díj megfizetésével van mód, azon túl a nagy házi feladat nem pótolható. A nagy házi feladatok megoldásában az előrehaladást a félév közben ellenőrizzük, és az értékelésnél figyelembe vesszük.

    A félév elismerést jelentő aláírás megszerzésére akkor van lehetőség, ha

    • a kis zh-k átlaga legalább elégséges (2-es),
    • a nagy házi feladat a kiírás szerint elkészült, gyakorlatvezető személyesen átvette és elfogadta: (a) a hiánytalan dokumentációt, (b) az elkészített programot, melyet együtt ki is próbáltak,
    • a hallgató a programozási laborgyakorlatokat rendszeresen látogatta (hiányzása nem haladja meg a TVSz-ben meghatározott mértéket).

    A fenti 3 feltétel bármelyikének nem teljesülése esetén az aláírás nem adható meg. Félév végi jegyet az szerezhet, aki aláírást is szerzett. A félév végi jegy kiszámításának a módja a következő: a kis zh-kra kapott pontszámok alapján képzett jegy és a nagy házi feladatra kapott két osztályzat átlaga számtani közepének kerekített értéke határozza meg a jegyet, amelyet +/-1 jeggyel módosíthat a gyakorlatvezető a hallgató laborgyakorlatokon tanúsított teljesítménye alapján.

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

    A kis zh-k pótlólagos megírására nincs lehetőség.

    A nagy házi feladat szemeszteren túli pótlására nincs lehetőség.

     

     

     

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

     

    Konzultációra a laborfoglalkozások alkalmával, illetve a laboratóriumi gyakorlatvezetőkkel történő külön megbeszélés alapján van lehetőség.

     

     

     

     

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

     

    Pohl László: A programozás alapjai, elektronikus jegyzet, mely letölthető a tárgy honlapjáról.

    Továbbá bármely, programozási módszerekkel és az ISO C programozási nyelvvel foglalkozó könyv vagy jegyzet használható.

     

    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, például:
      • B. W. Kernighan, Ritchie: A C programozási nyelv: az ANSI szerint szabványosított változat (Műszaki Könyvkiadó, 1994)
      • Benkő Tiborné, Benkő László, Tóth Bertalan: Programozzunk C nyelven! (ComputerBooks, 1996)
      • Benkő Tiborné - Poppe András: "Együtt könnyebb a programozás" sorozat: C (ComputerBooks, 2004)

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

      (a tantárgyhoz tartozó tanulmányi idő körülbelüli felosztása a tanórák, továbbá a házi feladatok és a zárthelyik között (a felkészülésre, ill. a kidolgozásra átlagosan fordítandó/elvárható idők félévi munkaórában, kredit x 30 óra, pl. 5 kredit esetén 150 óra)):

    Kontakt óra

    28

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

    10

    Felkészülés zárthelyire

    0

    Házi feladat elkészítése

    22

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

     0

    ..

     

    Vizsgafelkészülés

     

    Összesen

    60

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

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Czirkos Zoltán

    Egyetemi adjunktus

    Elektronikus Eszközök Tsz.

       

    Az elsőéves programozás oktatók munkaközössége.