FOI nastava
FOI logo

Lista kolegija iz:

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

2016/2017

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 10
Radošević Danijel Laboratorijske vježbe 15 2 6
Predavanje 15 2 2
Nema definiranih ispitnih rokova

Programiranje 2 - Redovni studenti

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

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
Kolokvij24
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 uvodne) i svaka domaća zadaća. 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
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 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 (vidi: Uvodno predavanje: Vremenski plan odvijanja). Jedna vježba može se nadoknaditi u terminu za nadoknade (vidi: Uvodno predavanje: Vremenski plan odvijanja).
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.
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.


ISPIT

Polaganje putem sustava kontinuiranog praćenja (model pohađanja nastave A; vrijedi za redovite i izvanredne studente):

- do kraja semestra student treba steći uvjete za potpis i pristupiti kolokviju (pismeni i usmeni dio). U slučaju da student položi kolokvij (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: 2016/2017

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 24
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 uvodne) i svaka domaća zadaća. 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.

MODELI POHAĐANJA NASTAVE ZA IZVANREDNE STUDENTE

Izvanredni studenti mogu pohađati nastavu prema jednom od sljedeća dva modela:

A. Mogu se uključiti u nastavu zajedno s redovitim studentima. U tom slučaju trebaju se prije početka nastave izjasniti da prihvaćaju sve obaveze dolazaka na nastavu koje vrijede za redovite studente, uključujući i polaganje ispita putem sustava kontinuiranog praćenja.

B. Mogu vježbe, domaće zadaće i seminarske radove izrađivati kod kuće, te ih u dogovorenim intervalima (npr. jednom mjesečno) braniti na konzultacijama. Nakon toga, studenti mogu pristupiti završnom kolokviju zajedno s redovitim studentima te tako, ovisno o rezultatu, ostvariti pravo na upis ocjene. U slučaju da svoje obaveze ne odrade do kolokvija, studenti mogu, nakon što odrade svoje obaveze, pristupiti ispitu na redovitim ispitnim rokovima.

Izvanredni studenti se prije početka nastave trebaju javiti nositelju kolegija, te se izjasniti za model pohađanja nastave koji prihvaćaju.

OBLICI I NAČIN KOMUNICIRANJA NASTAVNIKA I STUDENTA

Mogući su sljedeći oblici komunikacije:

- elektronička pošta (mogu se koristiti adrese nositelja kolegija i asistenata u obliku ime.prezime@foi.hr )
- FOI E-Learning sustav kolegija Programiranje 2
- konzultacije
- telefon

Ostalo:

- osnovna i dodatna literatura je ista kao i za redovite studente.
- materijali za e-učenje nalaze se na FOI E-Learning sustavu kolegija Programiranje 2 (isti kao za redovite studente)

 


Kolokviji

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 + 90 + +


Opis elemenata praćenja

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, 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 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.


ISPIT

Polaganje putem sustava kontinuiranog praćenja (model pohađanja nastave A; vrijedi za redovite i izvanredne studente):

- do kraja semestra student treba steći uvjete za potpis i pristupiti kolokviju (pismeni i usmeni dio). U slučaju da student položi kolokvij (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