Podaci i računalna obrada podataka:
Tipovi podataka (numerički, alfanumerički). Zapisivanje podataka u elektroničkom računalu
(numerički cjelobrojni i necjelobrojni zapis, skalarni i višedimenzionalni zapisi, alfanumrički zapisi). Skalarne numeričke cjelobrojne i necjelobrojne varijable. Višedimenzionalne numeričke cjelobrojne i necjelobrojne varijable. Skalarne i višedimenzionalne alfanumeričke variable.
Algoritmi i algoritamske strukture:
Pojam algoritma. Zapisivanje algoritma u blok dijagramskom prikazu i u pseudo kodu. Algoritamske strukture (slijedna struktura, grananje, bezuvjetan skok, iteracija). Čitanje i razumijevanje algoritama. Kreiranje algoritama.
Odnos algoritama, programa zapisanog u programskom jeziku te izvodljivog programa u strojnom jeziku:
Pojam programskog jezika. Temeljna struktura programa u programskom jeziku. Kodiranje algoritama u programskom jeziku (pisanje programa). Prevođenje programa napisanog u programskom jeziku u strojni jezik. izvođenje i testiranje programa. Ispravljanje grašaka. Korisničko sučelje. Programska logika. Interakcija s podatkovnim repozitorijima. Komentari. Upute za korisnike. Razvojni proces programskog rješenja (od ideje, modeliranja i razvoja programskog rješenja do distribucije i instalacije programskog rješenja). Životni vijek programskog rješenja. Metode savladavanja programerskih vještina. Vrste programiranja. Elementarni algoritmi zapisani u programskom jeziku Algoritmi slijedne algoritamske strukture (Algoritmi: ispisa, deklaracije varijable, asignacije vrijednosti varijablama, učitavanja varijabli, osnovne računske operacije, zamjene vrijednosti, sukcesivnog kumulativa i dr.). Algoritmi grananja (Algoritmi: usporedbe varijable s brojem, varijable s varijablom, problem vaganja tri i više varijabli, minimum i maksimum, upotreba identifikatora, višestruka vaganja, složena vaganja i dr.). Algoritmi bezuvjetnog skoka (Algoritmi: preskoka dijela programskog koda, kretanje u naprijed i u nazad, kombinacija s grananjem radi ostvarivanja iterativnog procesa, beskonačna iteracija i dr.). Iterativni algoritmi sa skalarnim varijablama (Algoritmi: višestrukog ispisa, ispisa niza, ispisa s korakom, ispisa niza u suprotnom smjeru, uvjetnog ispisivanja, paralelnog iteriranja, iteracije u iteraciji, izračun kumulativa niza, izračun kumulativa učitanih vrijednosti, faktorijeli, minimum i maksimum i dr.). Iterativni algoritmi s vektorskim varijablama (Algoritmi: učitavanja vektora, prepisivanja vektora, ispisa vektora u suprotnom smjeru, zbrajanja vektora, množenja vektora sa skalarom, množenja vektora s vektorom, kumulativa vrijednosti vektora, pretraživanja vrijednosti u vektoru, zamjena vrijednosti u vektoru, minimum i maksimum, ubacivanje elementa u vektoru, izbacivanje elementa iz vektora, sortiranje vektora i dr.). Iterativni algoritmi s matričnim varijablama (Algoritmi: učitavanja i ispisa matrice, izdvajanja redaka stupaca glavne i pomoćne dijagonale, razne varijante kumulativa i umnožaka u matrici, traženje vrijednosti, zamjena vrijednosti, zbrajanje matrica, množenje matrica, uspoređivanje matrica i dr.). Algoritmi s alfanumeričkim varijablama (Algoritmi: učitavanje znaka, učitavanje niza znakova, izdvajanje dijela znakovnog niza, pronalaženje vrijednosti i zamjena vrijednosti u znakovnom nizu, provjera postojanja znakovnog pod niza, razdjeljivanje niza, kriptiranje niza, pretvaranje znakovnog niza i ASCII niz vrijednosti, prebrojavanja u nizu, sortiranje niza i dr.).
Napredni algoritmi koji se koriste u poslovanju:
Čitanje podataka iz datotečnih izvora (CSV format). Funkcije. Stabla. Rekurzije. Pokazivači i dinamička alokacija memorije. Napredni algoritmi pretraživanja. Napredni algoritmi sortiranja. Parsiranje. Kompresija. Kriptiranje. Generiranje slučajnih brojeva. Algoritmi optimizacije. Linearno programiranje. Dinamičko programiranje. Integralni račun. Diferencijalni račun. Kamatni račun. Drugi algoritmi koji se koriste u poslovanju.
1. Analizirati problem za koji je potrebno razviti programsko rješenje
2. Prosuditi kojim se elementarnim, odnosno složenim algoritmom ili algoritmima treba služiti u rješavanju problema
3. Osmisliti programsko rješenje.
4. Kreirati upotrebljivo programsko rješenje
5. Vrednovati gotova programska rješenja.