Szoftver Labor I.

A tantárgy angol neve: Software Laboratory 1.

Adatlap utolsó módosítása: 2012. október 2.

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, Elektronikus Eszközök Tanszéke
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.:

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 VAGY  TárgyEredmény( "BMEVIEEA100" ,  "felvétel" , _ )  >0

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rendek grafikus formában itt láthatók.

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.