Paradygmaty programowania: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Wkm (dyskusja | edycje)
Pierwsza wersja syllabusu
 
Wkm (dyskusja | edycje)
Linia 17: Linia 17:
=== Zawartość ===
=== Zawartość ===


* Składnia i semantyka języków programowania
* Pojęcia ogólne
** Opis składni i semantyki
** Opis składni i semantyki języków programowania
** Typy
** Typy
** Przekazywanie parametrów do podprogramów
** Przekazywanie parametrów do podprogramów

Wersja z 22:55, 9 cze 2006

Forma zajęć

Wykład (30 godzin) + laboratorium (30 godzin)

Opis

Kurs omawia paradygmaty pojawiające się we współczesnych językach programowania: programowanie imperatywne, obiektowe, funkcyjne i programowanie w logice. Pozwala to pogłębić znajomość języków programowania, a także zrozumieć podstawowe zagadnienia implementacyjne.

Sylabus

Autor

  • Włodzimierz Moczurad

Wymagania wstępne

  • Logika i teoria mnogości
  • Wstęp do programowania
  • Algorytmy i struktury danych

Zawartość

  • Pojęcia ogólne
    • Opis składni i semantyki języków programowania
    • Typy
    • Przekazywanie parametrów do podprogramów
    • Abstrakcyjne typy danych
    • Przeładowywanie operatorów i podprogramów
    • Polimorfizm
  • Programowanie imperatywne
    • Zmienne
    • Struktura blokowa
    • Wiązanie statyczne i dynamiczne
    • Organizacja wywołań podprogramów
    • Przydział pamięci na stosie i na stercie
    • Przykłady z języków C, Fortran, Pascal
  • Programowanie obiektowe
    • Klasy jako abstrakcyjne typy danych
    • Dziedziczenie
    • Późne wiązanie wywołań
    • Polimorfizm
    • Szablony i klasy rodzajowe
    • Przykłady z języków C++, Java, C#, Ada 95, Smalltalk
  • Programowanie funkcyjne
    • Funkcje jako model programowania
    • Rachunek lambda
    • Dopasowywanie wzorca
    • Otypianie
    • Rekursja
    • Leniwa ewaluacja
    • Funkcje wyższego rzędu
    • Przykłady z języków Lisp, Scheme, ML, Haskell
  • Programowanie w logice
    • Rachunek predykatów w Prologu
    • Rezolucja
    • Listy

Literatura

  • Robert Sebesta: Concepts of Programming Languages. Addison Wesley, 2005
  • Peter Van Roy, Seif Haridi: Concepts, Techniques, and Models of Computer Programming. MIT Press, 2004
  • Ken Arnold, James Gosling: The Java Programming Language. Addison Wesley, 2005 / Java. Wydawnictwa Naukowo-Techniczne, 1999
  • Jeffrey Ullman: Elements of ML Programming. Prentice Hall, 1997