FOI nastava
FOI logo

Lista kolegija iz:

ak.god:
2017/2018
semestar:
3. semestar

2017/2018

5ECTSa

Preddiplomski

Informacijski/Poslovni sustavi v1.1

Program Obavezan
Informacijski sustavi IS Da
Poslovni sustavi PS Ne
3. semestar
2. nastavna godina

Programiranje 2 npp:61771

Engleski naziv

Programming 2

Katedra

Katedra za teorijske i primijenjene osnove informacijskih znanosti

Kategorija ("boja")

RI

Cilj kolegija

Kolegij se nastavlja na Programiranje I s kojim predstavlja cjelinu. Po završetku, studenti trebaju biti sposobni oblikovati, kodirati, testirati, ispravljati i dokumentirati programska, prije svega objektno orijentirana rješenja problema algoritamskog tipa. Ciljna razina složenosti programa jesu programi koji rade s više datoteka i više klasa

Nastava

Predavanje
30sati
Laboratorijske vježbe
30sati

Ishodi učenja predmeta

  • biti sposobni izraditi objektno-orijentirane programske aplikacije koje uključuju: više klasa,rad s osnovnim statičkim i dinamičkim strukturama podataka, uključujući vezane liste, binarna stabla, različite organizacije datoteka, primjenu naprednih algorit
  • dobiti uvod u napredne tehnike programiranja i objektno modeliranje tehnikom UML
  • poznavati osnovne koncepte objektno-orijentiranog programiranja, u prvom redu enkapsulacija, skrivanje podataka, nasljeđivanje, polimorfizam, te ih implementirati u programskom jeziku C++
  • primjenjivati osnovne koncepte objektno-orijentiranog programiranja, u prvom redu enkapsulaciju, skrivanje podataka, nasljeđivanje i polimorfizam unutar programa u programskom jeziku C++
  • steći potrebna predznanja za kolegije: Algoritmi,Baze podataka I,Operacijski sustavi I,Zemljopisni informacijski sustavi

Ishodi učenja programa

  • razumjeti i primijeniti ključne aspekte informacijske tehnologije (programiranje, algoritmi, strukture podataka, baze podataka i znanjarazumjeti i primijeniti ključne aspekte informacijske tehnologije (programiranje, algoritmi, strukture podataka, baze podataka i znanja
  • razumjeti i primijeniti metode, tehnike razvoja informacijskih i programskih sustava u suvremenim razvojnim okolinama razumjeti i primijeniti metode, tehnike razvoja informacijskih i programskih sustava u suvremenim razvojnim okolinama

Sadržaj predavanja

  • Uvodno predavanje: logički razvoj programa (1*2 sata)
    Razvoj programa uz korištenje kontrolnih točaka na kojima se program verificira sintaksno i logički. Tehnika pisanja programa na način da on bude provjerljiv unutar 10 novih programskih redaka. Programiranje uz pomoć sučelja %22Verifikator%22.
  • Implementacija i primjena dinamičkih struktura podataka u programiranju (3*2 sata)
    Dinamičke strukture podataka i instrumenti njihove implementacije u C++. Implementacija vezane liste: kreiranje, dodavanje elemenata, pretraživanje, sortiranje, brisanje elemenata, dealokacija liste. Primjena vezane liste unutar programa u C++. Implementacija binarnog stabla: kreiranje, dodavanje elemenata, pretraživanje, brisanje elemenata, dealokacija stabla.Rekurzivne funkcije. Biblioteke. Primjer: biblioteka s funkcijama za mjerenje vremena.
  • Rad s datotekama (3*2 sata)
    Datoteke s fiksnom veličinom sloga: sekvencijalne, relativne i indeksne. Rad s datotečnim pokazivačem. Primjer: program predložak za rad s datotekama u C++. Pretraživanje indeksa: slijedno i binarno. Analiza brzine pretraživanja kod sekvencijalnih, relativnih i indeksnih datoteka. Primjer u C++: telefonski imenik. Primjer u C++: kopiranje podataka između datoteka i vezanih lista, te datoteka i polja.
  • Objektni pristup (3*2 sata)
    Koncepti objektnog programiranja. Usporedba sa strukturnim pristupom. Primjer: biblioteka klasa za mjerenje vremena u odnosu na biblioteku funkcija za mjerenje vremena.Nasljeđivanje, tipovi nasljeđivanja, višestruko nasljeđivanje, virtualni funkcijski članovi i polimorfizam, prijatelj klase.Apstraktne klase i čiste virtualne funkcije.Primjer polimorfizma: vezana lista s heterogenim elementima. Primjer u C++: registar vozila.Primjer objektno-orijentiranog razvoja programa uz implementaciju objektnog mehanizma za upravljanje indeks-sekvencijalnim datotekama: prijave studenata.
  • Napredne tehnike programiranja (2*2 sata)
    Algoritmi temeljeni na rekurziji. Primjeri u C++: pronalaženje najkraćeg puta, pretraživanje binarnog stabla. Predlošci funkcija i klasa. Primjer u C++: implementacija vezanih listi uz pomoć predložaka klasa. Primjer u C++: upotreba binarnog stabla kao pomoćne strukture za sortiranje. Repovi čekanja, hrpa, stog. Primjeri implementacije u C++.
  • Metodologije razvitka programa (1*2 sata)
    Postupci razvoja programa i usporedbe prema standardu IEEE 1058.1: svrha, definicije pojmova, odgovornosti i uloge, voditelj projekta, osiguranje kvalitete, opis postupka, općenito. Faze razvoja programa, testiranje (potvrda i ovjera programskog proizvoda), promjene u razvoju programa, dokumentacija.
  • Modeliranje kao osnova programiranja (2*2 sata)
    Modeliranje procesa: dijagram strukture procesa, procesi transformacijske strukture, procesi transakcijske strukture, detaljni opis procesa (dijagrami akcija), pseudojezik i strukturirani prirodni jezik, stabla odlučivanja, tablice odlučivanja, odlučivanje i dijagrami akcija. Primjena UML dijagrama u razradi objektnog modela programa. Implementacija modela podataka objekti-veze-svojstva uz pomoć objektnog modela.

Sadržaj seminara/vježbi

  • Uvodna vježba: korištenje sučelja %22Verifikator%22
    Unos tri programska primjera različite složenosti uz pomoć sučelja %22Verifikator%22.
  • Funkcije i biblioteke
    Izraditi biblioteku funkcija i uključiti je u program.
  • Vezana lista
    Kreiranje i osnovne operacije nad vezanom listom.
  • Vezana lista (nastavak)
    Dvostruko vezana lista. Sortiranje i dealokacija vezane liste.
  • Datoteke
    Rad s tekstualnim datotekama i datotekama s fiksnom veličinom zapisa.
  • Organizacije datoteka.
    Rad sa sekvencijalnim, relativnim i indeksnim datotekama.
  • Osnovne operacije nad datotekama.
    Sortiranje datoteka. Pretraživanje datoteka različitih organizacija uz mjerenje performansi.
  • Objektno-orijentirano programiranje
    Klasa, objekt, specifikatori pristupa, princip enkapsulacije, vanjski i unutarnji pristup članovima klasa, pokazivač this, princip skrivanja podataka
  • Objektno-orijentirano programiranje (2)
    Konstruktor i destruktor, prijatelj klase, nasljeđivanje, tipovi nasljeđivanja, zaštićeni pristup članovima klasa, višestruko nasljeđivanje, virtualne metode i polimorfizam, apstraktne klase.
  • Objektno-orijentirano programiranje (3)
    Odnosi među klasama: sadržavanje, korištenje, ugniježđena klasa. Implementacija ER modela podataka pomoću objektnog modela.
  • Napredne tehnike programiranja (1)
    Generičko programiranje. Predlošci funkcija i klasa. Standardna biblioteka predložaka (STL).
  • Napredne tehnike programiranja (2)
    Rukovanje iznimkama. Upotreba binarnog stabla za indeksiranje datoteke. Rekurzivni algoritmi.
  • Red, hrpa i stog.
    Implementacija reda, hrpe, i stoga u C++.

Alati koji se koriste na predmetu

  • DevC++
    Besplatno razvojno sučelje za razvoj programa u C++ koje se koristi za samostalan rad studenata i na vježbama.
  • Verifikator
    Sučelje za pisanje programa u C++ tehnikom kontrolnih točaka unutar 10 novih programskih redaka. Dostupno na stranicama kolegija Programiranje 2 unutar FOI E-Learning sustava.
  • Context
    Besplatni programerski editor.

Osnovna literatura

  • Radošević, D. Programiranje 2. TIVA,Fakultet organizacije i informatike, Varaždin, 2007.
  • Motik, B., Šribar, J., Demistificirani C++. 2. izd. Element, Zagreb, 2001.

Dopunska literatura

  • Lippman, S. B. Inside the C++ Object Model. Addison-Wesley, Reading, 1996.
  • Stroustrup, B. Programming : Principles and Practice Using C++. Addison-Wesley, Upper Saddle River, 2009.
  • Savitch,W. Absolute C++. 4th ed. Addison-Wesley, Boston, 2009.

Preduvjeti

  • Programiranje 1
    Predmet predstavlja temeljne koncepte programiranja, temeljna znanja rada prevodilaca i interpretatora programskih jezika, metode rješavanja programskih problema te osnove objektnog pristupa

Slični predmeti

  • Kolegiji sličnog sadržaja i naziva izvode se na nekoliko visokoškolskih institucija u Hrvatskoj (npr. FER, FESB, Filozofski fakultet u Rijeci), te u susjednim državama (npr. na Univerzi u Mariboru i Ljubljani, Univerzitetu u Beogradu itd
Nastavnik Oblik nastave Tjedana Sati tjedno Grupa
Konecki Mladen Laboratorijske vježbe 15 2 2
Radošević Danijel Laboratorijske vježbe 15 2 6
Predavanje 15 2 2
Izvanredni rok
Datum: 26.11.2019.
Vrijeme: 16:00
Napomena:
Izvanredni rok
Datum: 27.04.2020.
Vrijeme: 16:00
Napomena:

Programiranje 2 - Redovni studenti

Studij: Informacijski/Poslovni sustavi
Akademska godina: 2017/2018

Naziv kolegija: PROGRAMIRANJE 2

Satnica: 60 sati (2+2), 5 ECTS bodova

Studij: Preddiplomski, Informacijski sustavi/Poslovni sustavi

Nositelj: Prof.dr.sc. Danijel Radošević

Suradnici: Mladen Konecki, mag. inf.,


Praćenje rada studenata

Elementi praćenjaBodova
Seminarski rad5
Vježbe44
Završna vježba24
Kolokvij 112
Kolokvij 212
Dodatne aktivnosti3
ZBROJ100


Bodovna skala ocjena

OdDoOcjena
0 49 nedovoljan (1)
50 60 dovoljan (2)
61 75 dobar (3)
76 90 vrlo dobar (4)
91 100 odličan (5)


Ocjenjuje se svaka vježba (osim uvodnih na početku semestra) i svaki kolokvij. U terminima za nadoknadu može se nadoknaditi izostanak s vježbe i/ili zamijeniti najslabiji rezultat s vježbi u prethodnom razdoblju (od početka semestra ili zadnje nadoknade). Sva pravila su detaljno objašnjena u uvodnom predavanju.


Kolokviji

Naziv / Tjedan 1234567891011121314151617 1. razdoblje
udio (%)
2. razdoblje
udio (%)
3. razdoblje
udio (%)
Trajanje Pismeni Usmeni
uvodna vježba + 75 +
vježba 1 + 75 +
vježba 2 + 75 +
vježba 3 + 75 +
kolokvij 1 + 75 +
vježba 4 + 75 +
vježba 5 + 75 +
vježba 6 + 75 +
vježba 7 + 75 +
vježba 8 + 75 +
kolokvij 2 + 75 +
vježba 9 + 75 +
vježba 10 + 75 +
vježba 11 + 75 +
nadoknada vježbe + 75 +
završna vježba + 90 + +


Opis elemenata praćenja

Elementi praćenja Bodovi Uvjet Opis Nadoknada
Granica Opis Rok
Seminarski rad 5 Samostalna obrada zadane teme. Nije obavezan. Tokom semestra može se izraditi najviše 2 seminarska rada (detaljnije objašnjeno u uvodnom predavanju). Nadoknada nije predviđena.
Vježbe 44 Svaka vježba donosi najviše 4 boda, s time da izvanredni studenti prema modelu B donose svoje zadaće na konzultacije (uz najavu e-mailom). Jedna vježba može se nadoknaditi u terminu za nadoknade (vidi: Uvodno predavanje: Vremenski plan odvijanja).
Kolokvij 24 Dva pismena kolokvija koja uključuju teorijska pitanja i manje zadatke, a održavaju se u terminima za međuispite. Svaki kolokvij donosi najviše 12 bodova. Nadoknada nije predviđena.
Završna vježba 24 Završnoj vježbi se može pristupiti sa najmanje 35 sakupljenih bodova tokom semestra i uvjet je za upis ocjene na roku za kontinuirano praćenje. Pismeni dio donosi najviše 12 bodova, a 6 bodova je uvjet za prolaz. Usmeni dio također donosi 12 bodova, a 6 je uvjet za prolaz. Nadoknada nije predviđena.
Dodatne aktivnosti 3 Sudjelovanje u razvoju Verifikatora i ostalih nastavnih pomagala, izrada dodatnih primjera, aktivnost na nastavi i sl. Nadoknada nije predviđena.


ISPIT

Polaganje putem sustava kontinuiranog praćenja:

- do kraja semestra student treba steći uvjete za potpis i pristupiti završnoj vježbi (pismeni i usmeni dio). U slučaju da student položi završnu vježbu (ostvari najmanje 12 bodova na pismenom i najmanje 12 bodova na usmenom dijelu), time stiče uvjete za upis ocjene prema ostvarenom ukupnom broju bodova.

Polaganje na ispitnom roku:

- uvjet za izlazak na ispit su ostvareni uvjeti za potpis.

Ispit se sastoji od pismenog dijela na računalu i usmenog dijela.

Programiranje 2 - Izvanredni studenti

Studij: Informacijski/Poslovni sustavi
Akademska godina: 2017/2018

Naziv kolegija: PROGRAMIRANJE 2

Satnica: 60 sati (2+2), 5 ECTS bodova

Studij: Preddiplomski, Informacijski sustavi/Poslovni sustavi

Nositelj: Prof.dr.sc. Danijel Radošević

Suradnici: Mladen Konecki, mag. inf.,


Praćenje rada studenata - Model A

Elementi praćenjaBodova
Seminarski rad5
Vježbe44
Završna vježba24
Kolokvij 112
Kolokvij 212
Dodatne aktivnosti3
ZBROJ100


Praćenje rada studenata - Model B

Elementi praćenjaBodova
Vježbe44
Domaće zadaće22
Dodatne aktivnosti10
Završna vježba24
ZBROJ100


Bodovna skala ocjena

OdDoOcjena
0 49 nedovoljan (1)
50 60 dovoljan (2)
61 75 dobar (3)
76 90 vrlo dobar (4)
91 100 odličan (5)


Model A

Ocjenjuje se svaka vježba (osim uvodnih na početku semestra) i svaki kolokvij. U terminima za nadoknadu može se nadoknaditi izostanak s vježbe i/ili zamijeniti najslabiji rezultat s vježbi u prethodnom razdoblju (od početka semestra ili zadnje nadoknade). Sva pravila su detaljno objašnjena u uvodnom predavanju.

Model B

Vježbe i domaće zadaće se donose na konzultacije. Može se pristupiti završnoj vježbi ako se prije toga skupi najmanje 35 bodova.


Kolokviji - Model A

Naziv / Tjedan 1234567891011121314151617 1. razdoblje
udio (%)
2. razdoblje
udio (%)
3. razdoblje
udio (%)
Trajanje Pismeni Usmeni
vježba 1 + 75 +
vježba 2 + 75 +
vježba 3 + 75 +
kolokvij 1 + 75 +
vježba 4 + 75 +
vježba 5 + 75 +
vježba 6 + 75 +
vježba 7 + 75 +
vježba 8 + 75 +
kolokvij 2 + 75 +
vježba 9 + 75 +
vježba 10 + 75 +
vježba 11 + 75 +
nadoknada vježbe + 75 +
završna vježba + 75 + +


Kolokviji - Model B

Naziv / Tjedan 1234567891011121314151617 1. razdoblje
udio (%)
2. razdoblje
udio (%)
3. razdoblje
udio (%)
Trajanje Pismeni Usmeni
vježba 1/ domaća zadaća 1 + 75 +
vježba 2/ domaća zadaća 2 + 75 +
vježba 3/ domaća zadaća 3 + 75 +
vježba 4/ domaća zadaća 4 + 75 +
vježba 5/ domaća zadaća 5 + 75 +
vježba 6/ domaća zadaća 6 + 75 +
vježba 7/ domaća zadaća 7 + 75 +
vježba 8/ domaća zadaća 8 + 75 +
vježba 9/ domaća zadaća 9 + 75 +
vježba 10/ domaća zadaća 10 + 75 +
vježba 11/ domaća zadaća 11 + 75 +
nadoknada vježbi/zadaća + 75 +
nadoknada vježbi/zadaća + 75 +
nadoknada vježbi/zadaća + 75 +
završna vježba + 75 + +


Opis elemenata praćenja - Model A

Elementi praćenja Bodovi Uvjet Opis Nadoknada
Granica Opis Rok
Seminarski rad 5 0 Samostalna obrada zadane teme. Nije obavezan. Tokom semestra može se izraditi najviše 2 seminarska rada (detaljnije objašnjeno u uvodnom predavanju). Nadoknada nije predviđena.
Vježbe 44 0 Svaka vježba donosi najviše 4 boda. Jedna vježba može se nadoknaditi u terminu za nadoknade (vidi: Uvodno predavanje: Vremenski plan odvijanja).
Kolokvij 24 0 Dva pismena kolokvija koja uključuju teorijska pitanja i manje zadatke, a održavaju se u terminima za međuispite. Svaki kolokvij donosi najviše 12 bodova. Nadoknada nije predviđena.
Završna vježba 24 12 Završnoj vježbi se može pristupiti sa najmanje 35 sakupljenih bodova tokom semestra i uvjet je za upis ocjene na roku za kontinuirano praćenje. Pismeni dio donosi najviše 12 bodova, a 6 bodova je uvjet za prolaz. Usmeni dio također donosi 12 bodova, a 6 je uvjet za prolaz. Nadoknada nije predviđena.
Dodatne aktivnosti 3 0 Sudjelovanje u razvoju Verifikatora i ostalih nastavnih pomagala, izrada dodatnih primjera, aktivnost na nastavi i sl. Nadoknada nije predviđena.


Opis elemenata praćenja - Model B

Elementi praćenja Bodovi Uvjet Opis Nadoknada
Granica Opis Rok
Vježbe 44 0 Svaka vježba donosi najviše 4 boda, s time da izvanredni studenti prema modelu B donose svoje zadaće na konzultacije (uz najavu e-mailom). Do dvije vježbe se mogu nadoknaditi.
Domaće zadaće 22 22 Svaka domaća zadaća donosi najviše 2 boda, s time da izvanredni studenti prema modelu B donose svoje zadaće na konzultacije (uz najavu e-mailom). Nadoknada nije predviđena.
Završna vježba 24 12 Završnoj vježbi se može pristupiti sa najmanje 35 sakupljenih bodova tokom semestra i uvjet je za upis ocjene na roku za kontinuirano praćenje. Pismeni dio donosi najviše 12 bodova, a 6 bodova je uvjet za prolaz. Usmeni dio također donosi 12 bodova, a 6 je uvjet za prolaz. Nadoknada nije predviđena.
Dodatne aktivnosti 10 0 Sudjelovanje u razvoju Verifikatora i ostalih nastavnih pomagala, izrada dodatnih primjera, aktivnost na nastavi i sl. Nadoknada nije predviđena.


ISPIT

Polaganje putem sustava kontinuiranog praćenja:

- do kraja semestra student treba steći uvjete za potpis i pristupiti završnoj vježbi (pismeni i usmeni dio). U slučaju da student položi završnu vježbu (ostvari najmanje 12 bodova na pismenom i najmanje 12 bodova na usmenom dijelu), time stiče uvjete za upis ocjene prema ostvarenom ukupnom broju bodova.

Polaganje na ispitnom roku:

- uvjet za izlazak na ispit su ostvareni uvjeti za potpis.

Ispit se sastoji od pismenog dijela na računalu i usmenog dijela.

Predavanje Seminar Auditorne vježbe Laboratorijske vježbe Vježbe (jezici, tzk) Ispit Kolokviji Nadoknade Demonstrature
Copyright © 2015 FOI Varaždin. All Rights Reserved. Sva prava pridržana.
Povratak na vrh