Programiranje 2

Ovo su web stranice kolegija Programiranje 2 koji slušaju studenti prve godine preddiplomskog sveučilišnog studija Matematika kao obavezni kolegij, te studenti druge godine preddiplomskog sveučilišnog studija Matematika, smjer nastavnički kao izborni kolegij.

Kolegij se održava u ljetnom semestru, a nastava se sastoji od dva sata predavanja i dva sata vježbi svakog tjedna.

Glavni ciljevi ovog kolegija su svladavanje osnovnih tehnika programiranja (tj. realizacija osnovnih algoritama) i učenje konkretnog programskog jezika C, koji je sredstvo za realizaciju tih algoritama.

Način polaganja

Elementi ocjenjivanja
  • 40% + 60% - dva kolokvija

Redoviti kolokviji
Tijekom semestra održat će se dva redovita kolokvija. Ukupan broj bodova na prvom kolokviju je najmanje 40, a na drugom najmanje 60 (oba kolokvija mogu imati bonus bodove). Za prolaz kolegija potrebno je sakupiti ukupno barem 45 bodova na redovitim kolokvijima (prvi i drugi zajedno ili popravni), a pri tome na barem jednom "programskom" zadatku treba sakupiti najmanje 80% mogućih bodova. Svi zadaci se smatraju "programskima". U gradivo svakog pojedinog kolokvija ulazi sve što se radilo na vježbama i predavanjima od početka semestra do dana održavanja kolokvija. Od pomagala, na kolokvijima je dozvoljeno koristiti isključivo službeni podsjetnik.

Popravni kolokvij pokriva gradivo cijelog semestra. Pravo izlaska na popravni kolokvij imaju svi studenti koji ne polože kolegij. Rezultati s prva dva kolokvija (bodovi i postotak sakupljenih bodova) se ne računaju na popravnom kolokviju, tj. brišu se.

Studentima koji ostvare sve uvjete za prolaz, ocjena se zaključuje prema sljedećoj skali (računa se zbroj postignutih bodova):

45 - 59 bodovadovoljan (2)
60 - 74 bodovadobar (3)
75 - 89 bodovavrlo dobar (4)
90 - 100 bodovaizvrstan (5)

Završna provjera znanja
Završnoj provjeri znanja (koja se provodi praktično na računalima uz usmenu provjeru) pristupaju studenti koji polože kolokvijski dio ispita (na redovitim kolokvijima ili popravnom kolokviju), a nisu zadovoljni zarađenom ocjenom, te oni koje na tu provjeru pozove predmetni nastavnik. Tako postignuta ocjena iz kolegija može biti i niža od već zarađene ocjene (uključivo i pad kolegija).

Sadržaj kolegija

  1. Ponavljanje. Izrazi. Osnovne naredbe. Funkcije. Nizovi.
  2. Funkcije. Načini prijenosa argumenata. Primjeri rekurzivnih funkcija. Quick sort.
  3. Struktura programa. Blokovska struktura programa. Atributi varijabli: memorijske klase i doseg. Programi smješteni u više datoteka.
  4. Dvodimenzionalna polja. Osnovne karakteristike. Inicijalizacija i definicija. Polje kao argument funkcije. Primjeri.
  5. Pokazivači. Aritmetika pokazivača. Pokazivači i polja. Pokazivači i funkcije. Dinamičko alociranje memorije. Argumenti komandne linije.
  6. Strukture. Deklaracija i inicijalizacija. Polja struktura. Struktura definirana pomoću strukture. Strukture i pokazivači. Samoreferentne strukture. Operacije s vezanim listama. Merge sort. Unije.
  7. Datoteke. Otvaranje i zatvaranje datoteka. Podjela datoteka prema načinu pristupa i načinu upisa. Standardne funkcije za čitanje i pisanje. Formatirani upis/ispis. Binarni upis/ispis.
  8. Preprocesor. Naredbe #include, #define i #undef. Uvjetno uključivanje. Parametrizirane makro naredbe. Razlika između makro naredbi i funkcija.
  9. Standardna C biblioteka. Pregled datoteka zaglavlja i najčešće korištenih funkcija.