Semantyka i weryfikacja programów: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Linia 36: | Linia 36: | ||
* [[Template:Semantyka_i_weryfikacja_programów/Wykład 2|Wykład 2. Semantyka operacyjna]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 2|Ćwiczenia 2. Semantyka operacyjna 2]]) | * [[Template:Semantyka_i_weryfikacja_programów/Wykład 2|Wykład 2. Semantyka operacyjna]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 2|Ćwiczenia 2. Semantyka operacyjna 2]]) | ||
* [[Template:Semantyka_i_weryfikacja_programów/Wykład 3| Wykład 3. Semantyka naturalna]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 3|Ćwiczenia 3. Semantyka operacyjna 3/Semantyka naturalna 1]]) | * [[Template:Semantyka_i_weryfikacja_programów/Wykład 3| Wykład 3. Semantyka naturalna]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 3|Ćwiczenia 3. Semantyka operacyjna 3/Semantyka naturalna 1]]) | ||
* [[Semantyka_i_weryfikacja_programów/Wykład 4| Wykład 4.]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 4|Ćwiczenia 4. Semantyka naturalna 2]]) | * [[Semantyka_i_weryfikacja_programów/Wykład 4| Wykład 4. Semantyka denotacyjna]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 4|Ćwiczenia 4. Semantyka naturalna 2]]) | ||
* [[Semantyka_i_weryfikacja_programów/Wykład 5| Wykład 5.]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 5|Ćwiczenia 5. Semantyka naturalna 3]]) | * [[Semantyka_i_weryfikacja_programów/Wykład 5| Wykład 5. Semantyka denotacyjna - deklaracje]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 5|Ćwiczenia 5. Semantyka naturalna 3]]) | ||
* [[Semantyka_i_weryfikacja_programów/Wykład 6| Wykład 6.]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 6|Ćwiczenia 6. Semantyka naturalna 4]]) | * [[Semantyka_i_weryfikacja_programów/Wykład 6| Wykład 6. Kontynuacje]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 6|Ćwiczenia 6. Semantyka naturalna 4]]) | ||
* [[Semantyka_i_weryfikacja_programów/Wykład 7| Wykład 7.]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 7|Ćwiczenia 7. Semantyka denotacyjna 1]]) | * [[Semantyka_i_weryfikacja_programów/Wykład 7| Wykład 7. Punkty stałe]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 7|Ćwiczenia 7. Semantyka denotacyjna 1]]) | ||
* [[Semantyka_i_weryfikacja_programów/Wykład 8| Wykład 8. ]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 8|Ćwiczenia 8. Semantyka denotacyjna 2]]) | * [[Semantyka_i_weryfikacja_programów/Wykład 8| Wykład 8. Logika Hoare'a]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 8|Ćwiczenia 8. Semantyka denotacyjna 2]]) | ||
* [[Semantyka_i_weryfikacja_programów/Wykład 9| Wykład 9. ]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 9|Ćwiczenia 9. Semantyka denotacyjna 3]]) | * [[Semantyka_i_weryfikacja_programów/Wykład 9| Wykład 9. Poprawność całkowita ]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 9|Ćwiczenia 9. Semantyka denotacyjna 3]]) | ||
* [[Semantyka_i_weryfikacja_programów/Moduł 10| Semantyka denotacyjna 4]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 10|Ćwiczenia 10]]) | * [[Semantyka_i_weryfikacja_programów/Moduł 10| Semantyka denotacyjna 4]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 10|Ćwiczenia 10]]) | ||
* [[Semantyka_i_weryfikacja_programów/Moduł 11| Semantyka denotacyjna 5]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 11|Ćwiczenia 11]]) | * [[Semantyka_i_weryfikacja_programów/Moduł 11| Semantyka denotacyjna 5]] ([[Semantyka_i_weryfikacja_programów/Ćwiczenia 11|Ćwiczenia 11]]) |
Wersja z 14:07, 9 sie 2006
Forma zajęć
Wykład (30 godzin) + ćwiczenia (30 godzin)
Opis
Celem wykładu jest pokazanie roli i najważniejszych problemów i technik formalizacji opisu programów. Omawiane będą metody definiowania semantyki programów, z ich matematycznymi podstawami i praktycznymi technikami. Wprowadzone zostaną pojęcia poprawności programów oraz techniki i formalizmy dla ich dowodzenia. Przedstawione też będą najważniejsze idee systematycznego konstruowania poprawnych programów.
Sylabus
Autor
- Andrzej Tarlecki
Wymagania wstępne
- Wstęp do programowania
- Wstęp do teorii mnogości i logiki
Zawartość
- Formalny opis języków programowania
- Operacyjne i denotacyjne metody definiowania semantyki programów
- Semantyczne definicje podstawowych konstrukcji programistycznych
- Matematyczne podstawy semantyki denotacyjnej
- Pojęcia poprawności programów: poprawność częściowa i całkowita
- Metody dowodzenia poprawności programów
- Logika Hoare'a, jej wykorzystanie i własności formalne
- Systematyczne konstruowanie poprawnych programów
Literatura
- P. Dembiński, J. Manuszynski. Matematyczne metody definiowania języków programowania. WNT, 1981.
- M. Gordon. Denotacyjny opis języków programowania. WNT, 1983.
- D. Gries. The Science of Programming. Springer-Verlag, 1981.
- E. Dijkstra. Umiejętność programowania. WNT, 1978.
Moduły
- Wykład 1. Wprowadzenie (Ćwiczenia 1. Semantyka operacyjna 1)
- Wykład 2. Semantyka operacyjna (Ćwiczenia 2. Semantyka operacyjna 2)
- Wykład 3. Semantyka naturalna (Ćwiczenia 3. Semantyka operacyjna 3/Semantyka naturalna 1)
- Wykład 4. Semantyka denotacyjna (Ćwiczenia 4. Semantyka naturalna 2)
- Wykład 5. Semantyka denotacyjna - deklaracje (Ćwiczenia 5. Semantyka naturalna 3)
- Wykład 6. Kontynuacje (Ćwiczenia 6. Semantyka naturalna 4)
- Wykład 7. Punkty stałe (Ćwiczenia 7. Semantyka denotacyjna 1)
- Wykład 8. Logika Hoare'a (Ćwiczenia 8. Semantyka denotacyjna 2)
- Wykład 9. Poprawność całkowita (Ćwiczenia 9. Semantyka denotacyjna 3)
- Semantyka denotacyjna 4 (Ćwiczenia 10)
- Semantyka denotacyjna 5 (Ćwiczenia 11)
- Semantyka denotacyjna 6 (Ćwiczenia 12)
- Weryfikacja 1 (Ćwiczenia 13)
- Weryfikacja 2 (Ćwiczenia 14)
- Weryfikacja 3 (Ćwiczenia 15)