Politechnika Warszawska - Centralny System UwierzytelnianiaNie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Paradygmaty programowania

Informacje ogólne

Kod przedmiotu: 103A-INxxx-ISP-PARP Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Paradygmaty programowania
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Metody wytwarzania oprogramowania )-Informatyka-inż.-EITI
( Przedmioty techniczne )---EITI
Punkty ECTS i inne: 3.00
Język prowadzenia: polski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

PARP

Numer wersji:

1

Skrócony opis:

Celem przedmiotu jest przedstawienie podstawowych paradygmatów programowania oraz pokazanie w jaki sposób mogą być one wykorzystane przy tworzeniu oprogramowania. Wskazane zostaną kluczowe różnice pomiędzy paradygmatami, obszary ich zastosowań oraz wspierające je języki programowania. Szczególna uwaga poświęcona zostanie programowaniu funkcyjnemu jako tematowi nie poruszanemu na wcześniejszym etapie studiów. Wiedza uzyskana podczas przedmiotu pozwoli studentom na dobór paradygmatu do rozwiązywanego problemu programistycznego oraz ułatwi efektywne posługiwanie się współczesnymi językami programowania.

Pełny opis:

Celem przedmiotu jest przedstawienie podstawowych paradygmatów programowania oraz pokazanie w jaki sposób mogą być one wykorzystane przy tworzeniu oprogramowania. Wskazane zostaną kluczowe różnice pomiędzy paradygmatami, obszary ich zastosowań oraz wspierające je języki programowania. Szczególna uwaga poświęcona zostanie programowaniu funkcyjnemu jako tematowi nie poruszanemu na wcześniejszym etapie studiów. Wiedza uzyskana podczas przedmiotu pozwoli studentom na dobór paradygmatu do rozwiązywanego problemu programistycznego oraz ułatwi efektywne posługiwanie się współczesnymi językami programowania.



Treść wykładu

  1. Wprowadzenie (2 godz.)
    Informacje o przedmiocie. Regulamin przedmiotu. Ogólna klasyfikacja paradygmatów i języków programowania. Programowanie imperatywne a programowanie deklaratywne.
  2. Programowanie obiektowe (2 godz.)
    Programowanie obiektowe na przykładzie języka Smalltalk: klasy i obiekty, klasy jako obiekty, przekazywanie komunikatów, dziedziczenie i polimorfizm, bloki kodu, refleksja, wzorzec MVC, obrazy i maszyna wirtualna.
  3. Programowanie funkcyjne (6 godz.)
    Programowanie funkcyjne na przykładzie języka Haskell: funkcje czyste, funkcje rekurencyjne, funkcje wyższego rzędu, dopasowanie wzorca, funkcje anonimowe, klasy typów, funktory i monady, proste programy interaktywne, leniwe wartościowanie, wnioskowanie na temat programów.
  4. Programowanie w logice (2 godz.)
    Programowanie w logice na przykładzie języka Prolog: fakty i reguły, zmienne i ich ukonkretnianie, wykonywanie zapytań, listy, proste programy interaktywne.
  5. Pozostałe paradygmaty (2 godz.)
    Programowanie zdarzeniowe, programowanie reaktywne, programowanie aspektowe, programowanie agentowe, model aktorów.



Zakres laboratorium

W trakcie zajęć laboratoryjnych studenci nabywają praktycznych umiejętności rozwiązywania problemów przy użyciu omawianych na wykładzie paradygmatów programowania. Realizują kilka mniejszych zadań w językach Smalltalk, Haskell i Prolog oraz jedno większe zadanie projektowe, w ramach którego implementują rozwiązanie korzystając z kilku paradygmatów i poznając w praktyce ich zalety i wady.

Literatura:

  • M. Gabrielli, S. Martini, Programming Languages: Principles and Paradigms, Springer-Verlag (2010).
  • M. L. Scott, Programming Language Pragmatics (fourth edition), Morgan Kaufmann (2015).
  • G. Hutton, Programming in Haskell (second edition), Cambridge University Press (2016).
Metody i kryteria oceniania:

Sprawdzanie założonych efektów kształcenia realizowane jest przez:

  • ocenę wiedzy i umiejętności związanych z realizacją zadań laboratoryjnych – ocena z wybranych zadań laboratoryjnych oraz zadania projektowego;
  • ocenę wiedzy wykazanej na kolokwium pisemnym.

Zajęcia w cyklu "rok akademicki 2021/2022 - sem. letni" (jeszcze nie rozpoczęty)

Okres: 2022-02-21 - 2022-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 30 godzin więcej informacji
Wykład, 15 godzin więcej informacji
Koordynatorzy: (brak danych)
Prowadzący grup: (brak danych)
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.