Zaawansowane techniki programowania
Informacje ogólne
Kod przedmiotu: | 1100-TP0UII |
Kod Erasmus / ISCED: | (brak danych) / (brak danych) |
Nazwa przedmiotu: | Zaawansowane techniki programowania |
Jednostka: | Wydział Matematyki i Informatyki |
Grupy: | |
Punkty ECTS i inne: |
0 LUB
6.00
(w zależności od programu)
|
Język prowadzenia: | polski |
Forma zaliczenia: | zaliczenie |
Forma studiów: | stacjonarne |
Wymagania wstępne: | Znajomość podstaw programowania obiektowego, w tym mechanizmów hermetyzacji i dziedziczenia. Znajomość przynajmniej jednego języka obiektowego. |
Skrócony opis: |
Celem przedmiotu jest rozwój umiejętności w zakresie sprawnego i efektywnego programowania z użyciem wybranego języka programowania wysokiego poziomu, przy wykorzystaniu zaawansowanych możliwości tego języka, a w szczególności programowania zorientowanego obiektowo, wielowątkowego i programowania z użyciem (zaawansowanych) bibliotek i wzorców projektowych. Przedstawione zostaną sposoby tworzenia testów jednostkowych oraz podstawy śledzenia aplikacji. |
Efekty uczenia się: |
Po zakończeniu kursu student: 1) Analizuje istniejące problemy programistyczne w kontekście obiektowym. 2) Tworząc program potrafi zarządzać dynamicznie przydzielanymi zasobami. 3) Używa zaawansowanych narzędzi i bibliotek programistycznych dostępnych w wybranym języku programowania. 4) Umie przeprowadzić testy jednostkowe aplikacji (za pomocą własnych lub udostępnionych szkieletów testujących). 5) Stosuje techniki śledzenia aplikacji. 6) Programuje z użyciem wyjątków. 7) Stosuje podstawowe wzorce projektowe. Powyższe efekty kształcenia osiągane w ramach przedmiotu pozwalają na realizację kierunkowych efektów kształcenia, mających następujące oznaczenia w programie Informatyka II stopnia: I-2A_W01, I-2A_W04, I-2A_W07, I-2A_W09, I-2A_U02, I-2A_U03, I-2A_U07, I-2A_U08, I-2A_U09, I-2A_K01, I-2A_K02, I-2A_K03, I-2A_K05, I-2A_K06, I-2A_K07, Isi-2A_W14, Isi-2A_W16, Isi-2A_U15, Isi-2A_U16. |
Zajęcia w cyklu "Semestr zimowy 2023/2024" (zakończony)
Okres: | 2023-10-01 - 2024-02-25 |
Przejdź do planu
PN WT ŚR LI
LI
CZ PT |
Typ zajęć: |
Ćwiczenia informatyczne, 56 godzin
|
|
Koordynatorzy: | Paweł Zajączkowski | |
Prowadzący grup: | Paweł Zajączkowski | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Ocena zgodna z regulaminem studiów
Ćwiczenia informatyczne - Ocena zgodna z regulaminem studiów |
Zajęcia w cyklu "Semestr zimowy 2022/2023" (zakończony)
Okres: | 2022-10-01 - 2023-02-19 |
Przejdź do planu
PN LI
LI
WT ŚR CZ PT LI
LI
|
Typ zajęć: |
Ćwiczenia informatyczne, 56 godzin
|
|
Koordynatorzy: | Arsen Eloglian | |
Prowadzący grup: | Arsen Eloglian | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Ocena zgodna z regulaminem studiów
Ćwiczenia informatyczne - Ocena zgodna z regulaminem studiów |
Zajęcia w cyklu "Semestr zimowy 2021/2022" (zakończony)
Okres: | 2021-10-01 - 2022-01-23 |
Przejdź do planu
PN WT ŚR LI
LI
CZ LI
LI
PT |
Typ zajęć: |
Ćwiczenia informatyczne, 56 godzin
|
|
Koordynatorzy: | Arsen Eloglian | |
Prowadzący grup: | Arsen Eloglian | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Ocena zgodna z regulaminem studiów
Ćwiczenia informatyczne - Ocena zgodna z regulaminem studiów |
Zajęcia w cyklu "Semestr zimowy 2020/2021" (zakończony)
Okres: | 2020-10-01 - 2021-02-07 |
Przejdź do planu
PN WT ŚR CZ LI
LI
PT |
Typ zajęć: |
Ćwiczenia informatyczne, 56 godzin
|
|
Koordynatorzy: | Arsen Eloglian | |
Prowadzący grup: | Arsen Eloglian | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Ocena zgodna z regulaminem studiów
Ćwiczenia informatyczne - Ocena zgodna z regulaminem studiów |
Zajęcia w cyklu "Semestr zimowy 2019/2020" (zakończony)
Okres: | 2019-10-01 - 2020-02-23 |
Przejdź do planu
PN WT LI
ŚR LI
CZ PT |
Typ zajęć: |
Ćwiczenia informatyczne, 56 godzin
|
|
Koordynatorzy: | Arsen Eloglian | |
Prowadzący grup: | Arsen Eloglian | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Ocena zgodna z regulaminem studiów
Ćwiczenia informatyczne - Ocena zgodna z regulaminem studiów |
Zajęcia w cyklu "Semestr zimowy 2018/2019" (zakończony)
Okres: | 2018-10-01 - 2019-02-10 |
Przejdź do planu
PN LI
LI
WT ŚR CZ PT |
Typ zajęć: |
Ćwiczenia informatyczne, 56 godzin
|
|
Koordynatorzy: | Piotr Sielski | |
Prowadzący grup: | Piotr Sielski | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Ocena zgodna z regulaminem studiów
Ćwiczenia informatyczne - Ocena zgodna z regulaminem studiów |
|
Czy ECTS?: | T |
|
Metody dydaktyczne: | Ćwiczenia przeprowadzone w laboratorium komputerowym polegające na przedstawieniu różnego rodzaju zagadnień, wraz z przykładowymi rozwiązaniami oraz samodzielnej pracy w celu utrwalenia zdobytych umiejętności. |
|
Sposoby i kryteria oceniania: | Sposób zaliczenia: Zaliczenie w formie projektów programistycznych - wszystkie efekty kształcenia. |
|
Treści kształcenia: | 1. Techniki zarządzania zasobami - opakowywanie zasobów w klasy, prawo własności do zasobu, zliczanie referencji, technika Resource Acquisition is Initialization. 2. Znajdowanie wycieków pamięci/zasobów. 3. Podział projektu na jednostki translacji, zarządzanie rozłączną kompilacją. 4. Rozwiązywanie problemu zależności przy statycznej inicjalizacji obiektów. 5. Obsługa sytuacji wyjątkowych, obsługa błędów. Zasada programowania na podstawie kontraktu (design by contract). 6. Testowanie aplikacji, przeprowadzanie testów jednostkowych, szkielety testowe z rodziny xUnit, projektowanie własnego szkieletu testowego. Tworzenie oprogramowania zgodnie z zasadą Test Driven Development. 7. Śledzenie pracy aplikacji, szkielety śledzące z rodziny log4X. 8. Tworzenie poprawnej hierarchii klas zgodnie z kryterium podstawialności. 9. Szablony i typy generyczne. Programowanie uogólnione. 10. Wzorce projektowe. 11. Programowanie wielowątkowe. |
|
Literatura: |
[1] Bruce Eckel; Thinking in C++ tom 1; edycja polska [2] Bruce Eckel, Chuck Allison; Thinking in C++ tom 2; [3] Marshall P. Cline, Greg Lomow, Mike Girou; C++ FAQs; (uboższa wersja elektroniczna: www.parashift.com/c++-faq-lite/ ) [4] Ian Sommerville; Inżynieria oprogramowania |
Zajęcia w cyklu "Semestr zimowy 2017/2018" (zakończony)
Okres: | 2017-10-01 - 2018-02-09 |
Przejdź do planu
PN LI
LI
WT ŚR LI
CZ PT LI
LI
|
Typ zajęć: |
Ćwiczenia informatyczne, 56 godzin
|
|
Koordynatorzy: | Piotr Sielski | |
Prowadzący grup: | Piotr Cybula, Piotr Sielski, Adam Stawicki | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Ocena zgodna z regulaminem studiów
Ćwiczenia informatyczne - Ocena zgodna z regulaminem studiów |
|
Czy ECTS?: | T |
|
Metody dydaktyczne: | Ćwiczenia przeprowadzone w laboratorium komputerowym polegające na przedstawieniu różnego rodzaju zagadnień, wraz z przykładowymi rozwiązaniami oraz samodzielnej pracy w celu utrwalenia zdobytych umiejętności. |
|
Sposoby i kryteria oceniania: | Sposób zaliczenia: Zaliczenie w formie projektów programistycznych - wszystkie efekty kształcenia. |
|
Treści kształcenia: | 1. Techniki zarządzania zasobami - opakowywanie zasobów w klasy, prawo własności do zasobu, zliczanie referencji, technika Resource Acquisition is Initialization. 2. Znajdowanie wycieków pamięci/zasobów. 3. Podział projektu na jednostki translacji, zarządzanie rozłączną kompilacją. 4. Rozwiązywanie problemu zależności przy statycznej inicjalizacji obiektów. 5. Obsługa sytuacji wyjątkowych, obsługa błędów. Zasada programowania na podstawie kontraktu (design by contract). 6. Testowanie aplikacji, przeprowadzanie testów jednostkowych, szkielety testowe z rodziny xUnit, projektowanie własnego szkieletu testowego. Tworzenie oprogramowania zgodnie z zasadą Test Driven Development. 7. Śledzenie pracy aplikacji, szkielety śledzące z rodziny log4X. 8. Tworzenie poprawnej hierarchii klas zgodnie z kryterium podstawialności. 9. Szablony i typy generyczne. Programowanie uogólnione. 10. Wzorce projektowe. 11. Programowanie wielowątkowe. |
|
Literatura: |
[1] Bruce Eckel; Thinking in C++ tom 1; edycja polska [2] Bruce Eckel, Chuck Allison; Thinking in C++ tom 2; [3] Marshall P. Cline, Greg Lomow, Mike Girou; C++ FAQs; (uboższa wersja elektroniczna: www.parashift.com/c++-faq-lite/ ) [4] Ian Sommerville; Inżynieria oprogramowania |
Właścicielem praw autorskich jest UNIWERSYTET ŁÓDZKI.