Računarski praktikum I

Odvijanje nastave u periodu od 16. ožujka 2020. do daljnjeg

Zbog prekida održavanja neposredne kontaktne nastave, nastava iz kolegija Računarski praktikum 1 će se do drugačije obavijesti odvijati na sljedeći način:

  • Način provedbe predavanja će biti opisan na redovitoj stranici s materijalima s predavanja, na adresi dama.math.hr.
  • Svakog tjedna studenti u svom redovitom terminu vježbi trebaju samostalno proučavati nastavne sadržaje korištenjem prezentacija na podstanici Slideovi, te rješavati u njima navedene zadatke. Svakog tjedna će biti objavljene upute koje gradivo treba obraditi.
  • U svom redovitom terminu vježbi, studenti se trebaju prijaviti u chat na adresi https://web.math.pmf.unizg.hr/~lmikec/auth/online/rp1.php pomoću svog AAIEdu korisničkog računa, te se pridružiti kanalu koji pripada njihovom terminu vježbi. Asistent će na tom kanalu biti dostupan za sva pitanja u vezi gradiva koje treba obraditi. Alternativno, pitanja asistentu možete postavljati i putem maila. Prijava na chat se evidentira kao prisutnost na vježbama.
  • Krajem svakog tjedna će biti objavljena rješenja zadataka iz prezentacija.
  • Domaće zadaće će za vrijeme prekida održavanja neposredne nastave imati produljeni rok predaje.

Zadatke iz prezentacija, kao i zadatke za zadaću i vježbu možete implementirati na svojem računalu.

  • Ako je na tom računalu instaliran Linux, onda možete lako koristiti isti editor teksta i kompajlirati programe iz komandne linije kao na vježbama u praktikumu.
  • Ako je na tom računalu instaliran Microsoft Windows, onda okruženje vrlo slično onom u praktikumu možete dobiti tako da slijedite upute na ovoj stranici. Alternativno, možete instalirati virtualnu mašinu.

Vježbe u tjednu 18. svibnja - 22. svibnja 2020.
  • Studenti trebaju dovršiti gradivo iz Prezentacije 11 (Funktori. Algoritmi u STL-u), te samostalno riješiti zadatke navedene u toj prezentaciji.

Vježbe u tjednu 11. svibnja - 15. svibnja 2020.
  • Studenti trebaju dovršiti gradivo iz Prezentacije 10 (friend funkcije i klase. Predefiniranje operatora), obraditi gradivo iz Prezentacije 11 (Funktori. Algoritmi u STL-u) do uključivo slajda 6, te samostalno riješiti zadatke navedene u tim prezentacijama.

Vježbe u tjednu 4. svibnja - 8. svibnja 2020.
  • Studenti trebaju obraditi gradivo iz Prezentacije 10 (friend funkcije i klase. Predefiniranje operatora) do uključivo slajda 21, te samostalno riješiti Zadatke 1 i 2 navedene u toj prezentaciji.

Vježbe u tjednu 27. travnja - 1. svibnja 2020.
  • Studenti trebaju obraditi gradivo iz Prezentacije 9 (this pointer. static. Pretpostavljeni parametri funkcija), te samostalno riješiti zadatke navedene u toj prezentaciji.

Vježbe u tjednu 20.-24. travnja 2020.
  • Studenti trebaju obraditi gradivo iz Prezentacije 8 (Pojam klase: modifikatori pristupa. Nasljeđivanje. Virtualne funkcije i apstraktne klase), te samostalno riješiti zadatke navedene u toj prezentaciji.

Vježbe u tjednu 13.-17. travnja 2020.
  • Za vježbu, studenti trebaju riješiti zadatke s prvog kolokvija iz 2013. godine, dostupne ovdje. Studenti trebaju obraditi gradivo iz Prezentacije 7 (Ugniježđene strukture. const. Reference), te samostalno riješiti zadatke navedene u toj prezentaciji.

Vježbe u tjednu 6.-10. travnja 2020.
  • Studenti trebaju obraditi gradivo iz Prezentacije 6 (Standard Template Library (STL): pair, set, map), te samostalno riješiti zadatke navedene u toj prezentaciji.

Vježbe u tjednu 30. ožujka - 3. travnja 2020.
  • Studenti trebaju obraditi gradivo iz Prezentacije 5 (Standard Template Library (STL): stack, queue, vector, list), te samostalno riješiti zadatke navedene u toj prezentaciji.

Vježbe u tjednu 23.-27. ožujka 2020.
  • Studenti trebaju obraditi gradivo iz Prezentacije 4 (Parametrizirane funkcije i strukture (template-i)), te samostalno riješiti zadatke navedene u toj prezentaciji.

Vježbe u tjednu 16.-20. ožujka 2020.
  • Studenti trebaju dovršiti gradivo iz Prezentacije 2 (Funkcija kao element strukture. Konstruktori i destruktori. Naredbe new i delete.), te gradivo iz Prezentacije 3 (Klasa string iz standardne biblioteke. Reimplementacija klase string. Copy-konstruktor.), te samostalno riješiti zadatke navedene u tim prezentacijama.

Ovo su web-stranice kolegija Računarski praktikum I kojeg slušaju svi studenti druge godine preddiplomskog sveučilišnog studija matematike. Kolegij se održava u ljetnom semestru, a nastava se sastoji od jednog sata predavanja i dva sata vježbi svakog tjedna.

Način polaganja

  • 4*6 bodova - četiri domaće zadaće (izrada zadataka u C++-u)
  • 60 bodova - pisana provjera znanja
  • 8 bodova - sudjelovanje na vježbama
  • 8 bodova - redovito praćenje predavanja

Pisana provjera znanja.
Pisana provjera znanja piše se na računalu, po mogućnosti u računalnom praktikumu. Provjera se sastoji od tri zadatka. Prvi zadatak je jednostavniji zadatak iz prvog dijela kolegija, dok su druga dva zadatka složeniji i obuhvaćaju cijelo gradivo. Najveći mogući broj bodova na pisanoj provjeri znanja je 60.

Redovito praćenje predavanja.
Student smije izostati najviše s 11 sati predavanja i vježbi. Redovito pohađanje odnosno praćenje nastave obavezno je za sve studente. Redovito praćenje predavanja boduje se na temelju potpisne liste s prva dva predavanja i ankete koju studenti popunjavaju nakon svakog predavanja na daljinu. Studenti koji su potpisani na oba kontaktna predavanja i imaju ispunjene sve ankete nakon predavanja na daljinu dobivaju 8 bodova, a svaki potpis odnosno anketa koja nedostaje umanjuje broj bodova za 1. Minimalni broj bodova je 0, odnosno nema negativnih bodova.

Popravna provjera znanja.
Popravna projera znanja sastoji se u ponavljanju pisane provjere znanja. Pravo na polaganje popravne provjere znanja imaju studenti koji su ostvarili minimalni broj bodova iz svih elemenata ocjenjivanja, osim iz pisane provjere znanja. Pravo na polaganje poprave provjere znanja imaju također i studenti koji su ostvarili minimalni broj bodova iz svih elemenata ocjenjivanja, a u zbroju nemaju dovoljan broj bodova za prolaznu ocjenu.

Zaključivanje ocjene.
Pravo na ocjenu iz kolegija imaju studenti koji ostvare sljedeće minimalne uvjete:

  • Pisana provjera znanja - minimalno 20 bodova
  • Domaće zadaće - predane sve domaće zadaće i ostvarenih barem 5 bodova
  • Sudjelovanje na vježbama - minimalno 4 boda
  • Zbroj bodova na predavanjima i vježbama - minimalno 8 bodova
  • Ukupan broj bodova - minimalno 49 bodova

Broj bodova potreban za pojedinu ocjenu:

  • 88-100 izvrstan (5)
  • 75-87 vrlo dobar (4)
  • 62-74 dobar (3)
  • 49-61 dovoljan (2)

Sadržaj kolegija

  • Uvod: Naredbe cin i cout. Definicija struktura u C++-u. Razdvajanje sučelja i implementacije od klijentskog programa -- programi u više datoteka.
  • Funkcije kao članovi strukture: Deklaracija, definicija i pozivanje funkcija kao članova strukture. Pojam konstruktora i destruktora. Naredbe new i delete.
  • String: Reimplementacija klase string iz standardne biblioteke.
  • Template-i: Parametrizirane funkcije i strukture.
  • Standard Template Library (STL): stack, queue, vector, list, pair, set, map.
  • Pojam klase: private, public i protected modifikatori pristupa. Nasljeđivanje. Virtualne funkcije. Apstraktne klase. friend funkcije i klase. Predefiniranje operatora.
  • Funktori.
  • Algoritmi u STL-u.

Literatura

  • Stanley B. Lippman, Josée Lajoie: The C++ Primer, 3rd Edition, Addison-Wesley, 1998.
  • Bjarne Stroustrup: The C++ Programming Language, 3rd Edition, Addison-Wesley, 1998.