Sadržaj se učitava...
mdi-home Početna mdi-account-multiple Djelatnici mdi-script Studiji mdi-layers Katedre mdi-calendar-clock Raspored sati FOI Nastava search apps mdi-login
Programiranje 1
Computer Programming 1
2020/2021
6 ECTSa
Informacijski i poslovni sustavi 1.2 (IPS)
Katedra za teorijske i primijenjene osnove informacijskih znanosti
ZP
1. semestar
Osnovne informacijemdi-information-variant Izvođači nastavemdi-account-group Nastavni plan i programmdi-clipboard-text-outline Model praćenjamdi-human-male-board Ispitni rokovimdi-clipboard-check-outline Rasporedmdi-calendar-clock Konzultacijemdi-account-voice
Izvođenje kolegija
Studij Studijski program Semestar Obavezan
Informacijski i poslovni sustavi 1.2 (IPS) 1 obavezan
Cilj kolegija
Razviti kod studenata algoritamski način razmišljanja i rješavanja problema, prenijeti studentima osnovna znanja i vještine iz programiranja u izabranom programskom jeziku i osposobiti ih za praćenje sadržaja vezanih za programiranje u imperativnom programskom jeziku tijekom nastavka studija.
Preduvjeti
Kolegij nema definirane preduvjete
Norma kolegija
Predavanja
30 sati
Vježbe u praktikumu
30 sati
Nastavnik Uloga na kolegiju Oblik nastave Tjedana Sati Grupa
Konecki Mario Nositelj Predavanja
Predavanja
Vježbe u praktikumu
Vježbe u praktikumu
Vježbe u praktikumu
7
1
3
1
1
2
2
2
2
2
2
1
18
9
9
Kudelić Robert Nositelj Predavanja
Predavanja
Vježbe u praktikumu
Vježbe u praktikumu
Vježbe u praktikumu
7
1
10
1
1
2
2
2
2
2
2
1
18
9
9
Matijević Mislav Demonstrator Demonstrature 10 4 1
Sadržaj predavanja
  • Algoritamski način razmišljanja i izgradnja algoritama (2 sata)
    Definicija i primjeri algoritamskog načina razmišljanja. Metode izgradnje algoritama.
  • Uvod u programske jezike (2 sata)
    Povijest programskih jezika. Povijest programskog jezika C++. Osnovne ideje programiranja. Proceduralni, funkcijski i logički programski jezici. Relacijski i objektno orijentirani programski jezici.
  • Slijed (sekvenca) u programskom jeziku. Tipovi podataka i varijable. Aritmetički izrazi. (2 sata)
    Deklaracija i definicija varijabli. Vrste varijabli. Brojevni sustavi. Pretvaranje zapisa u različite brojevne sustave. Način zapisivanja varijabli u memoriji. Pravila za definiranje identifikatora varijabli. L-vrijednosti. Konstantne vrijednosti. Definiranje tipa kostante u aritmetičkim izrazima. Deklarirane konstante. Načini deklaracije konstanti. Cjelobrojni tipovi podataka, tipovi podataka s pomičnim zarezom. Aritmetički izrazi.
  • Logički izrazi. Selekcije u programskom jeziku. (4 sata)
    Operandi i operatori. Aritemtički operatori Operatori uspoređivanja Logički operatori. Operatori pridruživanja. Bitovni operatori. Selekcije. Ugnježđene selekcije.
  • Iteracije u programskom jeziku. Polja. Stringovi. (4 sata)
    Iteracije. Iteracije s logičkim uvjetom. Iteracije s eksplicitnim brojačem. Skokovi.
  • Mehanizmi agregacije podataka (4 sata)
    Polja. Nizovi znakova. Učitavanje i rad s nizovima zakova. Slogovi. Način definicije i korištenja. Korisnički definirani tipovi podataka. Unije.
  • Pokazivači u programskom jeziku (2 sata)
    Dinamičko alociranje memorije. Osnove rada programska hrpe. Funkcije s varijabilnim parametrima.
  • Funkcije u programskom jeziku. Rekurzije. (4 sata)
    Definicija funkcije. Rekurzije. Osnove rada programskog stoga.
  • Osnovni algoritmi pretraživanja i sortiranja polja u programskom jeziku (4 sata)
    Slijedno pretraživanje. Poboljšani algoritmi sljednog pretraživanja Binarno pretraživanje. Algortam. Uvjeti korištenja. Usporedba binarnog i sljednog pretraživanja. Jednostavno sortiranje zamjenom. Sortiranje izborom. Sortiranje umetanjem. Mjehuričasto sortiranje. Sortiranje spajanjem. Quicksort.
  • Osnove rada s datotekama (2 sata)
    Tekstualne i tipizirane datoteke. Rad s datotekama u programskom jeziku C++.
Sadržaj seminara/vježbi
Ishodi učenja kolegija
  • Formulirati programski problem jednoznačno i jasno prema pravilima zadavanja masovnih problema.
  • Prepoznati osnovne dijelove algoritma, konkretizirati ih do razine proceduralnog algoritma te ih zapisati pomoću pseudokoda ili dijagrama aktivnosti.
  • Odabrati odgovarajuće tipove podataka zadanog problema te odgovarajuće mehanizme agregacije za efikasno pohranjivanje ulaznih podatka i implementirati odabranu organizaciju podataka u zadanom imperativnom programskom jeziku.
  • Prilagoditi i optimizirati algoritamsko rješenje zadano pseudokodom ili dijagramom aktivnosti specifičnostima programskih konstrukata zadanog imperativnog programskog jezika.
  • Odabrati odgovarajuću strukturu zapisa za pohranjivanje podataka u datoteke te ju implementirati u zadanom imperativnom programskom jeziku.
  • Protumačiti poruke pogrešaka i upozorenja koje vraća prevoditelj programa i u skladu s njima ispraviti zadani program.
  • Otkriti logičke pogreške u zadanom programskom rješenju korištenjem programskog alata (eng. debugging).
  • Realizirati efikasno pohranjivanje podataka u memoriji pomoću dinamičke alokacije memorije u zadanom imperativnom programskom jeziku
  • Odabrati dijelove alogritma koji se mogu izdvojiti u zasebne cjeline i izvesti kao potprogrami te ih imlementirati u zadanom programskom jeziku
  • Razviti rekurzivno rješenje zadanog programskog problema i izvesti ga u odabranom imperativnom programskom jeziku
  • Odabrati testne primjere ulaznih podataka ta testiranje zadanog programa za uobičajene i rubne dozvoljene instance zadanog problema
  • Odabrati odgovarajući osnovni algoritam pertraživanja ili sortiranja niza podataka u skladu s njegovom veličinom i uređenošću
Ishodi učenja programa
  • razumjeti stanje i trendove razvoja suvremenih informacijskih i komunikacijskih tehnologija (ICT), razumjeti njihov utjecaj na pojedinca, organizaciju i društvo te procijeniti njihovu primjenjivost u zadanom kontekstu
  • razumjeti i primijeniti ključne aspekte informacijske tehnologije (programiranje, algoritmi, strukture podataka, baze podataka i znanja
  • razumjeti i primijeniti suvremene tehničke koncepte i prakse u informacijskim tehnologijama (arhitektura računala, operacijski sustavi, mreže računala)
  • razumjeti i primijeniti matematičke metode, modele i tehnike primjerene rješavanju problema iz područja informacijskih i poslovnih sustava
  • razumjeti bitne čimbenike koji utječu na poslovanje organizacije i pojedinaca te primijeniti osnovne metode i koncepte planiranja, upravljanja i obračuna poslovanja
  • analizirati stanje, identificirati prilike i definirati probleme s kojima se susreću organizacije i pojedinci u primjeni ICT, te formulirati rješenja uz primjenu ICT
  • razumjeti osnovna vertikalna područja primjene ICT (industrija, zdravstvo, promet, turizam, država i sl.), te horizontalne aplikacije (uredski sustavi, DSS, CRM, ERP, DMS i sl.)
  • razumjeti i primijeniti suvremene metodološke pristupe razvoja organizacijskih i informacijskih sustava, te oblikovanja organizacije i organizacijske strukture
  • razumjeti suvremene organizacijske koncepte i upravljati organizacijskom kulturom
  • modelirati poslovne procese i podatke u organizacijama i primijeniti modele u razvoju informacijskih i poslovnih sustava
  • razumjeti i primijeniti metode, tehnike razvoja informacijskih i programskih sustava u suvremenim razvojnim okolinama
  • razumjeti i primijeniti procese, metode i tehnologije upravljanja IT uslugama i resursima te podrške i pružanja različitih vrsta usluga vezanih uz ICT
  • razumjeti i primijeniti etička načela, zakonsku regulativu i norme koje se primjenjuju u struci
  • razumjeti osnovna načela i metode upravljanja organizacijom i uspješno raditi u timu
  • uspješno komunicirati s klijentima, korisnicima i kolegama na verbalan i pisani način uz primjenu odgovarajuće terminologije uključujući i sposobnost komunikacije o struci na stranom jeziku
  • pratiti stručnu literaturu na hrvatskom i stranom jeziku, pripremiti i samostalno održati prezentacije na hrvatskom i stranom jeziku stručnoj i općoj publici, te kritičku evaluaciju prezentirane stručne teme
  • razumjeti i primijeniti vještine učenja potrebne za cjeloživotno učenje i nastavak obrazovanja na diplomskom studiju.
  • razumjeti i primijeniti osnovne principe planiranja i razvoja karijere u struci i vlastitih poduzetničkih poduhvata
Osnovna literatura
  • Lovrenčić, A. Konecki, M. Programiranje u 14 lekcija. Fakultet organizacije i informatike, Varaždin, 2017.
Dopunska literatura
  • Programming languages – C++, ISO/IEC JTC1 WG21 3690
  • B. Stroustrup: The C++ Programming Language, Pearson Education, 2014.
Slični kolegiji
Redoviti studenti Izvanredni studenti
izvanredni rok
Datum: 14.04.2025.
Vrijeme: 16:00
Opis: Na Fakultetu
U kalendaru ispod se nalaze konzultacije predmetnih nastavnika, no za detalje o konzultacijama možete provjeriti na profilu pojedinog predmetnog nastavnika.
2024 © Fakultet organizacije i informatike, Centar za razvoj programskih proizvoda