BME Villamosmérnöki és Informatikai Kar, műszaki informatika szak

DEKLARATÍV PROGRAMOZÁS (VIFO2218)

2001. őszi félév (keresztfélév)

A félév beosztása és a félévi követelmények (V1.1.)

I. A félév beosztása, az órák helye és ideje

  1. Összefoglaló előadást a félév első heteiben tartunk (szept. 10-étől nov. 5-éig), az órarend szerinti időpontokban és helyeken, azaz hétfőn 8.15-től 10.00-ig a Z.F06-ban és kedden 16.15-től 18.00-ig a V2.225-ben. Az első hetekben az SML, a továbbiakban a Prolog lesz a téma.
  2. A félév további részében általában kéthetente, keddi napokon 16.15-től tartunk konzultációt a V2.225-ben megbeszélés, ill. a levelezési listán közöltek szerint. A konzultációk előtt elektronikus levélben a dp-l@inf.bme.hu címen várjuk a hallgatók kérdéseit.
  3. Igény és megfelelő létszám esetén további konzultációra is adunk lehetőséget.

II. Tudnivalók

  1. A tárgy honlapja: www.inf.bme.hu/~dp. Kérjük a hallgatókat, hogy iratkozzanak fel a tárgy levelezési listájára (a feliratkozás a honlapon át lehetséges).

  2. A tárgyhoz két jegyzet áll a hallgatók rendelkezésére:

    1. Bevezetés a funkcionális programozásba (SML), Budapest, 2001
    2. Bevezetés a logikai programozásba (Prolog), Budapest, 2001

    A jegyzetet igénylők az első heti előadáson iratkozhatnak fel a jegyzetlistára. A jegyzetek ára kötetenként kb. 600-600 Ft. A jegyzetek a tárgy honlapjáról is letölthetők pdf-változatban.

  3. Az előző féléves előadások fóliái ugyancsak letölthetők pdf-változatban.

  4. Az otthoni gyakorláshoz a hallgatóknak a licencköteles és jelszóval védett SICStus Prologot (3.8.x) és a szabadon letölthető MOSML-t (2.0) kell használniuk. (Az ingyenes licenszmegállapodást a hallgatók az előadásokon írhatják alá.) A letöltésről részletek a honlapon olvashatók.

  5. Az önálló gyakorláshoz a hallgatók a Weben át elérhető gyakorlórendszert is használhatnak. A gyakorlórendszer a honlapon keresztül érhető el.

III. Követelmények

A hivatalos 2001. szeptemberi változatot lásd "Tantárgy-adatlap és tárgykövetelmények (VIFO2218)" c. alatt a dékáni hivatal honlapján .
  1. Zárthelyi (zh): nagyzárthelyi (nzh), pótzárthelyi (pzh) A zh kötelező. Ha valaki pzh-t ír, az nzh eredményét elfelejtjük. A zh eredményét 15%-os súllyal vesszük figyelembe az osztályzatban.

    Az nzh-t 2001. nov. 27-én, a pzh-t a dec. 10-ével kezdődő héten íratjuk meg később egyeztetendő időben és helyen. A zh időtartama 90 perc.

    A zh két részből áll. Az első rész a minimálkövetelményeket fedi le, ebben két Prolog- és két SML-feladatot kell megoldani, nyelvenként max. 10 pontért. A zh csak akkor érvényes, és a második részt csak akkor javítjuk ki, ha az első részt nyelvenként min. 40%-ban sikerült teljesíteni, tehát mind az SML-, mind a Prolog-feladatokra legalább 4-4 pontot kapott a hallgató. A második részben nyelvenként 20-20 pont érhető el, a maximális összpontszám tehát 60. Ennek negyede, azaz max. 15 pont számít be a vizsgajegybe, feltéve, hogy a zh érvényes.

    A zh-n semmilyen jegyzet, segédlet nem használható, csak a helyben kiosztott feladatlapok. Előre megadjuk, hogy melyek azok a könyvtári függvények, eljárások, amelyek specifikációját és használatát fejből kell ismerni. A megoldáshoz felhasználható/andó egyéb függvények, eljárások specifikációját, rövid leírását (ha lesznek ilyenek) megadjuk a feladatlapokon.

  2. Házi feladatok: nagyházi (nhf), kisházi (khf) Az nhf megírása nem kötelező. Eredményét 15%-os súllyal vesszük figyelembe az osztályzatban.

    Az nhf-et a félév első felében adjuk ki (a megoldandó feladat leírását felrakjuk a Webre), a beadás határideje december 10-e, hétfő 24.00 óra (éjfél).

    A programokat és a dokumentációt elektronikus levélben kell beküldeni a feladatkiírásban megadandó segédprogrammal a megadott címre. A beküldött programokat tíz különböző tesztadattal automatikusan teszteljük a beadáskor, az eredményről a feladó elektronikus levélben kap értesítést. Az nhf pontozásához egy másik, az előzőhöz hasonló tesztsorozatot használunk.

    A feladat megoldására SML- és Prolog-nyelven kell egy-egy programot írni. A két programhoz közös fejlesztői dokumentációt kell készíteni (unix/linux alatt olvasható formában, azaz sima ascii-szövegként vagy html-dokumentumként; elfogadható még pdf-, ps- és dvi-formátumban is).

    A két programra max. 20-20 pont, a dokumentációra ugyancsak max. 20 pont kapható. A kapott 60 pontszám negyede, azaz max. 15 pont számít bele a vizsgajegybe, feltéve, hogy az nhf érvényes.

    Az nhf-et minden hallgatónak ÖNÁLLÓAN kell megoldania: ötletek átvehetők másoktól, de a programot mindenkinek saját magának kell kódolnia. Ha többen lényegét tekintve azonos programot vagy dokumentációt adnak be, közülük senki sem kap pontot az nhf-re; ha valaki helyett más írta a programot vagy a dokumentációt, a beadó nem kap pontot az nhf-re. Súlyosabb esetben az elkövetőknek a kari szabályzat szerinti egyéb következményekkel is számolniuk kell.

    Az nhf-et olyan adatokkal teszteljük, amelyeket a nem különösebben ötletes, de jó programok az előírt idő alatt képesek megoldani.

    Az alapfeladatokat hibátlanul megoldó programok létraversenyben vesznek részt. A leggyorsabban futó SML-, ill. a Prolog-programokra - helyezési számuktól függően - külön-külön 30 és 2 közötti pluszpont kapható. A féléves összpontszámhoz a kapott összegnek ugyancsak a negyedét adjuk hozzá.

    A félév során több alkalommal adunk ki khf-et. Megírása nem kötelező. Egy-egy helyes megoldásra 1-2 pont kapható. A khf-re kapott pontokat pluszpontként vesszük figyelembe a vizsgaosztályzatban.

  3. Vizsga

    A vizsgaidőszakban leaglább három alkalommal írásbelivel kombinált szóbeli vizsgát tartunk, amelyre előzetesen jelentkezni kell. A vizsga reggel 8 órakor kezdődik. A hallgatóknak a vizsga előtti napon a Weben közzétett időbeosztás szerint kell megjelenniük a vizsgán. Minden vizsgára csak korlátozott számú hallgató jelentkezhet, a létszámkorlátot a Neptun-rendszerben tesszük közzé.

    A személyazonosságot a leckekönyvvel, továbbá a diákigazolvánnyal vagy a személyi igazolvánnyal kell igazolni.

    A vizsga több részből áll. Minden hallgató tételeket húz.

    A vizsga első részében egy-egy kisebb programozási feladatot kell megoldani Prolog-, ill. SML-nyelven, írásban. Ezt követően a megírt programokhoz kell magyarázatot, kiegészítést fűzni, ill. a vizsgáztatónak a programokra vonatkozó kérdéseire válaszolni.

    A második részben nyelvenként két-két kis kérdésre kell válaszolni (adott programrészlet működését elmagyarázni, típusegyenletet megoldani, Prolog-kifejezés gráfját felrajzolni, egy-egy beépített függvény, ill. eljárás működését ismertetni, egy-egy témakörről kiselőadást tartani stb.).

    A vizsga első két részben max. 70 pont szerezhető.

    A harmadik részben a hallgatónak a zh-ra, továbbá ha írt, az nhf-re vonatkozó kérdésekre kell válaszolnia. Ha a válaszok nem kielégítők, a zh-ra, ill. az nhf-re kapott pontszámot nem vesszük figyelembe az osztályzatban.

  4. Aláírás A tárgyat felvevő és a zh-n legalább elégséges osztályzatot elért hallgatók aláírást kapnak.

  5. A féléves osztályzat megállapítása

    A félév során összesen 100++ pont szerezhető: a vizsgán max. 70, az nhf-re és a zh-ra max. 15-15, a létraversenyen további max. 15 pont, a khf-re max 10. pont. Az osztályzatot az alábbiak szerint állapítjuk meg:

    85 ponttól: jeles, 70 ponttól: jó, 55 ponttól: közepes, 40 ponttól: elégséges.

Budapest, 2001. november 5.

Hanák Péter - Szeredi Péter