Projekt

Projekt #

W ramach zaliczenia można realizować dowolny projekt w C#. Liczba punktów zależy od jakości i włożonej pracy.

Poniżej proponowane projekty:

1. Raytracer (Raytracing in One Weekend) #

Opis: Implementujemy pierwszą książkę “Raytracing in One Weekend” w C#.

Ważne: Ograniczamy alokacje pamięci przy renderowaniu (wybór: klasa czy struktura).

Mile widziane: Zrównoleglenie pętli, zapis do innego formatu, implementacja dalszych części książki.

Punkty: ok. 4

2. CityBike - Analiza danych LINQ #

Opis: Pobieramy dane (np. z https://citibikenyc.com/system-data), wczytujemy je i wykonujemy min. 5 zapytań LINQ.

Mile widziane: Łączymy dane z wypożyczalni z danymi pogodowymi.

Punkty: ok. 4 (zależnie od skomplikowania zapytań)

3. Program do kopii zapasowych #

Opis: Realizujemy wymagania projektu z SOP, ale zamiast procesów używamy wątków, zadań lub programowania asynchronicznego.

Punkty: ok. 4

4. Program do segregowania zdjęć #

Opis: Monitorujemy folder (również rekursywnie i w archiwach ZIP/TAR). Nowe zdjęcia segregujemy względem daty i miejsca. Czytamy EXIF, pobieramy nazwę lokalizacji z koordynatów (np. Nominatim) i zapisujemy w strukturze “rok/miesiąc/dzień/” i “kraj/miejscowość”.

Punkty: ok. 4

5. Gra sieciowa #

Opis: Tworzymy grę sieciową dowolnego gatunku.

Punkty: 4-12 (np. 4 pkt za turową grę konsolową, 8 pkt za klona agar.io w 2D)

Mile widziane: Użycie biblioteki do renderowania grafiki 2D/3D, silnika fizyki.

6. Gra w Godot lub Unity #

Opis: Tworzymy grę w wybranym silniku, z C# jako językiem skryptowym.

Punkty: Zależnie od zaawansowania 4-8

7. Raytracer + P/Invoke #

Opis: Do Raytracera w C++ (można użyć gotowej implementacji) dodajemy API C. W C# tworzymy odpowiedniki struktur i importujemy funkcje przez P/Invoke. Scenę definiujemy po stronie C# i wywołujemy renderowanie przekazując callback do postępu (postępem może być np. render dla X próbek).

Punkty: ok. 8 (ale w ramach planowego projektu)

comments powered by Disqus