Paradoks ne Universitetet Shqiptare

Mund te thoni se me pelqen kritika, porse nuk eshte e vertet.
Me pelqen te them fjale te mira , te lavderoj por jo pa vend.
E pra kete teme po ja dedikojme pedagogeve tane te dashur (nese jane te tille).
E nga tja nisim :/ , eshte fjala per fakultetet e informatikes , per te tjerat qe nuk kam njohuri nuk mund te flas.
Shumica e atyre qe pergatisin sot “eliten” shqiptare te informatikes, inxhinieret e ardhshem ,
Specialistet e Sigurise, Programatoret, Administratoret,
Specialistet e rrjetit sistemeve operative etj …etj ..nuk kane mbaruar vet per Informatike!
SI?
Po po, nuk kane mbaruar as per informatike te pergjithshme te harrojm specializimet\masterat etj,
por kane mbaruar per Fizik ose Matematik!
A mund te me thoni se ç’lidhje ka pitagora me kriptografine rijndael?
A mund te me thoni se ç’lidhje ka Isak Newtoni me nje Stack Overflow apo
me nje proçesor qe ka arritur 100%?
Dhe gjithsesi mbeten PEDAGOGE apo jo?
Pedagoge vertet mbeten, por jo Informatike ama!
Nuk dua ti heq asnjerit meritat, mund te kene metode te shkelqyer mesimdhenie,
mund te jene shkenctaret e matematikes apo fizikes, por me Informatiken jane amator dhe
jo te Diplomuar, nese jane profesionist ku e kane diplomen?
Une kete teme po e shkruaj si i jashtem, pasi personalisht nuk kam studjuar ne shqiperi porse
shume te njohur me kane sinjalizuar per situaten aty, dhe e keqa eshte se
nga mosha qe kane nuk çohen dot as nga karrigja tju hapin vendin te rinjve (pleqeri hesapi)
qe me siguri jane shume here me lart se ata.
Gjendja eshte e deshperuar, shumica e studenteve edhe pse mbarojn
“per informatik” nuk dine te shkruajn nje program, nuk dine te ndertojn nje faqe te thjeshte ne html,
nuk dine te menaxhojn nje databaze e nuk dine se ç’fare eshte LINUX..
Me duket se u bene si  shume “nuk dine” …, e kur “nuk dine” atehere si i marrin keto provime?
Pergjigjen te dashur miq po ua leme atyre qe luftojn korrupsionin dhe pedagogeve qe perhapin kulturen
, kulture qe u shpalos ne menyre perfekte nga ish ministri i kultures-rinis-dhe sekseve.

Jam shume i hidheruar per te vazhduar akoma me temen, e ne te njejten kohe u them
KURAJO te gjithe atyre pedagogeve qe kane diplome informatike
dhe jane te specializuar per ate vend pune, gjithashtu dhe studenteve nje KURAJO e madhe!
Zgjohuni, jemi ne 2o1o nuk jemi ne kohen kur u hap normalja ne Elbasan.

Hacker VS Programatori – Demo

Pershendetje, jemi perseri ne nje nga temat e nxehta , kam pergatitur nje skenar ku per te shpjeguar “punen” qe bejn pershkruesit “private” public ne java kam shkruajtur versione te ndryshme te nje programi “banke” me funksione shume te thjeshta.
E futa “hackerin” ne loje sepse tema behet shume me interesante, leximi i kodit behet akoma me itneresant dhe ajo qe doja te shpjegoja (mbrojtja e variabilave dhe metodave ne programimin me objekte)  behet me e qarte dhe e kuptueshme.
Kodin e kam komentuar mire, ose me sakt “tabllon e ngjarjes” keshtu qe leximi i kodit do jete shume i mire… Nese nuk lexoni kod:
“Ne kemi nje perkufizim te pergjithshem per lamerat, themi qe jane njerez qe nuk lexojn kod” 
Kodin me gjithe udhezimet e perdorimit mund ta shkarkoni:
http://albanianwizard.org/pub/bhck.zip

Nje pjese te programit mund ta shihni tek:
http://albanianwizard.org/Postokodin/60

Kujtoj qe skenari eshte virtual, ne boten reale nje vulnerabilitet i tipit buffer overflow do ti jepte sulmuesit kontroll te plote mbi programin vulnerabel dhe kjo do te kompromentonte dhe pjesen tjeter te sistemit.
Sigurohet kenaqesi dhe info pa limit gjat leximit 😉
Have Phun 😛

RREGULLA TE ARTA PROGRAMIMI

Shpesh here nje program cilesor ben diferencen, e kam fjalen ne te gjitha aspektet.
Le te permendim disa rregulla te arta qe vertet bejn diferencen:

1. Ne cilen gjuhe ta shkruajm programin?

Shpesh here kjo eshte zgjedhje vendimtare pasi gjuha qe mund te kemi zgjedhur nuk eshte shume e pershtatshme per nje program te caktuar ndersa nje tjeter eshte shume here me e mire, psh te marrim nje rast banal si psh te perdoresh assembly per te koduar nje program me grafik te avancuar ose e kunderta te perdoresh cobol nderkohe qe te duhet nje program shume i shpejt (pra qe mund te kodohej ne assembly ose python qe jane gjuhe qe japin goxha shpejtesi)
Pra ky eshte hap themelor.

2. Dizajni imagjinar i programit

Kjo vertet them se eshte pika kryesore dhe themelore e te gjith kesaj, pasi nese ne e ideojm programin ne koken tone, me te gjitha pjeset e tij pastaj zbatimi eshte thjesht 20% e punes, nderkohe qe nje programator i mire ne UML mund te bente shume pune ne keto raste, njohuri te tilla japin stabilitet, siguri, funksionalitet.

3. Thjeshtesia

Sa me i thjeshte, aq me mire, nje program i thjesht ka fluiditet dhe eshte i thjesht per tu rregulluar ndersa nje program i komplikuar eshte shume i prirur per te pasur bug dhe vulnerabilitete, ndersa nje program i thjesht eshte edhe me i leht per tu rregulluar dhe kjo çon tek nje rregull tjeter qe eshte PAK RRESHTA.

4. Modulariteti

Ketu hyjm tek programimi me objekte, shpesh jane objektet qe na kursejn rreshta kodi dhe na japin thjeshtesi, nje rregull shume i rendesishem ketu eshte:
Mbaje MAIN() me sa me pak rreshta kodi, kjo do te thote qe nese ne bejm nje program (po e zeme ne java) mund te kemi 15 faile.java ku vetem njeri ka main() per te egzekutuar programin, nese ne i ndajm Konstruktoret dhe metodat ne secilin nga failet dhe mainin e mbajm me pak rreshta vetem sa per te egzekutuar objektet e shperndara atehere kjo do japi nje program shume te thjesht per tu shpjeguar edhe njerit qe nuk ja ka idene programimit.

5. Ridizaini

Gjate perfundimit te programit ka shume gjasa qe te na lindin ide te reja, ne keto raste edhe nese duam te bejm nje ridizajn te programit do te jete shume i thjesht pasi objektet klasat jane te ndara secila ne vendin e vet dhe metodat po ashtu keshtu qe duhet te jete shume e thjesht per te “lozur” me programin tone.

6. Algoritmi fitues

Shpesh algoritmi fitues nuk eshte ai me i komplikuar, por ai me i thjeshti, sepse thjeshtesi do te thote dhe fleksibilitet dhe kur kemi perpara nje projekt te perfunduar ku duhet te rregullojm bug-e kjo do te na kursente ore te tera.

Jane dhe shume te tjera, por per momentin po ndalohemi me keto. (jam duke ikur lol, shtoni metoda tek komentet)

Objektet dhe Klasat ne Java

Le ta harrojm per disa momente programimin :)
(kjo teme eshte e kendshme per tu lexuar edhe nga ata qe nuk kane asnje lloj eksperience programimi)
Eshte material shqip rreth “si te programojm” ne vazhden e mesimeve \ ushtrimeve java.

Te mendojm per objektet qe na rrethojn (shiko rreth e rrotull)….

Ne baze te studimeve eshte arritur ne perfundimin se njeriu eshte i prirur ta shohi boten ne objekte,po shoh rreth meje dhe pashe keto objekte:
– kart rimbushese
– liber
– celulari
– karrigia
– tryeza e shkrimit
– monitori
– tastiera
– Kompiuteri :)

Zakonisht te permendesh objekte, eshte me e thjeshte te permendesh jo  objekte, psh ngjyra e makines llogaritese nuk eshte objekt dhe as ajri siper tastieres.
Le te shohim se ç’fare e karakterizon objektin ne boten reale :)
Gjeja e pare qe na vjen ne mendje eshte:

Identiteti – kompiuteri eshte nje (1) pra eshte i plote dhe ka identitet, marrim nje shembull:
Ne rastin e njeriut,  ne bejm kart identiteti per veten tone dhe jo per syrin, doren, kemben pra per pjeset e ndryshme te trupit ose ne rastin e shteteve njihet nje shtet qe ka Identitet sepse te gjith banoret e tij kane nje lloj kulture dhe flasin te njejten gjuhe.

gjithashtu objekti ka:

Gjendje – ne rastin tone kompiuteri ka gjendje te caktuara, i ndezur  i fikur, “ne gjume” , i mbingarkuar e keshtu me radhe tamam siç ka gjendje uji (avull, leng, akull).

Sjellje – kompiuteri karakterizohet edhe nga nje “forme te sjelluri” menyre se si vepron ne situata te caktuara psh kur ne prekim tastieren, kur levizim “miushin” e keshtu me radhe.

Eshte pjese e objekteve te tjera – edhe kjo eshte nje tjeter karakteristik sepse perbehet nga objekte te tjera si ekrani, proçesori, tastiera, memorja etj te cilat te gjitha jane objekte te mirefillta perderisa kane Identitet, Gjendje dhe Sjellje pra nga kjo nxjerrim qe nje objekt mund te jete pjese e nje objekti me te madh ose nje objekt i madh mund te perbehet nga objekte me te vogla.
Ky kusht gjithsesi nuk eshte gjithmone i vertet pasi nese marrim nje laps, lapsi eshte objekt por ngjyra e lapsit ben pjes tek karakteristikat e lapsit dhe nuk eshte nje objekt ne vetvete, pra ne kete rast themi se kushti i katert nuk eshte gjithmon i vertete.

Persa i perket programimit:

Edhe persa i perket programimit, ndodh i njejti fenomen , objektet kane Identitet i cili eshte qelite e memorjes qe okupojne te cilat jane nje grup bitesh dhe ndodhen ne nje vend specifik ne memorje dhe jo ne vend tjeter. Kane gjendje pasi nje objekt ka variabila te cilat kane vlera te cilat percaktojn dhe gjendjen e objektit, pra gjendja e objektit percaktohet nga vlerat qe kane variabilat e tij. Gjithasthu objekti ka Sjellje e cila percaktohet nga “Metodat” te cilat percaktojn se ç’fare duhet te bej objekti, psh main() eshte nje metod shume tipike.

Klasa eshte thjesht pershkrimi i tipit te objektit, pershembull nese ne importojm klasen java.util.Scanner;
import java.util.Scanner;
klasa ka nje emer qe quhet Scanner dhe eshte nje nenklas e util qe do te thote utilities (te nevojshme) e cila eshte nen klas e vet gjuhes java keshtu njehere qe e kemi importuar ne mjafton te perdorim new per te krijuar objektin tone shembull:
Scanner sk = new Scanner (System.in);
Klasa pra siç u tha dhe me siper eshte thjeshte pershkrimi i lloit te objektit dhe mund te jete klase qe e krijojm ne ose mund te jete klas e gatshme qe e perfshijm ne programin tone me “import”.