Határozott integrál oktatóprogram

Feladatspecifikáció

A határozott integrál alsó és felső közelítő (Darboux) összeg megértését kell saját fejlesztésű Java oktatóprogrammal támogatni!

Legyen adott az x2 függvény a [0, 1] zárt intervallumon úgy, hogy az x és y tengely beosztása megegyező legyen 3 egymás mellett koordináta-rendszeren. Segítsünk belátni, hogy a görbe alatti terület nagysága egyharmad egység. A tengelyek legyenek feketék, a függvénygörbe kék, a közelítő és hiba téglalapok pirosak. Legyen adott egy csúszka komponens, amiben az intervallum felosztása (n) állítható 1-től 100-ig. Például, ha n=10, akkor az ábrákon jelenjen meg a 10 alsó összeget ábrázoló téglalap, a 10 felső összeget ábrázoló téglalap, az 10 közelítési hibát ábrázoló téglalap, valamint ezek területeinek összege.

Ahogy n növekszik, láttatni kell, hogy:

  • a téglalapok a függvénygörbéhez simulnak,
  • az alsó összeg növekszik,
  • a felső összeg csökken,
  • mindkét közelítő összeg egyharmadhoz tart,
  • a hiba 0-hoz tart.

Képernyőképek

A feladatspecifikációnak megfelelően minden megjelenik az elkészült Java program grafikus felhasználói felületén. Az alábbi képernyőkép az n=10 esetben kevésbé pontos közelítést ábrázol:

A következő ábra már pontosabb közelítést mutat az osztópontok számának 30-ra növelésével:

A programmal jól szemléltethető, hogyan konvergál az alsó közelítő összeg balról, a felső közelítő összeg pedig jobbról egyharmadhoz; illetve az is, hogy a felbontás finomságának növelésével a hiba nullához tart.

A bejegyzéshez tartozó teljes forráskódot ILIAS e-learning tananyagban tesszük elérhetővé tanfolyamaink résztvevői számára.

Ez a feladat a Java SE szoftverfejlesztő tanfolyam szakmai moduljának 5-8. óra: Vezérlési szerkezetek, illetve 9-12. óra: Metódusok, rekurzió alkalmához, a 29-36. óra Grafikus felhasználói felület alkalmaihoz, valamint minden tanfolyamunk orientáló moduljának 1-4. óra: Programozási tételek alkalmához kapcsolódik.

A grafikus felületek felépítésének megismerése fontos lépcső az objektumorientált programozás elmélyítéséhez, gyakorlásához. A grafikus felületekhez egy másik lényeges szemléletváltás is kapcsolódik, hiszen a korábbi algoritmusvezérelt megközelítést felváltja az eseményvezérelt (eseménykezelés).

Egyedi grafikus komponens fejlesztése

Az objektumorientált programozás három pilléren nyugszik: egységbezárás, öröklődés, polimorfizmus. Most az öröklődésre fókuszálunk. Ezzel valósul meg az egyedi grafikus komponens fejlesztése.

Elméleti háttér

Öröklődés (inheritance, extension) során a már meglévő ősosztály tulajdonságait bővíthetjük, újabb metódusokkal egészíthetjük ki, felüldefiniálhatjuk meglévő metódusait, így létrehozva az utódosztályt. Az öröklés meglévő osztály tovább­fejlesztése. Az öröklés kapcsolat a meglévő (ősosztály) és a leszármaztatott (utódosztály) között. Egy ősből több (korlátlan mennyiségű) utód is létrehozha­tó. Az öröklés tranzitív, az osztályhierarchia mélysége tetszőleges. Az ősosztály nem tud arról, hogy van(nak)-e utódosztálya(i). Az utódosztály(ok) tudják, hogy melyik osztályból származnak. Az öröklés osztályok közötti kapcsolat, ősosztály és utódosztály van, de ősobjektum és utódobjektum nincs! Az utód valamilyen szempontból mindig más, mint az ős, eltér attól, specializált.

Öröklődés során kétféle mód közül választhatunk:

  • specializálás során egy dolog (objektum) leírásához (osztályához) új, egyedi jellemzőket adunk hozzá,
  • általánosítás során több dolog (objektum) leírásából (osztályaikból) kiemeljük a közös jellemzőket.

A jellemzők lehetnek tulajdonságok, adatok, adattagok, illetve viselkedés, metó­dusok is. Az osztály deklarációinak láthatóságaira most nem térünk ki, bővebben lásd: Programozás Java nyelven könyv – új, 2022-es kiadás.

Ha nem nevezzük meg az új osztály ősosztályát, akkor a Java nyelvben az Object osztály lesz az ős (implicit ős). A Java nyelv egyszeres öröklést támo­gat, azaz egy utódosztálynak csak egyetlen közvetlen ősosztálya lehet. A több­szörös öröklés a Java nyelvben interfészek alkalmazásával valósítható meg.

A Java nyelvben az utódosztály nevét követő extends kulcsszó utal az örök­lésre ( public class UtodOsztaly extends OsOsztaly {...}), tehát az OsOsztaly-ból származik az UtodOsztaly, másképpen az OsOsztaly-nak kiterjesztése az UtodOsztaly.

Az osztályok közötti öröklési kapcsolatot UML-ben folytonos vonalból álló nyíl­lal jelöljük. A nyíl vége üres háromszög. A nyíl mindig az utódosztálytól mutat az ősosztály felé. Az osztályok közötti öröklési kapcsolatot (és csak azt) bemu­tató UML ábrát osztályhierarchia diagramnak nevezzük.

Feladat

Egyszerű módszer van arra, hogy az 2, 3, …, N természetes számok közül „kiszitáljuk” a nem prímeket. Írjuk fel sorban e számokat, és húzzuk át először a párosakat, vagyis 2 összes többszöröseit, majd a legkisebb megmaradt szám összes többszöröseit, és így tovább. Ha ezt addig folytatjuk, míg a legkisebb megmaradt szám nem éri el y/N-t, csak a [y/N, N] intervallumban lévő prímszámok maradnak áthúzatlanul. Ez az eljárás/módszer az Eratoszthenész szitája.

Öröklődés segítségével fejlesszünk olyan Java programot, amely grafikus felhasználói felülettel rendelkezik és bemutatja az Eratoszthenész szitája algoritmus működését. Ez matematikai oktatóprogram elkészítését jelenti. Az N legyen kiválasztható egy listából. A megoldás mutassa be prímszita működését az N=64 esetre.

Megoldás

 

Az öröklődés saját Panel osztály segítségével valósul meg. A Panel osztály őse a javax.swing keretrendszerben/csomagban beépített JPanel osztály. Az ősosztály testre szabása a feladat igényeihez kapcsolódóan történik. Ezek az igények kétféle csoportba sorolhatók: egyrészt a működéshez kötődő igények (eseménykezelés, vezérlés), másrészt a megjelenítéshez kötődő igények (rajzolás, színezés). A két igénycsoport közös eleme az állapotkövetés.

A bejegyzéshez tartozó teljes forráskódot ILIAS e-learning tananyagban tesszük elérhetővé tanfolyamaink résztvevői számára.

Ez a feladat a Java SE szoftverfejlesztő tanfolyam szakmai moduljának 5-8. óra: Vezérlési szerkezetek, illetve 9-12. óra: Metódusok, rekurzió alkalmához, a 29-36. óra Grafikus felhasználói felület alkalmaihoz, valamint minden tanfolyamunk orientáló moduljának 1-4. óra: Programozási tételek alkalmához kapcsolódik.

Milyen vezetők a milliárdos techmogulok?

Bill Gates, Mark Zuckerberg, Larry Page, Jeff Bezos, Steve Jobs, Elon Musk, Zhang Yiming neve mindenkinek ismerős. Biztosan mindenki társítana hozzájuk rögtön cégnevet, projektet, küldetést, akár többet is. Milyen hard- és soft skill birtokában vannak a milliárdos techmogulok? Mi a szakterületük, azon belül mivel foglalkoznak? Milyen vezetők? Hogyan lehet velük kooperálni? Honnan származik igen erős küldetéstudatuk? Munkájukon kívül mivel foglalkoznak még? Vannak-e közöttük közös pontok, tulajdonságok, konfliktusok? Mitől sikeresek, eredményesek?

A Forbes üzleti magazin évről-évre megjelenteti a leggazdagabb emberek listáját. Közülük számos üzletember számítástechnikával, IT technológiával, szoftverfejlesztéssel, informati­kával foglalkozott/foglalkozik. Közülük válogattam ebben a blog bejegyzésben:

Mindhárom elemzett nagy vezető általában „nehéz ember”. A szakterületükön belül kiválóak, értenek ahhoz, mit csinálnak. Ez sokszor technológiai hard skilleket jelent. A vezetéshez viszont sok-sok soft skill is szükséges. Gyakran autokratikus stílust képviselnek, azaz tekintélyi, hatalmi eszközökkel, céltudatosan, fenyegetéssel érik el nagy céljaikat, amik erősen motiválják, vezérlik őket. A beosztottakra többnyire úgy gondolnak, mint kizsákmá­nyolható lehetőség, akik rendelkeznek a szükséges tapasztalatokkal, amire támaszkodnak a vezetők, de ezen túl a beosztottak emberek is (érzésekkel, gondolatokkal, véleménnyel), ami ezeknek a vezetőknek kevésbé vagy egyáltalán nem számít. Egy-egy projekt koordinálásában azonban mindegyikük kiváló, akár többféle szerepben is. Ez többnyire segít „elviselni őket”, hiszen meggyőző a szakértelmük.


Bill Gates

Bill Gates (1955-) amerikai üzletember, szoftverfejlesztő, feltaláló, filantróp, a világ egyik leggazdagabb embere. Életének mérföldkövei:

Szülei sikeres üzletemberek voltak. Érdeklődési területének meg­felelően a Lakeside középiskolába járt (1968-1973), mert ott kimagasló volt a számítás­tudomány specializáció. Felsőoktatási tanulmányait a Harvardon (1973-1975) matematika szakon kezdte, de 1976-ban halasztott és nem szerzett diplomát.

Gates első vállalkozása a Paul Allennel közösen alapított Traf-O-Data, amely a seattle-i utakon végzett forgalommérés adatait dolgozta fel mikroszámítógép segítségével. Az IT-ban hírnevét elsősorban a grafikus interfész forradalmasítása során végzett tevékenységéért szerezte. A Microsoft vezérigazgatója 1975-től.

A grafikus interfész ötletének eredete a ’60-as évekig nyúlik vissza, de sokáig laboratóriu­mokban, a nagyközönségtől elzártan maradt a koncepció. Az Apple alapító-tulajdonosának, Steve Jobsnak felkeltette az érdeklődését a Xerox PARC kutatólaboratóriumban folyó munka, illetve számítógépük, a Xerox Star, és az Apple elkezdett dolgozni a grafikus interfészen. Az Apple és a Microsoft ebben az időben szoros partneri viszonyban álltak, a Microsoft különféle szoftvereket fejlesztett a konstruktőr számára. A kapcsolatnak köszönhetően Gates tudomást szerzett a megvalósítási fázisba lépett tervről. Ő maga is elkötelezettje volt a grafikus felületnek. Steve Jobs előrelátóan olyan megállapodást kötött a Microsofttal, amelyben ki kellett jelenteniük, hogy 1983 decemberéig nem szállítanak grafikus felhasználói felületet az MS-DOS-hoz. Gates elhatározta, hogy az MS-DOS-hoz is kifejleszt egy grafikus képernyőt, ez lett a későbbi Windows. Amint ez Jobs tudomására jutott, lopással és ipari kémkedéssel vádolta meg Gatest, de akkor még sikerült elsimítani a konfliktust, mivel a Windows még csak ötlet szintjén létezett. 1984. január 23-án bemutatták az Apple Macintosht, amely óriási sikert aratott. A bemutatón Gates is részt vett, és kifejezte szándékát minél több Microsoft alkal­mazás Macintoshra történő adaptálására. A Microsoft következő generációs operációs rend­szere IBM-kompatibilis rendszerekre a grafikus felülettel rendelkező Windows 1.0 lett, amely kereskedelmi forgalomba majdnem két év késéssel, 1985. november 20-án került.

Bill Gates és felesége, Melinda 2000-ben hozta létre a Bill és Melinda Gates alapítványt. Az eleinte számítástechnikai irányultságú tervek (interneten elérhető nyilvános könyvtárak létrehozása) után a házaspár figyelme a szegény gyerekek támogatása és az orvosi célú kutatások felé fordult. Célul tűzték ki a gyermekhalandóság csökkentését, valamint az Egyesült Államokban beindítottak egy lakhatási programot hajléktalan családok számára. 2003-ban Indiában AIDS-ellenes kutatásokat támogatott az alapítvány, illetve malária-ellenes vakcinák kifejlesztésére fordítottak 258 millió dollárt. E két betegség ellen a szervezet ezt követően is kitartóan küzdött. 2006-ban az alapítvány három alappillérre helyezte tevékenységét, melyek a globális egészségügy, a globális fejlődés, illetve az Egyesült Államokban tapasztalható munkanélküliség csökkentése új munkahelyek teremtésével. Az alapítvány projektjei az évek során folyamatosan bővültek a fenntartható mezőgazdasági fejlődés, a természeti katasztró­fák elleni gyors reagálás, az éhínség leküzdése, a gyermekbénulás elleni harc, védőoltások és más hasonló témákkal, mely projektek elsősorban a fejlődő világ országaira fókuszáltak. Bill Gates 2012-ig 28 milliárd dollárt költött jótékonyságra. 2008-ban felhagyott a Microsoft-beli napi munkával, hogy minél több időt tudjon jótékonysági tevékenységére fordítani.

Bill Gates 2005. március 2-án lovagi címet kapott II. Erzsébet brit királynőtől, elsősorban jótékonysági tevékenységének elismeréseként. Világszerte hírnévre tett szert.

Bill Gates legfontosabb vezetői tulajdonságai voltak

  • Céltudatos
    Gates kezdettől fogva arra fókuszált, amihez a legjobban – és mindenki másnál jobban – értett: a szoftverre. Ezt kemény munkával a lehető legmagasabb szintre tökéletesítette. Évtizedeken át képes volt kitartóan követni célját, bármilyen akadályok kerültek útjába. Céltudatossága megmutatkozik jótékonysági tevékenységében is.
  • Elkötelezett
    Az volt az álma, hogy minden háztartásban legyen számítógép. Ezt a célt gyakorlatias módon, lépésenként haladva kívánta megvalósítani. Vezetői gyakorlatában azt az elvet követte, hogy „Ahelyett, hogy megpróbálnánk egyből a csúcsra jutni, egyszerre csak egy lépést teszünk”.
  • A változásokból előnyt kovácsolt
    „Az egyetlen biztos dolog a változás, és minél jobban tudunk alkalmazkodni hozzá, annál sikeresebbek lehetünk.” Bill Gates tisztában volt azzal, hogy az üzleti életben mindig vannak fluktuációk és változások, amelyekhez a siker elérése érdekében alkalmazkodni kell. Ezzel a hozzáállással egy olyan vállalatot hozott létre, amely túlélte a nehézségeket, válságokat, és sikerrel jött ki belőlük.
  • Szenvedélyes, mindent beleadva dolgozott
    Gates hitt abban, hogy „Ha valamit érdemes csinálni, akkor azt érdemes a lehető legjobban csinálni”. Óriási lelkesedéssel és szeretettel csinált mindent. Gates szerint rendkívül fontos, hogy mindent, amit az ember elvállal, a tőle telhető legnagyobb odaadással végezze.
  • Önképző
    Annak ellenére, hogy abbahagyta a felsőoktatást és tisztában volt a formális oktatás korlátaival, Gates számára a tanulás egy élethosszig tartó folyamatot jelent, és vezetőként is ezt a meggyőződést adta át az embereinek. Folyamatosan tanult, képezte magát, fejlesztette a kommunikációs és társas készségeit, tanulta a nyilvános beszéd fortélyait. Emellett rengeteget írt és olvasott. Többet, mint amennyit legtöbbünk valaha is fog egész életében. A tudás – ahogy Gates vallja – korlátlan, az emberben pedig bölcsességet és alázatot kell, hogy eredményezzen felsőbbrendűség helyett.
  • Jótékonykodó
    Bill Gates a világ egyik leggazdagabb embere, azt is elmondhatjuk róla, hogy ő az egyik azok közül, akik jótékonysági munkájuk által a legtöbbet adják vissza az emberiségnek, lásd fenn: Bill és Melinda Gates Alapítvány.
  • Jövőkép-orientált
    A Microsoft azért tudta legyőzni versenytársait, mert Gates mindig, folyamatosan egyre nagyobb és nagyobb jövőképet vizionált.

Bill Gates ismert gyenge pontjai voltak vezetőként

  • Konfliktuskerülő
    Gates nem szeretett konfrontálódni. Gyakran amennyire csak lehetett, kerülte a konfliktusokat, mert kényelmetlenül érezte magát ezekben a helyzetekben.
  • Arrogáns
    Amikor valaki mélyreható tudással rendelkezik egy témában, amit szenvedéllyel kutat, könnyen átcsúszhat a túlzott magabiztosságból az arroganciába. Gates önérvényesítő volt, nyíltan kinyilvánította az általa helyesnek vélt elképzeléseket, ötleteket. Ha úgy érezte, hogy az ő ötlete a legjobb, akkor elvárta, hogy azt kövessék. Amennyiben kiderült, hogy az adott elképzelés mégsem működik, Gates könnyen arrogánssá vált, amivel megnehezítette mások munkáját.

Steve Jobs

Steve Jobs (1955-2011) amerikai feltaláló és üzletember volt. Az Apple multinacionális IT vállalat társalapítója, egykori elnök-vezérigazgatója. Jobs irányítása alatt fejlesztette ki a cég egyik fő termékét, a kultikus Macintosh számítógépet, valamint az iPod médialejátszót, az iPhone okostelefont és az iPad táblagépet. Életének mérföldkövei:

A fiatal Steve Jobsra nagy hatással volt apja ezermester-tudása és tökéletességre való törek­vése. Jobs az iskolai éveket unalmasnak találta, később pedig beilleszkedési zavarai voltak. Több csínytevése volt, de örökbefogadó szülei laza fegyelemmel nevelték. A Life magazin egyik éhező gyerekeket mutató címlapjának hatására megingott a bizalma a keresztény vallásban. Jobs a Homestead középiskolában tanult, ahol kiemelten foglalkozott elektronikával. Kipró­bálta a marihuánát és az LSD-t is. Különc volt megjelenési és étkezési szokásait illetően. Egy elektronikai témájú órán ismerkedett meg az öt évvel idősebb, zseniális Steve Wozniakkal. Habár a szintén némileg aszociális Wozniak jelleme különbözött Jobsétól, mégis összebarát­koztak. Később együtt alapították meg az Apple vállalatot.

Vegyük sorra legfontosabb találmányait, amelyek elkészültében többféle szerepet is betöltött (technológiai innovátor, tervező, termékmenedzser, folyamatmenedzser, értékesítő):

  • Apple I., 1975: korának megfelelően „teljesen összeszerelt” számítógép volt, de tápegységgel, monitorral, burkolattal, de még billentyűzettel se rendelkezett, csak a készre szerelt alaplap volt meg a szükséges csatlakozóhelyekkel.
  • Apple II., 1977: az egyik első rendkívül sikeres, tömeggyártású mikroszámítógép, kapcsolóüzemű tápegységgel, értékesítése fogyasztói piacra irányult: az amerikai háztartásokat célozta meg.
  • Macintosh 128k (1984): az első üzleti sikert hozó számítógép a Classis Max OS grafikus felhasználói felülettel rendelkező operációs rendszerrel.
  • Apple-boltok (2001-től): exkluzív üzlethálózat az Apple termékek kizárólagos értékesítésére szánva.
  • iPod (2001): az első hordozható mp3 lejátszó.
  • iTunes-bolt (2004): legális digitális zeneletöltési lehetőség, online platform.
  • iPhone (2005): az első saját, zárt platformos okostelefon és egyben fejlesztői platform és online alkalmazásbolt.
  • iPad (2010): az első óriási táblagép, ezzel az Apple mindenhol jelen van, ahol csak lehet az elektronikai piacon.

Egy lopás története: Steve Jobsszal kapcsolatban az egyik legtöbbet emlegetett kritika, hogy ellopta a Xerox PARC által kifejlesztett grafikus felhasználói felület (GUI) és az egér ötletét, megfosztva a feltalálót a jogos sikerétől. A valóság azonban ennél árnyaltabb. Habár Jobs a Xerox PARC által fejlesztett találmányt felhasználta, sőt a „lopás tényét” is elismerte, jóval többet tett egy technika átvételénél. A Xerox PARC által készített rendszer nem csak nagyon drága, de működése is kényelmetlen és kidolgozatlan volt. Jobs a Xerox PARC egeret nem csak továbbfejlesztette, hanem az árát 300 dollárról mindössze 15 dollárra csökkentette. A grafikus kezelőfelület pedig jóval kifinomultabb és felhasználóbarátabb lett, mint az eredeti. Habár nem közismert, de a Xerox PARC 1981-ben – jóval Steve Jobs előtt – bemutatta a maga modelljét Xerox Star néven. Azonban a forradalmi gép üzleti bukás volt és mindössze 30 ezer darabot tudtak értékesíteni. Jobs így lényegében egy olyan technológiát „lopott el”, amit feltalálója nem tudott sikeresen hasznosítani. Ez az eset jó példája Jobs munkásságának, amikor mások számára sikertelen vagy kevésbé sikeres technológiát gondol újra és áttervezve sikerre viszi azt.

Steve Jobs legfontosabb vezetői tulajdonságai

  • Nem szívesen delegált.
  • Jobs tudta, hogy a kreativitás csak „összekapcsolja a dolgokat”.
  • Megtalálta az egyensúlyt a munkatársai felhatalmazása és a példamutatás között.
  • Távol tartotta a kreatív munkatársait a kritikusoktól.
  • Az innováció néha a kivonásról szól. „Hagyjuk el a nem szükséges dolgokat, funkciókat, nyessük le a vadhajtásokat.”
  • Rendíthetetlenül szenvedélyes volt cégei iránt.
  • Nem félt másként gondolkodni.
  • „Sokkal többre van szükséged, mint a vízióra – makacsságra, szívósságra, hitre és türelemre van szükséged ahhoz, hogy megtartsd az irányt” – mondta Edwin Catmull, a Pixar társalapítója. „Steve esetében egészen a határig nyomul, hogy megpróbálja megtenni a következő nagy lépést előre.”
  • „A nagyszerű dolgokat az üzleti életben soha nem egy ember csinálja, hanem egy csapat ember.”
  • Hatékony prezentációs technikát fejlesztett ki.

Elon Musk

Elon Musk (1971-) dél-afrikai származású amerikai mérnök, vállalkozó és multimilliárdos újító, a világ egyik leggazdagabb embere. Nevéhez fűződnek a következő cégek/projektek: Zip2, X.com, PayPal, SpaceX, Tesla Inc., SolarCity, The Boring Company, Neuralink, Starlink, Hyperloop. Napjaink egyik géniusza, megszállott zseni, magával ragadó jövőképpel és tömény ambícióval. Életének mérföldkövei:

12 évesen játékprogramot írt, amivel 500 dollárt keresett. 17 évesen Amerikába szeretett volna emigrálni, de csak Kanadában kapta meg az állampolgárságot. Fizikát és közgazdaság­tant tanult, szerzett is 2 diplomát, majd az USA-ba költözött. 1995-ben meg alapította az öccsével a Zip2 vállalatot, majd ezt el is adták 1999-ben 345 millió dollárért a Compaqnak. Musk vállalatai az elektronika köré csoportosítható technológiákkal foglalkoznak, ő maga pedig az elektromos járműveinek (Tesla típusok), akkumulátorainak és napenergiás termékei­nek terméktervezési, mérnöki és globális gyártási munkálatait látja el. Űrkutatással foglalkozó vállalata kifejlesztette a Dragon űrhajót és a Falcon hordozórakétát, amelyek képesek a Nem­zetközi Űrállomás ellátására, innovatív, nagy arányban újrahasznosítható/visszatérő modulok­ból állnak.

Elon Musk vezetői tulajdonságai

  • Megszállott
    A munkája a lételeme. Hajthatatlan. Minden ébren töltött órájában formálja, finomítja és megvalósítja elképzeléseit. Szenvedélyesen merül bele a munka legapróbb részleteibe is. Napjainkra elért sikerének kulcsa, hogy heti kb. 100 órát dolgozik. Extrém magas elvárásokat támaszt önmaga és a cég emberei felé is, és hidegvérrel kirúgja azokat, akik nem képesek megugrani ezeket. Nagyon személyes kapcsolat fűzi találmányaihoz és vállalkozásaihoz. Ez a szenvedély és szeretet pedig ragályos: bizalmat, tiszteletet, sőt odaadást, imádatot vált ki másokból. Hosszú távú és másokat is magával ragadó jövőképpel rendelkezik. Rendkívüli ambícióval és kitartással valósítja meg mindazokat a dolgokat, amiket mindenki más lehetetlennek tart. Musk jövőképe, a sikerei mögött rejlő hajtóerő: az emberiség jobb jövője. Egy olyan világ, amely a fosszilis energiahordozók helyett környezetbarát energiaforrásokkal működik. Egy olyan világ, amely elektromos autókat használ, amely meghódítja az űrt és kolóniákat épít a Marson. Ezenfelül Musk azáltal, hogy megosztja grandiózus jövőképét és céljait a munkavállalókkal, képes magához vonzani a világ legtehetségesebb, legjobb szakembereit. Még olyankor is, amikor más vállalatok jelentősen nagyobb fizetéseket vagy kedvezőbb feltételeket ígérnek nekik. Az egyik tehetséges szakembere így nyilatkozott erről: „Amikor döntenem kellett, hogy Musknak akarok-e dolgozni vagy egy másik cégnél, ahol többet fizetnek, eldobtam minden logikát és óvatosságot, és a kreatív géniusz mellett döntöttem.”
  • Csapatban gondolkodik
    Musk folyamatosan nyeri el követőinek bizalmát még a bizonytalan helyzetekben is azáltal, hogy kiszámítható, megbízható és átlátható. Ezért tartanak ki mellette a befektetői és támogatói még a gazdaságilag instabil időszakokban is. Musk rendkívüli mértékben tudja inspirálni az embereit. Kulcsfontosságú számára, hogy a legjobb embereket a számukra legmegfelelőbb munkakörökben alkalmazza. Majd ezt követően magas követelményeket támasszon feléjük és – amennyiben teljesítik ezeket – tisztességes javadalmazásban részesítse őket. Ugyanakkor igen gyorsan kirúgja azokat, akik nem végzik munkájukat kellő szenvedéllyel és lelkesedéssel.
  • Rendíthetetlenül optimista
    Musk ötleteit sokan kételyekkel fogadják. Őt azonban semmilyen módon nem befolyásolja mások szkepticizmusa, és nem törődik azzal, ha mások nem hisznek benne. Folyamatosan kiáll azért, amiben hisz. A kritikát, ellenvéleményeket azonnal lereagálja, és konkrét tényekkel érvelve támasztja alá meggyőződéseit. Musk számára a kudarc a kreatív, alkotó folyamat természetes velejárója. Nagyra értékeli a visszajelzéseket. Folyamatosan arra törekszik, hogy egyre jobban teljesítsen, mert tudja, hogy csak így juthat el céljai megvalósításához. Musk a kudarcok ellenére is mindig megtartja rendíthetetlen optimizmusát, és teljes bizonyossággal tudja, hogy sikert fog elérni.
  • Az állandó tanulásra, fejlődésre fókuszál egyéni és vállalati szinten egyaránt
    Muskot a folyamatos kíváncsiság, tudásszomj és tanulási vágy jellemzi. Az összes vállalkozásának minden részletét alaposan kitanulta. Hibáiból, kudarcaiból és sikereiből egyaránt gyorsan tanul. Minden új információra nyitott, és nem fél a változtatástól, amikor új információk segítségével ismeretlen szituációkhoz kell alkalmazkodnia. Dolgozóit is arra biztatja, hogy merjenek elrugaszkodni a megszokottól, a hagyományos módszerektől, és legyenek kreatívak, innovatívak. „Igen, lehet, hogy hibázni fog az ember. Ha sosem hibázik, az azt jelenti, hogy nem eléggé újító.”
  • Nagyra értékeli önmagát
    Musk a gyengeségei helyett az erősségeire fókuszál, és ezeket nem rejti véka alá. Nem szerénykedik képességeivel, tudásával, sőt, nyíltan vállalja azokat.
  • Nyers stílusban kommunikál
    Muskot agresszív, követelőző magatartás jellemzi. Makacs és rugalmatlan. Nyers, durva stílusban kommunikál és konfrontálódik. Egocentrikus, és ez a mindennapos kommunikációjában is jelen van. Hiányoznak az érzelmi intelligenciához szükséges bizonyos képességei. Nem képes az empátiára, és nem tudja felismerni mások érzéseit. Számára egyébként sem fontos a dolgozók lelkivilága, vagy az, hogy az emberei hogyan érzik magukat a cégnél. A termelékenység és a hatékonyság élvez prioritást a humán tényezőkkel szemben.

Források

Kutatók éjszakája 2024

Kutatók éjszakája logó

Kutatók éjszakája logó

A Kutatók éjszakája nemzetközi rendezvénysorozat 2005-ben indult. Magyarország 2006-ban csatlakozott. Azóta évről-évre egyre több intézmény nyitja meg hazánkban kapuit, szervez érdekes programokat, sok-sok településen, több száz helyszínen, több ezer eseményt meghirdetve sok tízezer érdeklődő/résztvevő látogatónak biztosít tartalmas estét.

Bár a kezdeményezés elsősorban a kutatói pálya népszerűsítését szolgálja, ezért leginkább a tizen- és huszonévesekre számít, az események vonzók és elég érdekesek ahhoz, hogy a kisgyerekektől a legidősebbekig mindenki megtalálja a számára izgalmas programokat. Korábban nagyobb felsőoktatási intézmények és kutatóintézetek szerepeltek döntően, de az utóbbi néhány évben egyre több kisebb intézmény, tehetséggondozással foglalkozó középiskola, cég, egyesület is csatlakozott a rendezvényhez. A Kutatók éjszakája rendezvény minden meghirdetett programja ingyenes.

Rendezvényünk plakátja

Az it-tanfolyam.hu 2024-ben is hirdetett programokat az eseményhez kötődően. Programjainkat elsődlegesen követőinknek, aktív hallgatóinknak és az alumni csoportunkban hirdettük meg, de persze nyílt rendezvényként valósult meg. Az eseményekre regisztrálni kellett a weblapon. A regisztrációs időszak két hétig tartott, szeptember 13-26-ig. Programjainkra szeptember 27-én 21:00-23:55-ig került sor.

21:00-21:25 – Kiss Balázs: OpenAI GPT nyelvi modell – tippek a hatékony használatához
Az előadó az egyike volt a Doktoranduszok programoznak – újratöltve 24 órás Mesterséges intelligencia modul oktatóinak. Saját tapasztalatait összegzi az alábbi hívószavak alapján. Alap AI funkcionalitás, megerősítéses és gépi tanulás lehetőségei és korlátai, nyelvi modellek képességei. Említ néhány generatív AI funkciót a kép, ábra, grafikon, térkép, hang, animáció, videó generálása és ezek tömeges feldolgozása kapcsán. Előkerülnek a programozási tételek, valamint alkalmazásuk multimédia analitikával együtt. Ha lesznek haladók a látogatók között, akkor az előadó bemutat néhány objektum- és aspektusorientált tervezés során használható AI eszközt, illetve igény esetén néhány kutatómunkát támogató AI eszközt is.

21:35-21:55 – Kaczur Sándor: Algoritmusok vesebeteg-donorok párosítására
Hogyan működik 2007 óta Nagy-Britanniában a vesebeteg-donorok párosítása? Sima csere 2 pár esetén adódik. 3 pár esetén körbeadják a vesét egymásnak – ez már jóval összetettebb. A felépített óriási adatbázisban akár több száz lehetőség is adódhat. A probléma megfelelő párosítási algoritmus és számítógép nélkül, pusztán emberi erővel megoldhatatlan lenne. Az implementált algoritmus futási ideje mindössze 30 perc. A párosítást követően a következő lépés a műtétek egyidejűsége, és a donor szervek „utaztatása” minden lehetséges földi, vízi, légi úton és lehetséges közlekedési eszközzel. Hogyan működik mindez a gyakorlatban? Milyen korlátok, problémák vannak? Milyen adatok alapján dönthető el a betegek „kompatibilitása”? Ezek közül mi kapcsolódik az egészségügyhöz és a szállításhoz? Az előadó próbál válaszokat adni, de lehet, hogy a végén több lesz a kérdés, mint a válasz. Vajon egyáltalán felmerül a párosítási algoritmus hatékonysága ekkora társadalmi hasznosság mellett? A program a Java tanfolyamaink orientáló moduljához kötődik. A tavalyi előadás anyaga kiegészült néhány igazán látványos animációval, szimulációval.

22:00-22:25 – Szegedi Kristóf: Játékprogramok nyerő stratégiáinak elemzése
A tudásalapú rendszerek elméleti alapjaihoz tartoznak a mesterséges intelligencia különböző megoldáskereső módszerei, az állapottér-reprezentáció és a klasszikus keresési stratégiák, heurisztikák. Egy játék állapotait nyilvántartjuk egy adatszerkezetben. Lehet, hogy néhány lépést előre kalkulálunk (kiterjesztünk) és ezek elágazásaiból fát (fa adatszerkezet) tudunk építeni. Ezeket hatékonyan karban kell tartani konstrukciós és szelekciós műveletekkel. Heurisztika alapján döntéseket kell hozni. Vajon melyik állapot a jobb, vagy kevésbé rossz, legalább olyan jó mint ahol járunk? Ki kell értékelni és abba az irányba érdemes haladni, amelyben végül a döntések sokasága igazolja és egyben adja a nyerő stratégiát. Ha ez nem megy, akkor még mindig játszhatunk nem vesztő stratégiával, azaz lehet cél a hosszabb játékmenet, vagy akár a döntetlen állapot is. Az előadás ismertet néhány tipikus problémaszituációt, játékteret leképező reprezentációs gráfbeli navigációt és összehasonlít néhány fabejáró/gráfbejáró stratégiát. A program mindhárom Java tanfolyamunk orientáló moduljához kötődik. Előismeretként feltételezünk némi jártasságot a programozási alapismeretek, programozási tételek, ciklusok, metódusok, tömbök témakörökből.

22:30-22:55 – Hollós Gábor: Algoritmikus gondolkodás fejlesztése: mintaprogramok, esettanulmányok
Az előadó bemutat néhány olyan mintaprogramot/esettanulmányt – természetesen a fokozatosság elve alapján -, amelyek kiválóan alkalmasak a közös eszmecserére. Az algoritmusok átgondolása segíti a szabályalapú megközelítést. Sémák, programozási tételek is előkerülnek – sőt ezek egymásba ágyazása is előkerül. Iteráció vs. rekurzió. Különböző adatszerkezetek képességei, funkciói, konstrukciós és szelekciós műveletei. Az algoritmikus megközelítés szemléletmód állandóságot, stabilitást jelent gondolkodásunkban, tágítja szellemi tevékenységünk körét, célt és formát ad egy probléma megoldásának. Az előadó abban bízik, hogy a fentiek érzékeltetésére alkalmas problémákat, programokat gyűjtögetett össze.

23:00-23:25 – Falus Anita, Ménesi Viktor: Karrierváltás után – az álláskeresés és néhány hónap KKV-s tapasztalatai szoftverfejlesztőként
Mennyire könnyű ma szoftverfejlesztőként elhelyezkedni szakirányú felsőfokú végzettség nélkül? Milyen kihívásokkal találkozhatunk a felvételi folyamat során? Milyen elvárásokat támasztanak a munkaadók egy junior szakemberrel szemben? Hogyan telnek a beilleszkedés után a hétköznapok junior fejlesztőként kis létszámmal működő informatikai profilú kisvállalkozásnál? A tanfolyamainkon 2021-től 2023-ig végzett előadók karrierváltó junior szakemberként személyes tapasztalataikról számolnak be és válaszolnak a kérdésekre. A program a Java tanfolyamaink orientáló moduljához kötődik.

23:30-23:55 – Kaczur Sándor: Gondolkodjunk logikusan!
Az előadás során áttekintjük az intelligencia, a kreatív problémamegoldó és logikus gondolkodás összefüggéseit és izgalmas feladatokból válogatva közösen megoldunk néhány fejtörő feladatot. Néhány példa: Hány éves a kapitány?CHOO + CHOO = TRAIN, Logikus gondolkodás teszt. Minden feladathoz adunk rávezető példákat – ha esetleg egyik-másik nem menne, akkor ebből ki fog derülni, hogy miket érdemes gyakorolni ahhoz, hogy sikerüljön. A korábbi évek anyagát az előadó kiegészítette néhány Java algebrai csomag funkcionalitásának bemutatásával és látványos, szinte önmagyarázó grafikus ábrákkal.

 

A programjaink népszerűek voltak. 52 érdeklődő látogatót fogadtunk. Többségük végig velünk tartott. Elgondolkodtató párbeszéd alakult ki a mesterséges intelligencia témakörében, illetve sok-sok kreatív megoldás került elő a logikus gondolkodás program fejtörőivel kapcsolatosan. Néhányan megragadták a lehetőséget, hogy több budapesti helyszínt is meglátogassanak – ahogyan ez megszokott a Kutatók éjszakája rendezvényeken hosszú évek óta. Kellemes hangulatban, tartalmasan töltöttük együtt ezt a három órát, aminek igazán örülök.

Szeretném megköszönni az előadó oktató kollégák és alumni hallgatóink színvonalas munkáját, igényes felkészülését. Köszönjük mindenkinek, aki részt vett a Kutatók éjszakája 2024 rendezvényünkön. Az előadások prezentációit tanfolyamaink hallgatói számára – a témához kapcsolódó témakörökhöz, ILIAS-ra feltöltve – tesszük elérhetővé.

Euler állatos feladata – geometriai megközelítés

EulerAllat

EulerAllatValaki sertést, kecskét és juhot vásá­rolt, összesen 100 állatot, pontosan 100 aranyért. A sertés darabja 3 és fél arany, a kecskéé 1 és egyharmad, a juhoké fél arany. Hány darabot vehetett az egyes állatokból?

Tudjuk, hogy a feladatnak három megoldása van:

  • 5 db sertés és 42 db kecske és 53 db juh
  • 10 db sertés és 24 db kecske és 66 db juh
  • 15 db sertés és 6 db kecske és 79 db juh

Klasszikus informatikai megközelítést – egymásba ágyazott ciklusokat – bemutattam már: Euler állatos feladata. A brute force alapgondolat fokozatos finomítását követően néhány ötleteket is adtam a továbbfejlesztéshez. Ez igazi örökzöld feladat. Látogatottsága alapján rendületlenül népszerű ez a blog bejegyzés az it-tanfolyam.hu szakmai blogban. Többek között ez inspirált a feladattal való további foglalkozásra.

Mit jelent a geometriai megközelítés?

Egy térbeli pont három koordinátával leírható. Az (s, k, j) ponthármas jelenti a sertések, kecskék és juhok számát. Az RGB színkockához hasonlóan (amibe belefér az összes ábrázolható színhez tartozó koordinátapont), most is elférünk egy kockában. Legyen a kocka egyik csúcsa az origó és az élei legyenek 100 egység hosszúak. A feladat megfogalmazása alapján két egyenlet (e1 és e2) írható fel 3-3 együtthatóval. Mindkét egyenlet meghatároz egy síkot (s1 és s2) a térben, amelynek ábrázoljuk a kockába eső síkmetszeteit. A két sík metszésvonala egyenes (e3), amire esnek a megoldások pontjai (m1, m2, m3). Lépésenként haladunk a geometriai ábrázolás során.

A grafikus felületen történő ábrázoláshoz, rajzoláshoz két korábbi projektünkből indulunk ki. A Kígyókocka grafikus felületen feladat ismertet egy grafikus keretrendszert JavaFX-ben megvalósítva. A három részből álló Naprendszer szimuláció esettanulmányunk pedig ismerteti az ábrázoláshoz szükséges elméleti hátteret, homogén transzformációkat, vetületi leképezést, Java forráskódot is bemutat a transzformációs mátrix alkalmazására.  Az eddig említett három blog bejegyzést mind összeépítve készültek a továbbiak.

A geometriai megoldást lépésenként, saját fejlesztésű, grafikus felhasználói felülettel rendelkező, JavaFX alapú programról készült képernyőképek mutatják be – markáns Java forráskód-részletekkel.

Hogy jelenik meg a megoldásokat tartalmazó kocka?

Elegendő ábrázolni a kockának azt a három élét, amik egybeesnek a koordinátatengelyekkel. Az RGB színkockához hasonlóan piros, zöld, kék színekkel jelennek meg a három tengelyen lévő néhány pont. Az ábrázoláshoz érdemes kísérletezni egy kicsit: mekkora méretben (skála), honnan (nézőpont), milyen messziről (vetület, ideális pont, perspektíva, távolság) látszik a modelltérbeli objektum (igen, ez a kocka).

Az alábbi Java forráskód-részlet helyezi el a fenti pontokat. Mindhárom tengelyen 5-től 95-ig, 10-esével haladunk. Így elkerülhető, hogy az origóba kerüljön pont, hiszen az nem tudna egyszerre három színnel megjelenni. Mivel az állatok száma pozitív, így a koordinátapontok is nemnegatívak.

Hol vannak az első egyenlet síkjának pontjai?

A korábbi megoldásnál feltételként megfogalmazott első 3.5*s+4.0/3*k+0.5*j==100 egyenlet egyszerű átalakításokkal megadja a piros és zöld síkbeli ponthoz tartozó kék térbeli pontot: j=(600-21*s-8*k)/3. Ezek az s1 síkra esnek. A citromsárga pontokat páros koordinátapárokra vizsgált feltétel jelöli ki. A narancssárga vonal behatárolja ezt a síkmetszetet. Ez a négyszög (trapéz) esik bele a kockába.

A citromsárga pontokat az első egymásba ágyazott ciklusok adják hozzá az ábrázolt modelltérhez: érzékeltetve a síkbeli pontokat. A narancssárga pontokkal a második egymásba ágyazott ciklusok bővítik a modellteret: behatárolva a kockabeli négyszög síkrészletet. (A trapéz oldalait szakaszként is lehetne ábrázolni, de ez a kellően sűrű ponthalmaz is elegendő).

Hol vannak a második egyenlet síkjának pontjai?

Hasonlóan az eddigiekhez. A korábbi  s+k+j==100 feltételből adódik a szintén feltételként megfogalmazott  j==100-s-k egyenlet. Ezek az s2 síkra esnek. Világosszürke pontok érzékeltetik a síkot és sötétszürke pontok adják a síkrészlet határait. A síkból ez a háromszög esik bele a kockába.

A Java forráskód nagyon hasonló az előzőhöz.

Hogyan helyezkedik el a két sík a kockában?

Egyben kirajzoltatva a fentieket, könnyen adódik ez az ábra:

Hol van a két sík metszésvonala?

Mivel a két sík nem esik egybe, így van metszésvonaluk. Ez egy egyenes, amiből csak az az e3 szakasz rész szükséges, ami a kockába esik. Bíbor (magenta) szín jelöli az alábbi ábrán:

Ahol a két egyenlethez tartozó konkrét pontok egybeesnek, ott van a metszésvonal. A behelyettesítést behatároló ciklusok szervezéséből (a ciklusváltozók alsó és felső és határaiból) adódik, hogy csak a kockabeli szakaszt rajzolja ki az alábbi Java forráskód-részlet:

Hol jelenik meg a feladat három megoldása?

A két egyenlethez tartozó síkok kockába eső metszésvonalán helyezkednek el az egész koordinátákkal ábrázolható, koordináta-hármasként megjelenő pontok. Nagyobb fehér pontok jelölik ezeket az alábbi ábrán:

Az eddigiek alapján könnyen adódik a három pont/megoldást ábrázoló Java forráskód-részlet:

A bejegyzéshez tartozó teljes forráskódot ILIAS e-learning tananyagban tesszük elérhetővé tanfolyamaink résztvevői számára.

Ez a feladat a Java SE szoftverfejlesztő tanfolyam szakmai moduljának 5-8. óra: Vezérlési szerkezetek, illetve 9-12. óra: Metódusok, rekurzió alkalmához, a 29-36. óra Grafikus felhasználói felület alkalmaihoz, valamint minden tanfolyamunk orientáló moduljának 1-4. óra: Programozási tételek alkalmához kapcsolódik.

Tanfolyamainkon JavaFX grafikus felülettel hangsúlyosan nem foglalkozunk, de egy-egy kész forráskódot közösen megbeszélünk, és össze is hasonlítjuk a swing-es változattal. Fejlesztünk játékprogramot, de inkább konzolosan, vagy swing-es ablakban, vagy webes alkalmazásként.

A grafikus felületek felépítésének megismerése fontos lépcső az objektumorientált programozás elmélyítéséhez, gyakorlásához. A grafikus felületekhez egy másik lényeges szemléletváltás is kapcsolódik, hiszen a korábbi algoritmusvezérelt megközelítést felváltja az eseményvezérelt (eseménykezelés). A GUI-s feladatainkat tudatosan hangsúlyozott MVC-s projektekben készítjük el.