HTML

Programozó Páternoszter

Ez a Programozó Páternoszter (PP) blogja, a programozásról szól. Aktualitása, hogy a Debreceni Egyetem Informatikai Kara Magasszintű programozási nyelvek 1-2, C++ esattanulmányok, Java esettanulmányok című kurzusainak blogja is egyben.

A vadászat

A Debreceni Egyetem Programozói Évkönyve: az UDPROG projekt. A szakmai fórumunk a Facebook-en. Az új előadások a prezin.
A régi előadások:
Prog1:
1. C bevezetés
2. C tárgyalás
3. C befejezés
4. C a gyakorlatban
5. C++ bevezetés
6. C++ tárgyalás
7. C++ befejezés
8. C++ a gyakorlatban
9. Java platform bevezetés
10. Kvantuminformatikai alg. bev.
Prog2:
1. Java bevezetés
2. Java tárgyalás
3. Java befejezés
4. Java a gyakorlatban
5. Software Engineering bev.
6. Java EE bevezetés
7. AspectJ bevezetés
8. BPMN-BPEL SOA programozás
9. C++ haladó
10. Tensorflow

Kövess engem!

Friss topikok

Linkblog

Elindult az "elit képzés"

2012.02.08. 10:34 nb

Valóban "elit képzés" lesz? Ki tudja, mert ahogy Yoda mondaná "a jövő mozgásban van", mindenesetre az bizonyos, hogy kis létszámú lesz :) Ez már most tudható.

A bevett gyakorlat szerint egy hét/egy előadás/egy labor/egy poszt formában szervezzük a prog1 kurzust. A mai, az első előadás hangulatteremtő jellegét a laboron is követjük. Ennek megfelelően ezzel kezdünk, hogy mindenki bemutatkozik: honnan jött, vannak programozási élményei, stb.

De ha a hallgatótól megkérdezem, mit programozott utoljára, nekem is meg kell válaszolnom ugyanezt: most éppen a hétvégén módosítottam az rcsslogplayer forrásait, hogy a pályára immár kirajzolja a Brillinger potenciált (a részleteket és a World Football – Modelling and Visualizing Kutatócsoport olyan munkáit, amely ezt a fejlesztést is lehetővé tesz, itt találják majd a téma iránt mélyebben érdeklődők).

Ez egészen konkrétan Qt C++ programozást takar.

 

Kiadott feladatok:

  • TK-ból az előadás javasolta filmjeinek megtekintése
  • XP binomok kialakítása
  • Kiadott olvasmány elolvasása, a jövő hét laborjára a kiadott hallgató laborkártya kitöltése
  • GNU/Linux (natív vagy virt) telepítése baráti körben

Ahogy említettem a bevezetőben: kevesen voltunk: 

 

Ja, s itt az előadásban említett Ali G and Noam Chomsky beszélgetés.

11 komment

Címkék: programozás debreceni egyetem qt deik rcsslogplayer brillinger potential assr

Homo proponit, Deus disponit*

2011.12.10. 17:23 nb

Ez volt a tizenharmadik hét (labor és előadás) posztja. A laborokra az utolsó három hétre már nem írtam ki kötelező törzsanyagot, mert a főtéma a laborgyakorlat védése volt! A poszt funkciója immár a szóbeli és írásbeli vizsgák szervezése.  Megtalálod itt a részletezett tételeket, de akár az írásbeli tesztet is letöltheted.

A hivatalos (azaz az előadásnak megfelelő) témához kapcsolódik a cím, amelynek kontextusában az ember BPMN-ben, Isten pedig BPEL-ben dolgozik.

Láthatóan legalább száz mérnök informatikus hallgató volt kíváncsi a közvetítésekre, hiszen legalább 10 monitor csatlakozott és gondolom mind egy kávéházból vagy sörözőből, ahol legalább 10 hallgató volt jelen az adott helyen, ahol a kivetítőre kötve a gépüket az egész szórakozóhelyet szakmaibb hangulatúvá tették :)

 15 pont annak, aki saját foci csapatához UML osztálydiagramokat készít (lehet reengineering :)

A szorgalmi időszak számokban

A nálam lévő 5 labor 99 hallgatójából 19-en nem kaptak aláírást a félévi munkájukra. A kurzust felvett 145 hallgatóból 65 hallgató kapcsolódott be a feladatok beküldésébe, közülük 14 hallgató lépte át a 100 pontos határt (11 vesz részt a "100-as" vadászok ligájában).

Szóbeli vizsga

A hagyományoknak megfelelően itt a tételsort értelmezzük, finomítjuk. Néhány általános megjegyzés a szóbeli vizsgára:

  • az előadások végén kötelezőnek jelzett olvasmányok, ahogy a név is mutatja: kötelezőek
  • papíron nem programozunk általában és a vizsgán sem
  • a vizsgán való sikeres szereplés szükséges feltétele a tételek "jól kell tudni" részének tudása
  • Az írásbeli és szóbeli vizsgán is bármi (jegyzet, könyv, gép) használható, sőt: erősen javallott! S egyben ezért felesleges magolni vagy puskát írni! Ez nem történelem vizsga, ennek megfelelően tipikusan mindig valamilyen forráskódra támaszkodást várok és nem szavalatot vagy mit gondolt Arany Madáchról típusú gondolatmenetet... kóbor memóriafoszlányt vagy hexameterben a Huszt-ot :)

A tételsor alapját szokásosan az előadások kezdő "Minimális gyakorlati cél" és "Minimális elméleti cél" fóliái alapján állítjuk össze.

1. tétel

1. ea.-ból:

Jól kell tudni: egy saját Java platformos (Java SE vagy Java ME vagy Java EE vagy leJOS vagy Android Java) fejlesztést, tapasztalatokat, "mit, miért, hogyan szerveztem, csináltam" stb. bemutatni (Java SE esetén egy "Helló, Világ!" gyors prototípus, vagy egy-két osztályból álló példa nem elfogadható saját fejlesztésnek. A saját Atan alapú RCSS robotfoci csapat viszont nyilván igen. Egyéb platformokon a "Helló, Világ!"  jellegű példa is elfogadható).

help: gyakorlatilag sajár robotfoci csapattal mindenkinek rendelkeznie kell, így ez a beugró nem lehet probléma, egyéb Java SE példára is számtalan volt a kurzusban, az alternatív tabella számolásától a FerSML platformig. Java ME esetén könnyű választás a NehogyMar7-es példa, hiszen ehhez külön könyv is van. Java EE kapcsán pedig remek, de nem könnyű választás a DocBook-os, XSLT-s Portlet.

Java nyelv kapcsán: karakterkészlet, elemi típusok, vezérlési szerkezetek, deklarációk, tömbök, kifejezések, paraméterátadás, osztályok, példány és osztály szintű attribútumok és metódusok, hozzáférési kategóriák, konstruktor, öröklődés.

2. tétel

2. ea.-ból

Jól kell tudni: polimorfizmusra példákat hozni a gyakorlati jegyzet GoldenTeam FC csapatából

help: a csapatban mély leszármazási fa van: a JátékosAdaptert kiterjeszti a Játékos, azt például a Támadó, azt pedig a Hidegkúti osztály, érdemes megnézni, hogy melyiknek a játékbanVezérlés() fgv.-e, postInfo() fgv.-e fut le. Ezzel megintcsak nem lehet gond, ha a hallgató megpróbált a félév során módosítani az ágensek viselkedésén.

Java nyelv kapcsán: interfészek (különös tekintettel az atan.model.ActionsPlayer és a atan.model.ControllerPlayer interfészekre), csomagok.

Az első tétel saját fejlesztéséhez a hallgató be tudja mutatni UML osztálydiagramjait! (De ha az első tételben nem robotfocit választott a hallgató, itt természetesen a robotfocis elfogadott, de tavalyi C++ példára készített osztálydiagramok nem)

3. tétel

3. ea.-ból

Jól kell tudni: az első tétel saját fejlesztéséhez OO metrikát kiszámolni (a robotfocis Maven projektek számolják, laboron konkrétan a ciklomatikus komplexitást néztük pl.)


help: az igényesek itt az mvn site (vagy sonar:sonar :) után böngészik a legenerált riportokat és ráböknek egyre, például a 2. ea. 125-től mutatott Sonar és Xradar Maven bővítmények használatával; mondjuk a Fedezet esetén a NOC-ra (leszármazottak száma) DIT-re (leszármazási fa mélysége) RFC-re (kiket hívogat)

De már a ciklomatikus komplexitás megmutatásával is tökéletesen megelékszek, a szokásos kérdés megválaszolásával: melyik a projekt legbonyolultabb függvénye.)


Java nyelv kapcsán: kivételkezelés

4. tétel

3. ea.-ból

Jól kell tudni: saját kivételosztály készítése (pl. a Jávát tanítokét dolgoztuk fel.)

help: itt elég a Jávát tanítok példáját feléleszteni vagy ismertetni.


Java nyelv kapcsán: párhuzamosság (különös tekintettel a SwingWorker osztály használatára).

5. tétel

4. ea.-ból

Jól kell tudni: XML dokumentum jól formázottsága, érvényessége (példának használhatod akár a saját csapatod pom.xml-jét, de számos XML dokumentummal találkoztunk a félévben az AIML-től a PBEL-ig)


help: itt elég validálni egy XML állományt, aki nagyon igényes, az egy Relax NG-s szurkolói avatárt validál a jing-el, aki minimalista, az egyik focicsapat pom.xml-jén nyom egy jobb gombot a NetBeans-ben és a Validate-el validál.

Java nyelv kapcsán: leJOS viselkedés API-jának (subsumption architecture) részleges ismerete

6. tétel

4. ea.-ból

Jól kell tudni: Apache Maven koncepció, használata a gyakorlati jegyzet robotfocis csapatai projektjeinél

help: gyakorlatilag mindenki védte a csapatát, ami tipikusan Maven projekt, így nem okozhat gondot beszámolni arról, hogyan használtad/használod.

Java nyelv kapcsán: JAXP, SAX, DOM API-k részleges (saját példán alapuló) ismerete

7. tétel

4. ea.-ból

Jól kell tudni: Java ME MIDP programot parancssorból felépíteni

help: az előadásban lépésről-lépésre lefóliáztuk

Java nyelv kapcsán: Java ME MIDP API részleges ismerete

8. tétel

5. ea.-ból

Jól kell tudni: a saját robotfoci csapathoz készített Junit teszt

help: a GoldenTeamFC-0.0.3-project.zip gps függvényéhez írtat elég bemutatni: http://www.inf.unideb.hu/~nbatfai/mircsource/

Alkalmazások skálázhatósága, EJB, fürtözés.

9. tétel

6. ea.-ból

Jól kell tudni: üzleti folyamatot lerajzolni BPMN nyelven

help: jöhet az előadás laborkártyája picit kiegészítve, de leírhatsz bármit: a hallgató kurzusválasztásától a teafőzésig... illetve azt igényeseknek érdemes átfutni az ajánlott irodalmat

AspectJ nyelvi bevezetés: vágási pont, csatlakozási pont, tanács, átszövő vonatkozás.

10. tétel

7. ea.-ból

Jól kell tudni: a saját robotfoci csapathoz készített AspectJ szövés

help: volt triviális (GoldenTeamFC-0.0.4-project.zip) és egy picit komplexebb (GoldenTeamFC-0.0.4sumkick-project.zip): http://www.inf.unideb.hu/~nbatfai/mircsource/


A BPMN nyelv (és az egyéb vállalati folyamatleíró nyelvek részleges ismerete, koncepciója említés szinten)

További szabályok

  • 54 pont felett (nagyobb egyenlő), +3 jegy az írásbelihez, ha az elégtelentől jobb, a szóbelin is +3 (ha az elégtelentől jobb) és a hallgató az általa választott három tételből húz.
  • 18 pont felett (nagyobb egyenlő), +2 jegy az írásbelihez, ha az elégtelentől jobb, a szóbelin is +2 (ha az elégtelentől jobb) és a hallgató az általa választott hat tételből húz.
  • 6 pont felett (nagyobb egyenlő), +1 jegy az írásbelihez, ha az elégtelentől jobb, a szóbelin is +1 (ha az elégtelentől jobb) és a hallgató az általa választott nyolc tételből húz (tehát az összesen 10-ből kettőt biztosan elkerülhet).

Írásbeli vizsga

Állítom össze az írásbeli tesztet. A feladatok gép nélkül is megválaszolhatóak, de vitathatatlan, hogy a géppel történő munka sokat segíthet. Ha lesz Nálad gép, az alábbiakat érdemes megfontolni az előkészítésében:

 Az írásbeli teszt

Tegnap megírtuk az első tesztet, már gépelem az eredményeket a Neptunba. Hagyományainknak megfelelően közreadom az egyik csoport feladatsorát.

Ugyancsak "tartva a hagyományokat" valódi informatika vizsga volt:

 

írásbeli ponthatárok és eredmények

12 feladat, 1 pont egy feladat, összesen 12 pont. (Előadáslátogatási jogosítvány +1 pont.)

százalékpont (elm.)pont (gyak.)érdemjegy
50%66-7
2
65%7.88-9
3
80%9.610
4
90%10.811-125

 

  • 49 elégtelen
  • 11 elégséges
  • 8 közepes
  • 5 jó
  • 6 jeles 

  a 2. írásbeli eredményei:

  • 10 elégtelen
  • 19 elégséges
  • 16 közepes
  • 9 jó
  • 5 jeles 

 

*: http://hu.wikiquote.org/wiki/Latin_k%C3%B6zmond%C3%A1sok

52 komment

Címkék: bpel tételsor uml robocup robotfoci bpmn plb deik plk robocup.inf.unideb.hu reengineering

süti beállítások módosítása