Programowanie funkcyjne/Tematy programów zaliczeniowych: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Kubica (dyskusja | edycje)
Nie podano opisu zmian
 
Kubica (dyskusja | edycje)
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.
* Grafika:
** Fraktale:
*** opisywane przekształceniami afinicznymi,
*** L-systemy.
** Funkcyjnie reprezentowane obrazki i operacje na nich.
** Ray-tracing.
** Wizualizacja i układanie kostki Rubika.
** Wyznaczanie możliwych ścian kryształów i ich wizualizacja.
* 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ń.  
* Kalkulator ze zmiennymi, funkcjami i wykresami.
* 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).
  • 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.