|
|
| (5 közbenső módosítás, amit 5 másik szerkesztő végzett, nincs mutatva) |
| 1. sor: |
1. sor: |
| {{GlobalTemplate|Infoalap|DeklaPoKedvCsinalo}} | | {{Vissza|Deklaratív_programozás}} |
|
| |
|
| | | ==Mikor válasszam ezt?== |
| ==Attis==
| |
| | |
| Hat ez egy erdekes targy. Ketten tartjak felvaltva: Hanak Peter es
| |
| Szeredi Peter. Hanak SML-t, Szeredi Prologot oktat. Igencsak a Malora epit, a
| |
| Prolog eleve a Programming in Logic, vagyis programozas logikaban roviditese.
| |
| De az SML is hasonlo. Van egy elektronikus tanarseged nevezetu progi a neten
| |
| (http://dp.iit.bme.hu/ets), ahova fel kell majd iratkoznotok, itt kell ZH-ra
| |
| jelentkezni (igen a ZH-ra is jelentkezni kell), meg itt kaptok licencet
| |
| targy honlapjan letoltheto progikhoz (http://dp.iit.bme.hu). Ja es lehet
| |
| gyakorolni is a feladatokat is az ets-en, amit rogton ki is javit a
| |
| program.
| |
| | |
| Van belole kiszhazi, meg nagyhazi, de egyik sem kotelezo, legalabbis ugy
| |
| emlekszem. Ja meg lehet versenyezni is, akinek ennyi nem eleg, van egy
| |
| letraverseny, ami arrol szol, hogy egy adott problemat ki milyen gyors
| |
| programmal tud megoldani. Azt hiszem:) Konyvet csak toluk tudsz venni(30
| |
| eves tecnikaval nyomott es kotott sajat kiadasu konyvek, azt hiszem az
| |
| SML-ben van irva, hogy az az egyetlen magyar jegyzet hozza), vagy az
| |
| eloadasfolakat letolteni. A vizsga szobeli, miutan megirtad a beugrot.
| |
| | |
| -- [[PallosPeter|Peti]] - 2006.01.15.
| |
| | |
| ==BSc infók==
| |
| 2009/2010 ősz:
| |
| Prolog és Erlang nyelvet tanultunk. Először mindkét nyelvből az alapokat, majd a félév második felében a nehezebb, összetettem problémákat vettük.
| |
| A gyakorlatok kötelezőek, habár 2 kihagyható.
| |
| | |
| Régi: A tárgy ebben a félévben indult ebben a formában utoljára. A követelményrendszervben nagy változásokra nem kell számítani, illetve a lemaradó ötéveseknek is automatikusan megfelel az új tárgy a réginek. A legnagyobb változás az lesz, hogy SML helyett az Erlang nyelvet kezdik el tanítani, mert azt szélesebb körben használják (ld. [http://www.ejabberd.im/ ejabberd], egy Erlang nyelven írt [http://www.jabber.org/ Jabber] szerver).
| |
| | |
| ===Mikor válasszam ezt?===
| |
|
| |
|
| NE akkor, ha nulla munkával akarsz kreditet szerezni :) A tárgyban két nehézség van: az egyik az imperatív gondolkodásmódról átállni a deklaratívra, a másik pedig a félévközi feladatok. | | NE akkor, ha nulla munkával akarsz kreditet szerezni :) A tárgyban két nehézség van: az egyik az imperatív gondolkodásmódról átállni a deklaratívra, a másik pedig a félévközi feladatok. |
| 39. sor: |
9. sor: |
| -- [[PalfalviJozsef|afro]] - 2009.11.03. | | -- [[PalfalviJozsef|afro]] - 2009.11.03. |
|
| |
|
| A szorgalmi időszakban 3-3 kisháziból legalább a felét meg kell csinálni (plusszpontokért érdemes a többit is), és a végéig egy nagyházit össze kell dobni. Ezekhez segítséget nyújtanak a heti gyakorlatok, illetve az előadók is bármikor fogadnak hallgatókat konzultálni.
| | Ha fejlesztőként szeretnél dolgozni, akkor kifejezetten ajánlom a tárgyat, megtanít a deklaratív gondolkozásra, ami számtalan nyelvben előjöhet (pl. C++ template metaprogramozás). Ezen kívül interjúkon szeretnek rákérdezni rekurzív megoldásokra, ha érted a működését, sokkal könnyebben fogsz tudni kezelni pl. egy bináris fát. |
| | | Megtanítják, hogy hogyan lehet hatékony rekurziót írni (tehát nyilván nem igaz az, hogy a rekurzió mindig használhatatlan). |
| A deklaratív gondolkodást a két nyelv két oldalról közelíti meg. A Prolog (PL) arról szól, amiről az MI. Klózokat fogalmazunk meg, majd megadunk egy célt, a program meg automatikusan kitalálja, hogy a klózok használata során hogyan jut el a célig. Ilyen rendszerben pl. egy sudoku megoldó program megírása csak pár sor, mert klózokkal megmondod, hogy minden sorban, oszlopban és cellában csak 1..9-ig lehetnek számok, a többit pedig a compiler megoldja (ez volt az idei nagyházi). Az Erlang ezzel szemben arról szól, hogy nagyrészt csak függvényekkel, és függvény argumentumokkal operálunk, változókkal kevésbé, így a legtöbb algoritmusban a rekurzió az úr :)
| |
| | |
| Ez majdnem teljesen igaz is, kivéve azt, hogy egy átlagos kisházi 60-100 sor között mozog (nyelvenként, kommentezve), a nagyházi pedig ennek többszöröse. Aki azt írta, hogy "pár sor", az adhatna "pár forintot". :)
| |
| -- [[PalfalviJozsef|afro]] - 2009.11.03.
| |
| | |
| A Deklaratív programozás a Beszédinformációs rendszerek és Rendszermodellezés mellett a három elágazó tárgy egyike. A tárgy a Cékla nevű nyelvvel kezdődik (a CÉ++ nyelv deKLAratív része), ebből 1 kis házi van, majd Prologgal és Erlanggal folytatódik (3-3 kisházi, ugyanazokat a feladatokat kell implementálni mindkét nyelven). A Prologot Szeredi Péter (CS), az Erlangot Kápolnai Richárd (IIT) oktatja. Az aláíráshoz minimum 3 kis házi feladat (legalább 1 Prolog és 1 Erlang) teljesítése és a zh megírása szükséges. A zh könnyű, de beszámít a vizsgába, úgyhogy érdemes jól megírni. Vizsgajegyet nagy házi feladat készítésével és szóbeli vizsgával lehet szerezni. A szóbeli vizsga 6 részes: mindkét nyelvből van elméleti, gyakorlati és "mit ír ki" jellegű feladat. A vizsga így elég hosszú (nem ritka 3-4 órás vagy hosszabb), de jó hangulatban zajlik, a vizsgáztatók kifejezetten segítőkészek és jóindulatúak. Utóbbi egyébként az egész tárgy során érzékelhető: maximálisan korrekten és megértően álltak a hallgatókhoz minden kérdésben.
| |
|
| |
|
| Ahogy többen írták, a tárgy kifejezetten munkás, bár nagyon emberfüggő, hogy kinek mennyire áll rá a gondolkodásmódja. A tárgy kifejezetten hasznos tudást ad: egy új programozási paradigmát tanít, elvégzése után bármilyen programnyelven jóval könnyebb lesz rekurzív függvények írása.
| | Igaz, hogy a két nyelv elég régi, viszont ha a működést megérted, akkor a szintaktika nagyon könnyű, szerintem jól használhatóak a szemlélethez. Prologhoz csináltak egy futtatást modellező programot és a [https://swish.swi-prolog.org/ SWISH]-en végig lehet debuggolni, amit írtál. Erlang-ból nekem nem sikerült működésre bírnom egy értelmes környezetet sem, nem tudom, hogy ott lehetne-e debuggolni. Jó hír viszont, hogy a két nyelv gyakorlatilag mechanikusan átfordítható egymásba, én így csináltam a kis házikat Erlangból (azaz kitalálsz az egyikre egy megoldást a másikhoz csak a szintaktikát kell átírni). |
| | Az oktatók nagyon cukik és segítőkészek, látszik rajtuk, hogy tényleg az a céljuk, hogy megértsd a dolgokat. Korrekten pontozzák a zh-kat is, de azért kell készülni ahhoz, hogy átmenj. |
|
| |
|
| -- [[SzarnyasGabor|SzárnyasGábor]] - 2012.06.20. | | A nagy házi kifejezetten nehéz, ha a megajánlott jegyre mennél, akkor több héttel a beadás előtt legalább el kell kezdeni (sokkal nehezebb, mint a kis házik, nem lehet belőlük összerakni). |
| | Nekem mindegyik Prolog (és a Cékla) kis házi egy-egy napot vett kb. el a hétvégéből + 1 nap volt, mire rájöttem, hogy hogyan írom át Erlangba. Egyébként én személy szerint nagyon élveztem ezeket írni, mert egy logikai problémára kell megtalálni a megoldást, nem olyan, mint mondjuk egy JAVA házi, hogy van egy béna feladat, de igazából az egész a szintaktikáról és az OO elvekről szól. |
|
| |
|
| | Nem nehéz teljesíteni a tárgyat, de tényleg sok munkát kell beletenni. Viszont legalább tanulsz egy olyan dolgot, amit hasznosítani tudsz a későbbiekben. Minél több szemléletet ismersz, annál jobb fejlesztőnek számítasz, és annál könnyebb lesz új nyelveket megtanulni. |
| | -- [[SzellmannRéka|Ráhel]] - 2020.01.02 |
|
| |
|
| [[Category:Infoalap]] | | [[Category:Infoalap]] |