Paradygmaty Programowania Wykład 0 Informacje Podstawowe Nieliniowej, WMiI UŁ 1
Informacje Ogólne (22 luty 2013) Wykłady: piątek, 10.00-12.00, D103 Wykłady: 1 wprowadzający +10 wykładów głównych Zaliczenie ćwiczeń: 4 projekty + kolokwium zaliczeniowe ocena z ćwiczeń = 50% projekty + 50% kolokwium Zaliczenie wykładu: zaliczone ćwiczenia + 60 min. egzamin w formie testu (15 pytań zamkniętych + 5 pytań otwartych) ocena z wykładu = 60% ćwiczenia + 40% egzamin Wykłady i Ćwiczenia na: www.math.uni.lodz.pl/~kowalcr/paradygmatydzienne Dyżur: pokój A327, Piątek 12.00-14.00 Nieliniowej, WMiI UŁ 2
Wykład 1 (8 marca 2013) Definicja i ogólne pojęcia (Robert Kowalczyk) 1. Czym jest paradygmat programowania 2. Programowanie imperatywne a deklaratywne 3. Programowanie strukturalne (procedury), obiektowe, funkcyjne i logiczne 4. Inne paradygmaty (programowanie zdarzeniowe, generyczne, współbieżne, SQL i XML) 5. Język i gramatyka 6. Interpreter a kompilator Nieliniowej, WMiI UŁ 3
Wykład 2 (15 marca 2013) Zmienne i typy w programowaniu (Dawid Kardas i Piotr Kubus) 1. Określenie zmiennej i jej atrybutów (nazwa, adres, typ, wartość, wiązania, zakres widoczności, okres życia) 2. Zmienne w różnych językach programowania 3. Typy pierwotne i złożone (całkowitoliczbowe, zmiennopozycyjne, tablice, rekordy, wskaźniki, typy abstrakcyjne) 4. Przegląd typów i ich implementacja w różnych językach programowania Nieliniowej, WMiI UŁ 4
Wykład 3 (22 marca 2013) Podprogramy w językach programowania (Dawid Kardas i Piotr Kubus) 1. Czym jest podprogram (funkcje i metody) 2. Przekazywanie parametrów do i z podprogramu 3. Przekazywanie tablic jedno i wielowymiarowych 4. Implementacja podprogramów w różnych językach programowania przegląd i przykłady Nieliniowej, WMiI UŁ 5
Wykład 4 (5 kwietnia 2013) Programowanie obiektowe (C++) (Paweł Jarzyński i Artur Pacholec) 1. Klasa a obiekt (geneza programowania obiektowego) 2. Hermetyzacja danych 3. Dziedziczenie a kompozycja 4. Polimorfizm (statyczny i dynamiczny) 5. Dziedziczenie wielokrotne a interfejsy 6. Alokacja i dealokacja obiektów 7. Klasy abstrakcyjne 8. Programowanie obiektowe w C++, Java, C# i PHP (przykłady) Nieliniowej, WMiI UŁ 6
Wykład 5 (12 kwietnia 2013) Programowanie obiektowe w Javie (Przemysław Białkowski i Michał Kasiński) 1. Krótka historia języka Java 2. Polecenia javac, java, javadoc, jar 3. Składnia języka: klasy, pola, metody, dziedziczenie, interfejsy, klasy abstrakcyjne 4. Typy proste i złożone, instrukcje warunkowe, iteracje, pętla foreach 5. Obsługa strumieni (plik, konsola, url itp.) 6. Wyjątki 7. Programowanie generyczne 8. Przykłady kodu, wydajność Nieliniowej, WMiI UŁ 7
Wykład 6 (19 kwietnia 2013) Programowanie funkcyjne (Haskell cz. 1) (Mateusz Drewniak, Adrian Kowalik i Wojciech Śmielak) 1. Krótka geneza języka Haskell 2. Polecenia i składnia języka 3. Listy i krotki 4. Typy i typy klasowe 5. Funkcje i wyrażenia (rozdziały 1-4 z Learn You a Haskell for Great Good!) Nieliniowej, WMiI UŁ 8
1. Rekurencja Wykład 7 (26 kwietnia 2013) Programowanie funkcyjne (Haskell cz. 2) (Robert Kowalczyk) 2. Funkcje wyższych rzędów 3. Podstawowe moduły 4. Tworzenie własnych typów i klas 5. Obsługa wejścia/wyjścia 6. Funktory, monoidy 7. Monady 8. Zippery (rozdziały 5-14 z Learn You a Haskell for Great Good!) Nieliniowej, WMiI UŁ 9
Wykład 8 (10 maja 2013) Programowanie w logice (Prolog cz.1) (Tomasz Chrabelski i Marcin Kluska) 1. Geneza języka Prolog 2. Fakty, reguły, zmienne, zapytania 3. Składnia: stałe, zmienne i struktury, 4. Operatory, równość i unifikacja, 5. Arytmetyka 6. Spełnianie celów (rozdziały 1-2 z książki Prolog programowanie) Nieliniowej, WMiI UŁ 10
Wykład 9 (17 maja 2013) Programowanie w logice (Prolog cz. 2) (Ariel Grzechowski i Ewelina Kunikowska) 1. Struktury a drzewa 2. Listy 3. Przeszukiwanie rekurencyjne 4. Łączenie struktur 5. Nawracanie i odcięcie 6. Obsługa wejścia i wyjścia 7. Predykaty wbudowane 8. Przykładowe programy 9. Usuwanie błędów w programach prologowych (rozdziały 3-8 z Prolog programowanie) Nieliniowej, WMiI UŁ 11
Wykład 10 (7 czerwca 2013) Powtórzenie (Robert Kowalczyk) 1. Oddawanie projektów 2. Zagadnienia na egzamin Nieliniowej, WMiI UŁ 12
Literatura do przedmiotu 1. http://wazniak.mimuw.edu.pl/ (Wykład 2-3) 2. Symfonia C++ Standard. Tom 1-2 (Wykład 4) 3. Java. Podstawy. Wydanie VIII (Wykład 5) 1. Learn You a Haskell for Great Good! (Wykład 6-8) 2. Prolog Programowanie (Wykład 9-11) Nieliniowej, WMiI UŁ 13
Dziękuję za Uwagę!!! Nieliniowej, WMiI UŁ 14