BME Villamosmérnöki és Informatikai Kar, műszaki informatika szak Deklaratív programozás (korábban: Programozási paradigmák) 2000. tavaszi félév A FÉLÉV BEOSZTÁSA ÉS A KÖVETELMÉNYEK (pontosítandó változat) I. A félév beosztása -------------------- 1. Órák helye és ideje: IB.027 kedden, 14.15-től 16.00-ig, IB.028 csütörtökön, 10.15-től 12.00-ig. 2. A félév beosztása: ------- Felhívjuk a tárgyat korábban már hallgatók figyelmét, hogy a tárgy Prolog részében idén már a nyelv ISO szabványnak megfelelő változatát oktatjuk, ami a beépített eljáráskészlet változásával jár. II. Követelmények ----------------- 1. Zárthelyi (zh): nagyzárthelyi (nzh), pótzárthelyi (pzh) A zh megírása nem kötelező. Eredményét 15%-os súllyal vesszük figyelembe az osztályzatban. Ha valaki pzh-t ír, az nzh eredményét elfelejtjük, és a pzh pontszámát vesszük figyelembe az osztályzatban. A zh időtartama 90 perc. A hallgatóknak a személyazonosságukat a diákigazolványukkal és a személyi igazolványukkal kell igazolniuk. 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 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 azok a feladatlapok, amelyeket mi osztunk ki. Előre meg fogjuk mondani, 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 feladatlapokonn. Minden hallgatónak elegendő mennyiségű, csak az aláírását, a kódját és (olvashatóan) a nevét tartalmazó, egyébként üres A4-es lappal kell jönnie a zh-ra. Minden lapra (a piszkozatkészítésre használandó lapokra is!) előre fel kell írnia a nevét, a kódját és az aláírását. Ezeket a lapokat a zárthelyi megkezdése előtt, a személyazonosság ellenőrzésekor a teremfelügyelők szignálják. Ha a hallgatónak írás közben további lapokra lenne szüksége, szólnia kell a teremfelügyelőnek, aki a névvel, kóddal és aláírással azonosított lapot szignálja. Ha egy hallgatónál olyan nemüres lapot találunk zh-írás közben vagy a beadott lapok között, amely nincs szignálva, a zh-ja érvénytelen. Ha zh-írás vagy beadás közben olyan lapot találunk valakinél, amelyen valaki másnak a neve, kódja és aláírása szerepel, akkor mindkét érintett hallgatónak érvénytelen a zh-ja. Ha az aláírás hamisnak bizonyul, fegyelmi eljárást is indítunk az ellen a hallgató ellen, akinél a lapot megtaláltuk. Az SML-, ill. a Prolog-feladatok megoldását külön lapokra kell írni (más javítja az SML-, és más a Prolog-részt). A saját megoldásokkal együtt a feladatsort tartalmazó lapokat is be kell adni (a feladatsort később feltesszük a Webre). Semmilyen elektronikus kommunikációs eszköz (mobiltelefon, személyhívó, számítógép, magnó, rádió, CD-lejátszó, nagyothalló készüléknek álcázott rádióvevő, beszélő karóra vagy monitorként funkcionáló szemüveg stb.) nem lehet a hallgatónál zh-írás közben vagy a vizsga alatt! Aki bármilyen okból arra kényszerül, hogy ilyen eszközt magával hozzon, köteles bemutatni a teremfelügyelőnek, ill. a vizsgáztatónak, aki az eszközt, ha szükségesnek találja, megőrzésre átveszi. Akinél zh-írás közben ilyen eszközt találunk, annak a zh-ja érvénytelen. Zh-írás alatt a teremben csak olyan hallgató tartózkodhat, aki személyazonosságát igazolta és zh-t ír. A zh alatt a teremből kimenni semmilyen okból nem lehet, még rövid időre sem. A zh alatt a terembe más hallgatók nem jöhetnek be. A zh ideje alatt a teremben tartózkodó összes hallgatónak a helyén ülve meg kell várnia a zh befejezését, akkor is, ha bármilyen oknál fogva korábban befejezi a munkát. 2. Házi feladat (nhf) Az nhf megírása nem kötelező. Eredményét 15%-os súllyal vesszük figyelembe az osztályzatban. Az nhf-et legkésőbb a 7. tanulmányi hét végéig kiadjuk (a megoldandó feladat specifikációját felrakjuk a Webre), a beadás határideje a 12. tanulmányi héten vasárnap éjfél. A programokat és a dokumentációt elektronikus levélben kell majd beküldeni a feladatkiírásban megadandó 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ó. Az nhf akkor érvényes, ha a 40%-os minimumkövetelmény teljesül, azaz a két programra külön-külön, valamint a dokumentációra ugyancsak legalább 8 pontot kapott a hallgató. Az így maximálisan kapható 60 pontnak a 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á. 3. Vizsga A vizsgaidőszakban hetente egy 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 majd a Neptun-rendszerben tesszük közzé. A hallgatóknak a személyazonosságukat a leckekönyvükkel, továbbá a diákigazolványukkal vagy a személyi igazolványukkal kell igazolniuk. A vizsgán, amely több részből áll, minden hallgató tételeket húz. A vizsga első részében, min. 60 perces felkészülési idő alatt, néhány kisebb programozási feladatot kell megoldani Prolog-, ill. SML-nyelven, írásban. A második részben (felkészülési idő nélkül, legfeljebb rövid gondolkodás után) kiskérdésekre 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 harmadik részben a felkészülési idő alatt 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 vizsga első három részben max. 70 pont szerezhető. Végül a negyedik részben a hallgatónak a zh-ra, ill. az nhf-re vonatkozó kérdésekre kell válaszolnia, ha írt zh-t, ill. adott be nhf-et. Ha a válaszok nem kielégítőek, 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ő hallgatók aláírást kapnak. Azoknak a hallgatóknak, akik az nhf-t, ill. a zh-t megoldják, de a vizsgát nem teszik le, akkor számítjuk be a félév során szerzett pontszámát a következő tanévben a féléves osztályzatba (külön a zh-ra, és külön az nhf-re kapott, továbbá a létraversenyen szerzett pontszámot), ha érvényes zh-t írtak, ill. érvényes nhf-et adtak be, és ezen túl a zh-ra, ill. az nhf-re kapható maximális pontszám legalább 40%-át is megszerezték. 5. A féléves osztályzat megállapítása A félév során összesen max. 115 (100 + 15) 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. 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, 2000. február 17. Hanák Péter - Szeredi Péter