Zagadnienia do referowania: 1. gramatyki i języki formalne, notacja
Transkrypt
Zagadnienia do referowania: 1. gramatyki i języki formalne, notacja
Zagadnienia do referowania: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. gramatyki i języki formalne, notacja BNF, diagramy syntaktyczne zasada działania kompilatora/interpretera przeciążanie operatorów na potrzeby działania na obiektach zasady programowania opartego na zdarzeniach metody wnioskowania – w przód i wstecz programowanie strukturalne i strukturalizacja programów realizacja współbieżności proceduralna i obiektowa podstawowe cechy i możliwości język Prolog podstawowe cechy i możliwości język Scala podstawowe cechy i możliwości język Smalltalk rachunek lambda idea działania platformy .NET charakterystyka języka wirtualnej maszyny Javy (kodu bajtowego) obsługa wyjątków w różnych językach programowania wyrażenia regularne i ich przykładowe zastosowania listy i operacje (najlepiej prezentacja z animacją) funkcje preprocesora dla języków programowania (C/C++,…) metody przekazywania zmiennej liczby parametrów do podprogramów Zagadnienia do oprogramowania: 1. kompilator/interpreter prostego języka programowania 2. konwersja wyrażeń arytmetycznych między postaciami: infiksową – prefiksową – postfiksową 3. konwerter liczb całkowitych i rzeczywistych (zapis zmiennopozycyjny) na i z postaci binarnej z implementacją podstawowych operacji 4. realizacja stosu i kolejki na listach ze wskaźnikami z własnym menedżerem sterty 5. tablica z haszowaniem do wyszukiwania danych 6. iteracyjna i rekurencyjna implementacja wybranych algorytmów (liczby Fibonacciego, quicksort, wieże Hanoi) – porównanie czasów działania 7. program z podprogramami i bez, z przekazywaniem parametrów przez wartość i referencję – porównanie czasów działania 8. metody wnioskowania za pomocą podejścia imperatywnego 9. program obiektowy i proceduralny – porównanie czasów działania 10. porównanie czasów działania sortowania przez wybór w wersji sekwencyjnej, z podziałem na połówki w realizacji sekwencyjnej i w realizacji współbieżnej (być może ze zrównolegleniem łączenia z sortowaniem) 11. programowanie deklaratywne – przykłady zastosowań 12. optymalizacja kodu źródłowego – porównanie czasów działania 13. różne aspekty użycia obsługi wyjątków 14. implementacja automatu ze stosem dla prostych gramatyk 15. implementacja maszyny Turinga 16. implementacja współbieżna wybranych problemów (5 filozofów, producent konsument itp.)