Logičko razmišljanje, kritičko razmišljanje, stvaranje vlastitih ideja i sadržaja, programiranje, računalno razmišljanje… samo su neke kompetencije koje su danas sve traženije, a u budućnosti će biti nezamjenjive…
Da li smo kao društvo spremni preuzeti odgovornost za budućnost naše djece?
Mnogo pitanja, a odgovori se nameću u STEM obrazovanju, što naravno ne znači da su ostala područja zapostavljena.
Zašto algoritmi? Što su to algoritmi?
Kod najjednostavnijih problema, prije bismo rekli zadataka koje želimo riješiti ili odraditi, stvaramo niz postupaka kojima od početne pozicije dolazimo do krajnjeg rezultata ili cilja. Upravo ti postupci čine ALGORITAM.
Izvedeno iz imena matematičara Muhammeda ibn-Musa Al-Khowarizmija, algoritam je rješenje problema koji zadovoljava sljedeće kriterije:
- Popis uputa, postupaka ili formula koja rješava problem.
- Može se dokazati.
- Nešto što uvijek završi i djeluje.
Algoritamsko razmišljanje jedno je od najcjenjenijih vještina današnjice, neizostavno u osmišljavanju najnaprednijih rješenja, kao što su računalne igre, poslovne aplikacije, umjetna inteligencija…
U svakodnevnom životu osmišljavamo postupke rješenja problemskih zadataka, pa i onda kada želimo npr. pripremiti ručak. Ako ništa drugo, pronađemo neki dobar recept za, nama omiljeno, jelo u kojem imamo zapisano od sastojaka do opisa koraka u pripremi jela, a koji je precizno razrađen. Slijedom tih propisanih količina i postupaka u primjeni možemo pripremiti uspješno jelo…
Primjera ima napretek. No, mnogi problemi se mogu uspješno riješiti na različite načine, od kojih nisu svi jednako efikasni.
Tako postoje vrlo precizni, kroz stoljeća osmišljavani, matematički postupci koje nazivamo algoritmi. Uzmimo za primjer da želimo u telefonskom imeniku naći broj telefona neke osobe kojoj znamo ime i prezime. Ono što znamo jest da su osobe poredane abecednim redom. Zasigurno gledamo prvo slovo prezimena i pokušavamo koracima doći što bliže poziciji tražene osobe u imeniku. No, da li smo maksimalno uspješni?
Sličan problem možemo predočiti kroz igru pogađanja brojeva u kojoj osoba zamisli neki broj, a druga osoba ga pogađa. Nakon pokušaja, osoba koja je zamislila broj odgovara da li je broj veći ili manji od zamišljenog ili da je pogođen. Trudimo se uvijek pogađati što bolje, promišljamo koji bi to broj odmah mogao biti. uglavnom, postavlja se pitanje, postoji li neki algoritma koji bi bio “savršen”.
Odgovor na prethodna 2 problema nazire se u “binarnom pretraživanju” koje uvijek daje “savršen” ili bismo rekli maksimalan učinak u rješavanju.
Primjer algoritma:
Sljedeći algoritam broji broj slova u riječi. Prvo demonstriramo algoritam pomoću “pseudokoda”, koji objašnjava algoritam u engleskoj sintaksi. Isti algoritam prikazan je u programskom jeziku.
Algoritam u pseudokodu:
Neka je N = 0
za svako slovo u riječi
...postavite N = N + 1
U gornjem primjeru događa se sljedeće:
Kada krećemo brojiti slova u riječi, zapravo imamo nula slova, pa je to početna vrijednost. U ovom primjeru koristimo slovo “N” kao našu varijablu, ali naziv za varijablu može biti gotovo bilo što.
Započinjemo petlju gledajući svako slovo u riječi. Za svako od nađenih slova povećamo broj “N” za jedan.
Algoritam u programskom jeziku PYTHON:

Kako se koriste algoritmi
Danas se algoritmi svakodnevno koriste milijardama puta za razne zadatke. Evo nekoliko primjera različitih načina na koje se algoritmi koriste:
Algoritmi pomažu u kontroli semafora.- Računala koriste algoritme za pretvaranje podataka (npr. Pretvaranje decimalnih u binarne ).
- Googleovo pretraživanje koristi algoritam PageRank za sortiranje rezultata pretraživanja.
- Postupak šifriranja, dešifriranja podataka i zaštitu podataka je algoritam.
- GPS koristi algoritme za pronalaženje najbolje rute do odredišta.
- Postoji nekoliko sortiranja algoritama te vrste podataka.
- Pametni telefoni, Wi-Fi i bežična komunikacija koriste algoritme za komunikaciju.
- Otkrivanje neželjene e-pošte koristi algoritme za filtriranje loše e-pošte.
- Kompresija podataka za brže dobivanje informacija (npr. YouTube video) koristi algoritme.
- Strojno učenje, kao dio umjetne inteligencije koristi algoritme…
Da bismo mogli primijeniti algoritme, moramo naučiti neki od programskih jezika pomoću kojih možemo računalu napisati upute što i kako da radi. Učeći algoritme, prije svega morati ćemo naučiti neki od programskih jezika. U slijedu ovog tečaja koristiti učiti ćemo PYTHON programski jezik te ujedno pomoću njega rješavati problemske zadatke.
Programiranje (ili kodiranje) je jedno od najtraženijih zanimanja na svijetu. Gdje god pogledate vidjet ćete oglase za posao gdje se traže programeri. Prije su to bile isključivo IT firme, no danas programere trebate u svim granama industrije – od običnih trgovačkih centara do farmacije, metalurgije, brodogradnje … gotovo da nema kompanije koja ne treba osobu koja zna programirati.
Negdje ćete raditi “obične” web stranice, negdje aplikacije za kupovinu dobara, negdje mobilne aplikacije za svoje kupce, odnosno klijente. (https://pcchip.hr/softver/korisni/10-nacina-i-savjeta-kako-poceti-programirati/)
Programiranje = pisanje uputa računalu što i kako učiniti, a izvodi se u nekom od programskih jezika.
Programiranje = umjetnost i umijeće u stvaranju programa za računala:
- Stvaranje programa sadrži u sebi pojedine elemente dizajna, umjetnosti, znanosti, matematike kao i inženjeringa
- Osoba koja stvara program zove se programer.




