Programowanie funkcyjne/Tematy programów zaliczeniowych
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Oto przykładowe tematy programow zaliczeniowych z ubiegłych lat:
- Wybrana(e) gry i łamigłówki:
- kółko i krzyżyk,
- kółko i krzyżyk 3D,
- gomoku,
- szachy (końcówki),
- szachy,
- chińskie szachy Xiang Qi,
- reversi,
- hex,
- liero,
- Pylos,
- uproszczony backgammon,
- bilard,
- domino,
- kości,
- ScraMLe -- gra typu scrabble,
- skrulki = scrabble + kulki,
- Bullint (strzelanie),
- turowa gra militarna,
- gra typu WarCraft.
- Algorytmy wykorzystywane do tworzenia strategii w grach:
- mini-max,
- - obcięcie,
- drzewa and-or,
- różnorakie funkcje oceniające,
- algorytmy genetyczne (do wyznaczenia funkcji oceniających),
- metoda GLEM (szt. int.).
- Łamigłówki i algorytmy je rozwiązujące:
- Sudoku,
- obrazki logiczne.
- Grafika:
- Fraktale:
- iterowane przekształcenia liczb zespolonych (np. żółw Mandelbrota, zbiory Juli),
- opisywane przekształceniami afinicznymi,
- L-systemy,
- fraktale Newtona.
- Funkcyjnie reprezentowane obrazki i operacje na nich.
- Animowane obrazki funkcyjne (--> Interpretery).
- Ray-tracing.
- Wizualizacja i układanie kostki Rubika.
- Wyznaczanie możliwych ścian kryształów i ich wizualizacja.
- Wykresy 3D funkcji .
- Interfejs 3D dla szachów (--> Gry).
- Fraktale:
- Interpreter/semantyka języka programowania:
- Logo (uproszczone),
- imperatywnego języka programowania z mikrowątkami (semantyka kontynuacyjna),
- imperatywnego języka do obliczeń numerycznych,
- jezyka Tiny,
- język opisujący animowane obrazki funkcyjne,
- zintegrowany język zapytań,
- optymalizacja zapytań bazodanowych,
- kalkulator ze:
- zmiennymi, przypisaniami, definicjami funkcji i wykresami,
- zmiennymi, przypisaniami, definicjami funkcji i symbolicznym obliczaniem pochodnych.
- Symulacje:
- symulacja życia bakterii.
- Struktury danych (z zastosowaniem funktorów):
- Wielowymiarowe drzewa przedziałowe,
- Przeszukiwanie pełnotekstowe w oparciu o B-drzewa,
- Implementacja i wizualizacja drzew BST.
- Algorytm Dijkstry i kopiec dwumianowy.
- Tester struktur danych.
- Implementacja sieci neuronowej i jej zastosowania:
- rozpoznawanie cyfr pisanych odręcznie (OCR).
- Implementacja algorytmów genetycznych i ich zastosowania:
- funkcje oceniające w grach (--> Gry),
- znajdowanie ekstremów funkcji.
- System dowodzenia twierdzeń.
- Generator parserów z wizualizacją.
- Generator parserów uproszczonego XML'a w OCaml'u.
- Wykrywanie niesamodzielnie napisanych programów.
- Przetwarzanie strumieni danych: kompresja, szyfrowanie.
- Wyszukiwanie podobieństw między plikami MP3.
- Mikro-Enigma --- implementacja uproszczonej wersji Enigmy.
- Szyfrowanie za pomocą RSA.
- Wycena opcji w modelu dwumianowym.