Számítógép-laboratórium I.

A tantárgy angol neve: Computers Laboratory I.

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

Tantárgy lejárati dátuma: 2013. június 30.

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
VIEE1238 1 0/0/2/f 2 2/1
3. A tantárgyfelelős személy és tanszék Dr. Poppe András,
4. A tantárgy előadója

Név:

Beosztás:

Tanszék, Int.:

Dr. Poppe András

Egyetemi docens

Elektronikus Eszközök Tsz.

A tantárgy felelőse é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

A Programozás alapjai I .c. tárgy során megszerzett elméleti ismeretekre épít.

6. Előtanulmányi rend
Kötelező:
TárgyEredmény( "BMEVIEE1226" , "felvétel" , _ ) >= 0 VAGY TárgyEredmény( "BMEVIEE1226" , "jegy" , _ ) >= 2 VAGY TárgyEredmény( "BMEVIMH1506" , "jegy" , _ ) >= 2 VAGY TárgyEredmény( "BMEVIMH1506" , "felvétel" , _ ) >= 0

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:

-

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

A tantárgy célja a Programozás alapjai c. tárgy keretén belül megszerzett elméleti ismeretek gyakorlati alkalmazása. A hallgatóknak megfelelő jártasságot kell szerezniük a számítógépes problémamegoldá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 az ANSI C programozási nyelv megismerése és használatának begyakorlása révén válik lehetővé. További cél a személyi számítógépek használata mellett egy multiuser/multitasking operációs rendszer és a modern elektronikus szolgáltatások megismerése, valamint a kari számítógéphálózat használatának alapfokú megismerése.

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

Az egyes alkalmakkor konkrétan megoldandó programozási feladatok a Programozás Alapjai c. tantárgy előadásaihoz igazodik, a tárgy előadójának az útmutatásai alapján. Az alábbi időbeosztás csak tájékoztató jellegű.

1. hét

A HSZK bemutatása, az IBM PC-k használatának szabályai. Az egyetemi hálózat bemutatása. Az egyetemi hálózaton elérhető szolgáltatások ismertetése. Egy egyszerű program elkészítése

2. hét

Az operációs rendszerekkel (DOS, esetleg Sun) kapcsolatos ismeretek ismétlése, az első egyszerű C program megírása: egyszerű műveletek végzése, pl. a Fibonacci-számok kiszámítása. . A program szövegének szerkesztése, fordítása, linkelése, futtatása. A az alapvető I/O műveletek printf/scanf függvényhívási mintákkal. Hibakeresési lehetőségek (lépésenkénti futtatás, watch-ok definiálása, Turbo Debugger).

3. hét

Számábrázolási problémák tisztázása. Műveletek egész számokkal. Valós számok számábrázolási kérdései.

Az másodfokú egyenlet megoldása megoldó képlet alapján. Az eredmények magyarázata. Tömbök, a CHAR típus, string (mint karaktertömb), string-konstansok.

4. hét

A programszegmentálás fogalmainak tisztázása: Lokalitás, globalitás, névelfedés/átdefiniálás, könyvtárba illeszthetőség, stack, hívási konvenciók, paraméterátadás a stack-en. Rekurzió. Szubrutin és kipróbáló keretprogram.

5. hét

Feltételes utasításokból az IF gyakorlása, precedenciák átismétlése. Barátságos számok keresése. Struktúrák, pointerek, file-kezelés alapjai.

6. hét

Tömbkezelés gyakorlása: beszúrásos rendezési algoritmus. A buborék és beszúrásos rendezések implementálása egy programban, amelyik számolja a cserék és összehasonlítások számát és összehasonlítja a két eljárást. Nagy házi feladat kiadása.

7. hét

Egy nagyobb program durva kidolgozása (adatstruktúrák és a funkciók megtervezése). A program keretének kidolgozása.

8. hét

Menü készítés. A felhasználói felülettel kapcsolatos kívánalmak részletes tárgyalása. A switch utasítás alkalmazása. Hashing-gel történő adatfelvétel és keresés implementálása.

9. hét

Lineáris lista készítése és rendezése mutató cserékkel. Többszörösen láncolt lista kialakítása és kezelése.

10. hét

Bináris fa bejárása mélységi kereséssel.

Szabványos I/O kezelés és egyes megvalósításai. I/O átirányítás. Nagy házi feladat megoldásával kapcsolatos egyéni konzultációk.

11. hét

Hordozható program készítése. Egy korábbi program implementálása különböző operációs rendszerek alatt. Programfuttató parancsállományok készítése különböző operációs rendszerekben.

12. hét

A házi feladat aktuális állásának megbeszélése. Dokumentáció készítésének technikai oldalai.

13. hét

Nagy házi feladatok beadása.

14. hét

Pótlólagos feladatbeadások lehetősége. Félévi jegyek megbeszélése, beírásuk az indexbe.

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 IBM-PC, részben UNIX környezetben, az órarend szerinti időpontokban. A terembeosztást külön hirdetményben tesszük közzé

10. Követelmények

a. A szorgalmi időszakban:

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

A félév során legalább 3 kis zárthelyi dolgozatot (ún. “röp zh”-t) iratnak a gyakorlatvezetők az általuk optimálisnak tartott ütemezés szerint. 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 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 30%-ot).

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 osztályzatok átlaga és a nagy házi feladatra kapott osztályzat 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

A laborvezetőkkel személyesen történt egyeztetéssel van mód konzultációra.

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

10

Felkészülés zárthelyire

10

Házi feladat elkészítése

10

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

..

Vizsgafelkészülés

Összesen

60

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.