HTML

flugi szakblogja

Megjegyzések programozásról, jelfeldolgozásról, beszédtechnológiáról

Friss topikok

  • LoverCase: kösz! (2012.03.23. 20:41) rekurzív szálszaporítás gyorsít?
  • tormanator: Mért érték, CPU 200 Mflopp, GPU 11 Gflopp , ez 55x sebesség, de középkategóriánál mért értékek. Az... (2011.09.11. 11:27) OpenCL
  • Tom Benko: @flugi_: Ebből is látszik, hogy a sudo a legveszélyesebb parancs. (2011.03.10. 20:09) Az egyszerűség dícsérete
  • xsasha: Kíváncsi vagyok, mi lesz a véleményed erről a beírásról. :-) Szóval az én elméletem szerint az ag... (2011.02.28. 17:30) Programozás és intuitivitás

Programozás és intuitivitás

2008.05.09. 15:49 flugi_

Ez egy klasszikus probléma. A legtöbb informatikai oktatási intézményben az a szemlélet megy, hogy a program magától kikerekedik a hozzáértő programozó kezében, a kezdő kezében amolyan krumpli alakú, a rutinosnál meg szép sima gömbölyű. Emögött egy kettősség van.

Egyfelől a programozás mechanikusságát sugalló hozzáállás szerint a program csurom objektív ok alapján szigorúan következtetéses alapon előállítható. A rutinos már jobban ismeri a szabályokat, jobban tudja kihasználni azokat.

Másfelől a programozási készség kialakulása a klasszikus hmm. Valahogy lesz. Sokkal inkább példák alapján, mint szabályok alapján. Sok gyakorlással.

Próbáljuk meg ezt megfejteni. Ha épp erre jársz, egy kommentben a véleményed hagyd itt.

2 komment · 1 trackback

A bejegyzés trackback címe:

https://flugiszaki.blog.hu/api/trackback/id/tr46461508

Trackbackek, pingbackek:

Trackback: zsír 2008.06.24. 21:08:50

Ablak-zsiráf.cppAvagy tanuljunk meg programozni, első rész.   A programozás vajon mi? Mielőtt megpróbálnánk megválaszolni ezt a kérdés, kérdezzük meg a nálunk okosabbakat. Például a magyar wikipedia-t: Számítógép-programozás (vagy egyszerűen progr…

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

vvths 2009.01.28. 03:18:42

A programozashoz szukseg van egyfajta gondolati sema rendszerre. Van akinek az alap gondolkodasaban jobban megvannak ezek mar a kepzes megkezdese elott, van akinek kevesbbe. A programozas oktatasnak szerintem egyik fele az, hogy elmondjuk, mi egy folyamat abra, megtanitjuk egy nyelv alapjait, elkezdunk feladatokat megoldatni emberekkel.

Aztan jon a neheze, mar ha jon. Valahogy olyan feladatokat kell adni, amik ujabb es ujabb megoldasokra vezetik ra az embereket. Ha szerencsed van, van a csoportban valaki, aki rajon egy frappansra, es olyan is aki nem. Ossze lehet oket hasonlitani, meg lehet beszelni, kit mi vezetett, mi volt a mogottes gondolat. Egyre novekvo komplexitasu feladatoknal szepen at lehet ragni ezeket a dolgokat. Legjobb, ha leginkabb babaskodva. Szerintem.

Azokra a tanarokra emlekszem vissza a legintenzivebben, akik kihajtottak belolem, hogy magam jojjek ra dolgokra a minimalis szukseges alapokat megadva. A targyi tudast konnyu elfelejteni, de konnyu eloszedni egy online referenciabol. A szemleletmodot nem. Azt meg kell kapni valahonnan es meg ugy is "meg kell harcolni erte", hogy a sajatunkka valjon.

Itt persze meg kell talalni azt az optimumot, hogy mennyit kovetelhet az ember a hallgatotol, annelkul, hogy masra ne maradna ideje. Anelkul viszont, hogy valamilyen szinten vegig ne szenvedte volna magatol a dolgokat nem sok ertelme vagyon az egesznek.

Mellesleg itt van meg egy kettosseg:
Egy adott nyelv szabalyainak ismerete es azok kihasznalasa. Illetve a programozas, a programtervezoi gondolkodasmod meglete, ami viszont mar nyelvek folott all. Ez olyan dolgokra is lehetoseget ad, mint a jo nyelvvalasztas.

Szerintem ahoz, hogy igazan jol kialakuljon egy eros szemlelet legalabb 2-3 fele nyelven kell kodolni valamennyit.

xsasha 2011.02.28. 17:30:18

Kíváncsi vagyok, mi lesz a véleményed erről a beírásról. :-)

Szóval az én elméletem szerint az agy többszintű rögzítést végez. Ebben az első szint az információ elsődleges rögzítése, stb. Az utolsó szint a többdimenziós háló kialakulása. Ez már egy nem-tudatos szint. Ez a szint a valóságészlelés szintje, és a rendszerelméletem szabályai érvényesek rá, hiszen azok a valóságot írják le. Ezen a szinten az információ rendszerek egységeibe szerveződik - ezen a szinten alakul ki a rendszerlátás. Amikor ez kialakul, akkor ez a szint meghatározza, mik azok a kritériumok, amik alapján valami ebbe a rendszerbe tartozik - ez hihetetlenül felgyorsítja az azonosítást illetve az előállítást.

Ide tartozik, hogy a tudat az egy lineáris betáplálású, sík áramkör. Amikor az ember ismerkedik a rendszerekkel, akkor lineáris összefüggéseket tanul meg először, és ezeket a tudatos szint használatával alkalmazza. Mint pl. az autóvezetés tanulásakor. Amikor megtanulja az egyes autóvezetési szabályokat, akkor végülis tud már autót vezetni, de az egész olyan kockás, vagy inkább krumpli - mint egy kezdő programozó programja. Amikor megtanulja az információk párhuzamos feldolgozását, a vezetést a nem-tudatos szint végzi, az autóvezetés kisimul, kerekké válik - mint egy tapasztalt programozó programja.

Gyakorlatilag a tapasztalt programozó !látja! előre a programot, mint egy szobrász, lefejti a kőtömbről a felesleges részeket, hogy szoborrá váljon.
Míg egy kezdő programozó lego darabokból rakja össze a programot.

Egy jó programozó kialakulásához az alapok biztos tudására, megfigyelőkészségre, kíváncsiságra, intelligenciára, absztrakciós készségre és sok-sok programozásra/tapasztalatra van szükség.
(Elemek-összefüggések-folyamatok-struktúrák-rendszer: ez az út a megvilágosodáshoz. :-))
süti beállítások módosítása