Programowanie funkcyjne/Tematy programów zaliczeniowych: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
Oto przykładowe tematy programow zaliczeniowych z ubiegłych lat: | Oto przykładowe tematy programow zaliczeniowych z ubiegłych lat: | ||
* Wybrana(e) gry: | * Wybrana(e) gry: | ||
** kółko i krzyżyk, | |||
** kółko i krzyżyk 3D, | |||
** gomoku, | ** gomoku, | ||
** szachy (końcówki), | ** szachy (końcówki), | ||
** szachy, | |||
** chińskie szachy Xiang Qi, | |||
** reversi, | ** reversi, | ||
** hex, | ** hex, | ||
Linia 8: | Linia 12: | ||
** Pylos, | ** Pylos, | ||
** uproszczony backgammon, | ** uproszczony backgammon, | ||
** bilard. | ** bilard, | ||
** domino, | |||
** kości, | |||
** skrulkik = scrabble + kulki, | |||
** gra typu WarCraft. | |||
: Algorytmy wykorzystywane do tworzenia strategii w grach: | : Algorytmy wykorzystywane do tworzenia strategii w grach: | ||
:* mini-max, | :* mini-max, | ||
Linia 16: | Linia 24: | ||
:* algorytmy genetyczne (do wyznaczenia funkcji oceniających), | :* algorytmy genetyczne (do wyznaczenia funkcji oceniających), | ||
:* metoda GLEM (szt. int.). | :* metoda GLEM (szt. int.). | ||
* 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 <math>\cal R^2 \to \cal R</math>. | |||
** Interfejs 3D dla szachów (--> Gry). | |||
* Interpreter/semantyka języka programowania: | * Interpreter/semantyka języka programowania: | ||
** Logo (uproszczone), | ** Logo (uproszczone), | ||
Linia 21: | Linia 42: | ||
** imperatywnego języka do obliczeń numerycznych, | ** imperatywnego języka do obliczeń numerycznych, | ||
** jezyka Tiny, | ** jezyka Tiny, | ||
** język opisujący animowane obrazki funkcyjne, | |||
** zintegrowany język zapytań, | ** zintegrowany język zapytań, | ||
** optymalizacja zapytań bazodanowych. | ** optymalizacja zapytań bazodanowych, | ||
** kalkulator ze: | |||
*** zmiennymi, przypisaniami, definicjami funkcji i wykresami, | |||
*** zmiennymi, przypisaniami, definicjami funkcji i symbolicznym obliczaniem pochodnych. | |||
* Struktury danych (z zastosowaniem funktorów): | * Struktury danych (z zastosowaniem funktorów): | ||
** Wielowymiarowe drzewa przedziałowe, | ** Wielowymiarowe drzewa przedziałowe, | ||
** Przeszukiwanie pełnotekstowe w oparciu o B-drzewa, | ** Przeszukiwanie pełnotekstowe w oparciu o B-drzewa, | ||
** Implementacja i wizualizacja drzew BST. | ** Implementacja i wizualizacja drzew BST. | ||
** Algorytm Dijkstry i kopiec dwumianowy. | |||
** Tester struktur danych. | ** Tester struktur danych. | ||
* Implementacja sieci neuronowej i jej zastosowania: | * Implementacja sieci neuronowej i jej zastosowania: | ||
** rozpoznawanie cyfr pisanych odręcznie (OCR). | ** rozpoznawanie cyfr pisanych odręcznie (OCR). | ||
* Implementacja algorytmów genetycznych i ich zastosowania: | |||
** funkcje oceniające w grach (--> Gry), | |||
** znajdowanie zer funkcji. | |||
* System dowodzenia twierdzeń. | * System dowodzenia twierdzeń. | ||
* Generator parserów z wizualizacją. | * Generator parserów z wizualizacją. | ||
* Generator parserów uproszczonego XML'a w OCaml'u. | |||
* Wykrywanie niesamodzielnie napisanych programów. | * Wykrywanie niesamodzielnie napisanych programów. | ||
* Wyszukiwanie podobieństw między plikami MP3. | * Wyszukiwanie podobieństw między plikami MP3. | ||
* Mikro-Enigma --- implementacja uproszczonej wersji Enigmy. | * Mikro-Enigma --- implementacja uproszczonej wersji Enigmy. |
Wersja z 10:01, 16 sty 2007
Oto przykładowe tematy programow zaliczeniowych z ubiegłych lat:
- Wybrana(e) gry:
- 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,
- skrulkik = scrabble + kulki,
- 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.).
- 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.
- 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 zer funkcji.
- System dowodzenia twierdzeń.
- Generator parserów z wizualizacją.
- Generator parserów uproszczonego XML'a w OCaml'u.
- Wykrywanie niesamodzielnie napisanych programów.
- Wyszukiwanie podobieństw między plikami MP3.
- Mikro-Enigma --- implementacja uproszczonej wersji Enigmy.