Računarski praktikum 3

O kolegiju

Nastava iz kolegija Računarski praktikum 3 se odvija u zimskom semestru i počinje prema aktualnom kalendaru nastave.

Zadatke iz ovog kolegija možete implementirati na svojem računalu ako imate instaliran Microsoft Windows i Visual Studio 2022.


Nastava

Osnovni podaci o kolegiju

  • Predaje se na diplomskom sveučilišnom studiju "Računarstvo i matematika", 2 godina, obavezan kolegij.
  • Predaje se jedan semestar (zimski).
  • Satnica: 1 sat predavanja i 3 sati vježbi tjedno.
  • ECTS bodovi: 5
  • ISVU šifra: 61520

Korisna literatura

  • C# 13 and .NET 9 - Modern Cross-Platform Development Fundamentals,Start building websites and services with ASP.NET Core 9, Blazor, and EF Core 9, Ninth Edition, Mark J. Price, Packt Publishing, 2024
  • C# 12 in a Nutshell, The Definitive Reference, Joseph Albahari, O'Reilly, 2023
  • C# 12 Pocket Reference, Joseph Albahari, Ben Albahari, O'Reilly, 2023
  • C# Data Structures and Algorithms, Harness the power of C# to build a diverse range of efficient applications, Second Edition, Marcin Jamro, Packt Publishing, 2024
  • Essential C# 12.0, 8th Edition, Mark Michaelis, Addison-Wesley Professional, 2023

Nastavnici

Predavanje: Marija Barkiđija
Vježbe: Sebastijan Horvat

Pravila ocjenjivanja i način polaganja:

Elementi ocjenjivanja
  • domaće zadaće (20 bodova)
  • pisani ispit (80 bodova)
Domaće zadaće
Tijekom semestra biti će zadane dvije domaće zadaće koje donose ukupno 20 bodova, svaka po 10 bodova. Zadaća uključuje programske zadatke iz obrađenog gradiva i po potrebi se obrazlaže pred asistentom, koji je sastavio zadaće. Pri ocjenjivanju domaće zadaće boduje se poštivanje roka izrade i točnost domaće zadaće u smislu udovoljavanja svim zadanim kriterijima.

Pisani ispit
Pisani ispit, kojeg sastavlja asistent, sastoji od rješavanja zadataka na računalu, obuhvaća cijelo gradivo kolegija i nosi 80 bodova. Pri ocjenjivanju pisanog ispita boduje se poštivanje roka izrade i točnost u smislu udovoljavanja svim zadanim kriterijima.

Zaključivanje ocjene
Kolegij su položili oni studenti koji su ukupno prikupili barem 50 bodova. Konačni uspjeh studenata je sljedeći:
  • 50-59 bodova: dovoljan (2)
  • 60-72 boda: dobar (3)
  • 73-86 bodova: vrlo dobar (4)
  • 87-100 bodova: izvrstan (5)

Predavanja

Predavanja (PDF datoteke) se nalaze u sustavu Merlin.
Teme koje će se obrađivati kroz predavanja su slijedeće:
  • Razvojna okolina .NET i razvojni alat Visual Studio 2022
  • C# programski jezik: Tipovi, nullability, operatori, stringovi, tuple, record, konverzije, kontrole toka, memorijski blokovi, inicijalizacija, argumenti, parametri, object, boxing/unboxing, dynamic, var, checked, unchecked, enum, polja
  • C# programski jezik: top-level statements, klase, modifikatori pristupa, dostupnost, fields, konstante, properties, metode, statički članovi, konstruktori, preopterećenje operatora, indekseri, parcijalne klase, garbage collector, finalizator, dispose
  • C# programski jezik: Strukture, delegati, multicast delegati, događaji, sučelja, generički tipovi i metode, kolekcije, string, StringBuilder
  • C# programski jezik: nasljeđivanje, apstraktne klase, virtualne metode, zapečaćene klase i metode, skrivanje članova i metoda, nadjačavanje (override, new virtual, abstract), base, kastanje (upcasting, downcasting), ugniježdeni tipovi, iznimke,
    Language Integrated Query (LINQ): LINQ upiti, operatori upita, metode proširenja, filtriranje podataka, lambda izrazi, sortiranje podataka, grupiranje podataka, sets i multisets, projiciranje, joins, LINQ to XML, LINQ to SQL

Vježbe

Prezentacije (PDF datoteke) za vježbe nalaze se u sustavu Merlin.
Teme koje će se obrađivati kroz vježbe su slijedeće:
  • Osnove jezika C#, predefinirani tipovi, stringovi, konverzije tipova, vrijednosni i referentni tipovi, pisanje vlastitih tipova
  • Klase, static konstruktori, readonly, preopterećivanje konstruktora, expression-bodied metode, inicijalizatori objekta, svojstva, enumeracije, preopterećivanje operatora
  • Nasljeđivanje, polimorfizam i konverzije, is i as operator, virtualne funkcije iskrivanje članova klase, zapečaćene klase i funkcije, apstraktne klase i članovi klasa, tip object, boxing i unboxing, ugniježđeni tipovi
  • Sučelja, strukture, ref modifikator, eksplicitna implementacija sučelja
  • Indekseri, pravokutna i nejednaka polja, tipovi Index i Range, iznimke, Array klasa
  • Lista, Vezana lista, IEquatable i IEnumerable sučelje, rječnik, regularni izrazi
  • Delegati, funkcije višeg reda, Func i Action delegati, kovarijantnost i kontravarijantnost
  • Generičko programiranje, generička ograničenja
  • Uvod u Windows forme, svojstva i događaji za kontrole, gumbi, labele, potvrdni okvir, spremnici, kontrola za odabir slike, dijaloški okviri
  • Obrub, fokus, numeričke kontrole, štoperica
  • Dodavanje resursa, crtanja, double buffering, kontrola prikaza napretka, događaji pritiska tipke
  • Dinamičko generiranje kontrola, pseudoslučajni brojevi, izbornici, kontrola za odabir boje
  • Događaji, broadcaster i subscriber, event ključna riječ, klasa EventHandler

Zadaće

Zadaće se predaju u sustavu Merlin.
Dvije zadaće obuhvaćaju cijelo gradivo, gradivo iz prvog dijela kolegija (Console Application) i gradivo iz drugog dijela kolegija (Windows Forms).

Ispit

  • Ispit se piše unutar ispitnog razreda u Praktikumu na računalu, a sastoji od dva zadatka za čije rješavanje je potrebno 2 sata.
  • Na ispitu je moguće ostvariti najviše 80 bodova. Pritom se boduje jesu li ispunjeni navedeni zahtjevi u zadacima, a i sam kod.
  • Rješenja se predaju preko Merlina. Ne predaju se nikakvi papiri.
  • Ispit se rješava na računalu u Praktikumu ili na vlastitom računalu (koje donesete u Praktikum).
  • Dozvoljeno je korištenje bilo kakvih pisanih materijala nastalih prije ispita ili materijala dostupnih na Merlinu. Nije dozvoljen bilo kakav oblik komunikacije s drugim studentima i osobama izvan Praktikuma u kojem pišete (razmjena bilježaka, razgovor, aplikacije za komunikaciju i slično). Nije dozvoljena upotreba mobitela.