Számonkérési formák a BME-n a Deklaratív programozás című tárgyban

Hasonló dokumentumok
Számonkérési formák a Deklaratív programozás c. tárgyban a BME-n

A szemantikus világháló oktatása

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Magad, uram, ha szolgád nincs

Minőségfejlesztés kommunikációs dosszié MINŐSÉGFEJLESZTÉS. Anyagmérnök mesterképzés (MsC) Tantárgyi kommunikációs dosszié

A TANTÁRGY ADATLAPJA

Minőségfejlesztő technikák kommunikációs dosszié MINŐSÉGFEJLESZTÉS. Anyagmérnök mesterképzés (MsC) Tantárgyi kommunikációs dosszié

Deklaratív programozás

Objektumorientált Programozás III.

SZOFTVERFEJLESZTÉS. Földtudományi mérnöki mesterszak / Geoinformatikus-mérnöki szakirány. 2017/18 II. félév. A kurzus ebben a félévben nem indult

Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII,

Objektumorientált Programozás VI.

Adatbázis rendszerek Info MÁTRIX

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

1. Halmazok, számhalmazok, alapműveletek

MINŐSÉGFEJLESZTŐ TECHNIKÁK

MÉRŐ AUTOMATA RENDSZEREK

Adatbázisok elmélete

ÉRZÉKELŐK ÉS BEAVATKOZÓK I. 0. TANTÁRGY ISMERTETŐ

2018, Funkcionális programozás

Teljesítményértékelések eredményeinek rögzítése a Neptun Egységes Tanulmányi Rendszerben

KÖVETELMÉNYEK 2017/ félév. Informatika II.

Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév

Mi is volt ez? és hogy is volt ez?

VIZSGÁLATOK MEGFELELŐSÉGE

DEBRECEN MEGYEI JOGÚ VÁROS POLGÁRMESTERI HIVATAL ADÓÜGYI OSZTÁLY. Ügyforgalmi statisztika Ket (3) I. FÉLÉVBEN ÉRKEZETT ÜGYIRATOK

Pénzügyi instrumentumok számvitele

FUNKCIONÁLIS PROGRAMOZÁS

Ember-gép interfész. 1. gyakorlat. Csapó Tamás szeptember 16.

2018, Funkcionális programozás

1. A tantárgy neve, kódja Közművek I., BMEEOVKAT42 2. Az oktatás nyelve magyar, angol

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

KROMATOGRÁFIÁS VIZSGÁLATI MÓDSZEREK

Objektum Orientált Programozás VII.

Szemantikus világháló a BME-n

Minőségelmélet kommunikációs dosszié MINŐSÉGELMÉLET. Anyagmérnök mesterképzés (MsC) Tantárgyi kommunikációs dosszié

Megoldások III. osztály

Apple Swift alapú alkalmazás fejlesztés gyakorlat. 1. Gyakorlat Bevezetés

Programozási módszertan

Bevezetés a programozásba

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

Hozd létre az atestat_2011 adatbázisban a diakok táblát a következő szerkezettel: 1. Töltsd fel az adattáblát legkevesebb 5 bejegyzéssel (rekorddal).

Számítógépek architektúrák. Architektúrák

Minőségügy kommunikációs dosszié MINŐSÉGÜGY. Anyagmérnök alapszak (BsC) Tantárgyi kommunikációs dosszié

Óratípusok. Dr. Nyéki Lajos 2016

Csima Judit szeptember 6.

Megfelelőség szabályozás

SixSigma és LEAN alapismeretek

A könyvvizsgálat számítógépes támogatása

konzultáció V. A feladat beadása a félév értékelése

Tájékoztató. Használható segédeszköz: -

2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér

Záróvizsga és MSc felvételi a BME Villamosmérnöki és Informatikai Karon

Megoldások IV. osztály

100% Véleménykérő lap NIK 2017/18/1 WEB programozás alapjai, NSTWP11MTC. távoktatás. Az órák. án vagyok aktív a tananyaggal kapcsolatban.

2. Egy mértani sorozat második tagja 6, harmadik tagja 18. Adja meg a sorozat ötödik tagját!

kodolosuli.hu: Interaktív, programozást tanító portál BALLA TAMÁS, DR. KIRÁLY SÁNDOR NETWORKSHOP 2017, SZEGED

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar

TANSZÉKI ADMINISZTRÁTOR

Logikai programozás ADMINISZTRATÍV KÉRDÉSEK KÖVETELMÉNYRENDSZER FŐBB PONTOK NÉHÁNY BIZTATÓ SZÓ

Angol-magyar gazdaságtudományi szakfordító szakirányú továbbképzési szak

Neumann János Egyetem GAMF Műszaki és Informatikai Kar

Internet szolgáltatások és alkalmazások. Házi feladat október 15. gyakorlat

Menedzsment rendszerek

BME MOGI Gépészeti informatika 5.

MATEMATIKA TANMENET. 9. osztály. 4 óra/hét. Budapest, szeptember

Tájékoztató. Használható segédeszköz: -

Tájékoztató. Használható segédeszköz: -

Záróvizsga és MSc felvételi a BME Villamosmérnöki és Informatikai Karon

Biomassza tüzelés kommunikációs dosszié BIOMASSZA TÜZELÉS ANYAGMÉRNÖK MESTERKÉPZÉS TANTÁRGYI KOMMUNIKÁCIÓS DOSSZIÉ

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

6. A tantervek szerepe az oktatás tartalmi szabályozásában

Felületmódosító eljárások

Vizsgalap létrehozása az ETRben

Bevezetés a számvitelbe

A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

Útmutató a könyvtárhasználati ismeretek 2010/2011. tanévi 9. évfolyamos bemeneti mérésének lebonyolításához

Boros Andrea és Ignéczi Lilla Neumann-ház, Budapest. Networkshop 2004 konferencia Győr, április 4 7.

Programozás Minta programterv a 1. házi feladathoz 1.

Az Indecs rendszer. Kockázat- és követeléskezelés nagyvállalati környezetben

Bevezetés a számvitelbe

ÉLELMISZERIPARI ISMERETEK ÁGAZATI SZAKMAI ÉRETTSÉGI VIZSGA II. A VIZSGA LEÍRÁSA

KÖVETELMÉNYEK 2018/ FÉLÉV. 1. hét Szervezési feladatok. Tematika, követelmények.

II. évfolyam BA TANTÁRGYI ÚTMUTATÓ. Számvitel alapjai. 2012/2013 I. félév

VIZSGAREND. Nyugat-magyarországi Egyetem -/-/FI21120 OKJ: Műszaki informatikai mérnökasszisztens szakképesítés.

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Internet szolgáltatások és alkalmazások. Házi feladat október 1. gyakorlat

Foglalkoztatási terv MAD1108L Pályatervezés Oktató: Barabásné Dr. Kárpáti Dóra. Meghirdetés féléve 1 Kredit 5 Heti kontakt óraszám

VEGYIPARI RENDSZEREK OPTIMALIZÁLÁSA

Részletes tantárgyprogram és követelményrendszer

Tájékoztatás a 4- éves doktori tanulmányok komplex vizsgájáról: a jelentkezésre és a vizsga lebonyolítására vonatkozó információk

Matematika A1a-Analízis (keresztfélév) TÁRGYKÖVETELMÉNY Gépészmérnöki Kar

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.

2019, Funkcionális programozás. 5. el adás. MÁRTON Gyöngyvér

Statisztika 1. Tantárgyi útmutató

Eljárások és függvények

Informatikus informatikus Térinformatikus Informatikus T 1/9

Villamosenergetikai Intézet Kandó Kálmán Villamosmérnöki Kar Tantárgy neve és kódja: Energiagazdálkodás KVEEG11ONC Kreditérték: 6

A digitális analóg és az analóg digitális átalakító áramkör

Átírás:

Számonkérési formák a BME-n a Deklaratív programozás című tárgyban Hanák Dávid, Benkő Tamás, Hanák Péter & Szeredi Péter Budapesti Műszaki és Gazdaságtudományi Egyetem {dhanak,benko,hanak,szeredi}@inf.bme.hu IF2002 Konferencia, Debrecen 2002. augusztus 30.

1. A Deklaratív programozás című tárgyról Tények Standard ML-t és Prologot tanítunk; másod- és harmadéves hallgatóknak (az alapképzés részeként); a hangsúly a deklaratív jellegen van; a tárgy 1994 óta fut; a hallgatói létszám azóta 120-ról több mint 400-ra emelkedett; nincsenek laboratóriumi gyakorlatok. Számonkérési formák zárthelyi dolgozat; gyakorló feladatok; kis és nagy házi feladatok; félévi vizsga. A létszám növekedése miatt többször változott, hogy az egyes feladatok kötelezőek-e, illetve hogy mi a pontos formájuk. A formának köszönhetően automatizálható: a teljes gyakorlórendszer; a házi feladatok fogadása és kiértékelése; a másolatok keresése és kiszűrése [1]. 1/9

2. Zárthelyi cél az alapvető fogalmak és mechanizmusok megértésének ellenőrzése; analitikus képességet igénylő elméleti kérdések, és egyszerű programozási feladatok; összesen 90 perc áll rendelkezésre. Elméleti kérdések SML: fun f x (y, z) = x (y, z) mi f típusa? Prolog:?- 4+2+3 < X+Y mi a hívás eredménye, és milyen változóbehelyettesítések történnek? egyszerű függvények/eljárások megértése ( mit ír ki ) Programozási feladatok. Prolog: Határozza meg egy szám adott számrendszerbeli alakját, azaz számítsa ki a számjegyek listáját! % számjegyek(szám, Számrendszer, Számjegyek): % Számjegyek a Szám szám Számrendszer % számrendszerbeli jegyeinek listája. % % :- pred számjegyek(int::in, int::in, % list(int)::out).?- számjegyek(45, 10, JL). JL = [4,5]? ; no?- számjegyek(45, 2, JL). JL = [1,0,1,1,0,1]? ; no?- számjegyek(45, 16, JL). JL = [2,13]? ; no 2/9

3. Kis házi feladatok egy félévben több, nem kötelező feladat; a megoldás nem több 15 20 sornál; rendre egyre több fogalom ismeretét igénylik; automatikus fogadás és ellenőrzés [2, 3]. A holland zászló problémája (SML). Adott értékek egy listája, mindegyik a holland zászló egy-egy színével megjelölve. A feladat az értékek sorba rakása a holland zászló elrendezésének (piros, fehér, kék) megfelelően. (* zaszlo ls = ls lista elemeinek listája a holland zászló színeinek sorrendjében zaszlo : {num : int, col : string} list -> {num : int, col : string} list *) - zaszlo [{num=1, col="f"}, {num=2, col="p"}, {num=3, col="k"}, {num=4, col="p"}]; > val it = [{num=2, col="p"}, {num=4, col="p"}, {num=1, col="f"}, {num=3, col="k"}] : {num : int, col : string} list Racionális kifejezések egyszerűsítése (Prolog). A feladat egy egész számokból és a négy alapműveletből álló racionális kifejezés tovább nem egyszerűsíthető törtalakra hozása. A nevezőnek mindig pozitívnak kell lennie.?- törtérték(3/2-1/3, E). E = 7#6? ; no?- törtérték(- (4/5) + 1/4 * 6-3, E). E = -23#10? ; no 3/9

4. Nagy házi feladat a legbonyolutabb feladat a félév során, algoritmust is kíván; a hallgatóknak 6 8 hetük van a munkára; a beadás nem kötelező, de a jobb jegy eléréséhez szükséges; automatikus fogadás és ellenőrzés [2, 3]. Példák Aknakereső 1996-ból: két program interaktív együttműködése, a feladat algoritmus és protokoll megvalósítása; Bűvös csiga 2002-ből: egyszemélyes logikai feladvány, a feladat csak az algoritmus kitalálása és megvalósítása. 4/9

4.1. Aknakereső 1996-os nagy házi feladat; két játékos interakciója: az aknamező tervezőé (passzív játékos) és a feltérképezőé (aktív játékos); az aktív játékos kijelentheti, hogy ismeri a pálya bizonyos mezőit, feltárhat egy vagy több biztonságosnak ítélt mezőt, kérhet segítséget, kijelentheti, hogy ismeri az egész pályát; a passzív játékos információt ad a feltárni kívánt mezőkről, kérésre segítséget ad, ha akar; a játéknak vége, ha az aktív fél aknára lép vagy minden mezőt feltárt. A programokról adott minimálkövetelmények; a nem kötelező részek megvalósítását megkapták; a teljes megoldások versenyen vettek részt; a legjobb megoldások szerzői bónuszpontokat kaptak. 5/9

4.2. Bűvös csiga 2002-es házi feladat; egyszemélyes logikai feladvány; az összes megoldást elő kell állítani. Leírás. Adott egy n n-es tábla, a feladat ennek bizonyos mezőibe egész számokat írni az [1..m] intervallumból úgy, hogy a következők teljesüljenek: minden sorban és oszlopban az [1..m]-beli egészek pontosan egyszer fordulnak elő, és a bal felső sarokból induló csigavonal mentén az egészek a [1, 2,... m, 1, 2,..., m,...] minta szerint követik egymást. Néhány szám helye előre ismert. A programokról egyszerű belső interfész specifikáció; kiadott keretprogram, feladatai: a feladvány beolvasása (megadott formából), a megoldás kiírása (áttekinthető formában, grafikusan), futási idő mérése. 6/9

5. Házi feladatok ellenőrzése A tesztelés menete beküldés elektronikus levélben egy kiadott szkript segítségével; a fogadott programok várakozó sorba kerülnek; a sorban elfoglalt helyről a hallgató válaszlevélben értesül; a sorbanálló programok feldolgozása egyesével történik; a hallgató levélben megkapja a teszt eredményeit. Tesztkészletek egyet kiadunk a keretprogrammal együtt; egyet a beadáshoz használ a rendszer; egyet a határidő letelte után az éles teszteléshez; egy nehezebb feladványokból állót a legjobb programok versenyeztetéséhez. Csalások kiküszöbölése a beadás nem kötelező; másolásellenőrző program [1]. 7/9

6. Vizsgáztatás szóbeli és írásbeli vegyesen; három részből áll mindkét nyelv esetében: 1. egyszerű, a ZH-hoz hasonlító feladatok (kb. 15 perc) 2. elméleti kérdés (kb. 15 perc) 3. programozási feladat (legalább 30 perc) a programozási feladat két részre van bontva: egy egyszerű segédfüggvény, a fő feladat a segédfüggvény felhasználásával; a hallgatók leírják a megoldásaikat, de az ellenőrzéskor módjukban áll szóban korrigálni. Kísérőlap a hallgató félév során gyűjtött pontjai; rubrikák a vizsga részpontszámainak, a kapott vizsgajegynek, időbélyegeknek. 8/9

Köszönetnyilvánítás Köszönet illeti az összes diákot, aki segítettek a tárgy oktatásában; Lukácsy Gergelyt a programmásolás felderítő program elkészítéséért; Berki Lukács Tamást és Békés András Györgyöt a gyakorlórendszer egyes változatainak elkészítéséért. Hivatkozások [1] Lukácsy Gergely: Forráskódú programok hasonlóságvizsgálata 2000, Országos Tudományos Diákköri Konferencia, Eger [2] Hanák Dávid: Deklaratív nyelvek oktatásának támogatása számítógéppel 2001, Budapesti Műszaki Egyetem, diplomamunka [3] Hanák Péter, Szeredi Péter, Benkő Tamás, Hanák Dávid: Magad, uram, ha szolgád nincsen Egy Web-alapú intelligens tanító-rendszer 2001, NETWORKSHOP01, Sopron 9/9