Zaawansowane techniki programistyczne - Wydział Informatyki

Transkrypt

Zaawansowane techniki programistyczne - Wydział Informatyki
Zaawansowane techniki programistyczne
Wydział Informatyki
Nazwa
programu
kształcenia
Informatyka i ekonometria
Poziom i forma studiów
I stopień stacjonarne
---
Ścieżka dyplomowania
2015/2016Z - 2018/2019Z
Zaawansowane techniki programistyczne
Kod przedmiotu
IE1ZTP
Punkty ECTS
5
Specjalność
Nazwa
przedmiotu
Rodzaj
przedmiotu
obieralny
Semestr 4,5,6
Liczba
godzin w
semestrze
W - 30 Ćw - 0 PS - 30 P - 0 L - 0 S - 0
Przedmioty
wprowadzające
Programowanie obiektowe (IE1POB), Założenia i
cele
przedmiotu
Zapoznanie studentów z wybranymi wzorcami projektowymi (w tym wzorcami architekturalnymi) i ich przykładowymi zastosowaniami w wybranych językach i
bibliotekach (C++, Java, Smalltalk, Python) jako zaawansowanymi technikami programowania stosowanymi w programowaniu obiektowym. Nauczenie
praktycznego stosowanie wzorców projektowych w prostych programach pisanych na zajęciach. Nauczenie projektowania prostych systemów informatycznych z
wykorzystaniem wzorców a także doskonalenie ich implementowania w wybranych językach i dokumentowania. Wykształcenie praktyki korzystania z dokumentacji
technicznej wybranych języków programowania. Wykształcenie nawyku systematycznego przyswajania wiedzy z zakresu wykładu. Zespołowe realizowanie
prostych systemów informatycznych.
Formy
zaliczenia
Treści
programowe
Wykład: Zaliczenie na podstawie oceny z PS oraz sprawdzianu (kolokwium).
Pracownia specjalistyczna: sprawdziany wiedzy teoretycznej przed zajęciami, ocena wybranych programów realizowanych na zajęciach, większy program/projekt
realizowany częściowo poza zajęciami.
Pojęcia wzorca projektowego. Klasyfikacja wzorców projektowych. Wzorce projektowe i architekturalne (nazwy angielskie): Singleton, Factory Method, Prototype,
Abstract Factory, Builder, Proxy, Adapter, Decorator, Composite, Flyweight, Facade, Bridge, Command, Strategy, TemplateMethod, Iterator, State, Mediator,
Observer, Visitor, Layers, Pipes and Filters, Blackboard, Broker, Refleksja, Microkernel, Model-View-Controller, Presentation-Abstraction-Control. Języki o
dynamicznym typowaniu (Smalltalk, Python). Metaklasy. Techniki/technologie wykorzystujące wzorce: Java I/O, C++ STL. Projektowanie z wykorzystaniem wzorców
(JUnit), języki wzorców.
Metody
dydaktyczne
Efekty kształcenia
Symbol
Odniesienie do kierunkowych efektów
kształcenia
Student, który zaliczył przedmiot:
EK1
wymienia i opisuje wzorce projektowego (w tym na przykładach w tworzonych programach)
EK2
stosuje wzorce projektowe w tworzonych prostych programach
K_U03
EK3
projektuje z wykorzystaniem wzorców projektowych, implementuje i dokumentuje proste systemy informatyczne
K_W05
K_U05
EK4
pozyskuje dodatkową wiedzę nt. szczegółowych rozwiązań wybranych języków programowania na podstawie
dokumentacji technicznej
EK5
potrafi pracować w małych zespołach nad prostymi projektami
EK6
wykształca nawyk regularnego przyswajania wiedzy z zakresu wykładu
Efekt
kształcenia
K_W05
K_U05
K_K01
K_U05
K_K03
K_K01
Metoda weryfikacji
Forma zajęć na której zachodzi weryfikacja
EK1
Egzamin z wykładu, sprawdziany wejściowe na PS
W, PS
EK2
Sprawdzian z wykładu, ocena programów pisanych na PS
W, PS
EK3
Ocena prostego projektu (w tym projekt z użyciem wzorców)
PS
EK4
Ocena prostego projektu (wykorzystanie API użytego języka)
PS
EK5
Ocena prostego projektu (podział i organizacja pracy)
PS
EK6
Sprawdziany wejściowe na PS
PS
Bilans
nakładu
pracy
studenta
(w
godzinach)
1 - Udział w wykładach
15x2
30
2 - Udział w pracowni specjalistycznej
15x2
30
3 - Przygotowanie do pracowni specjalistycznej (na podstawie wykładu i innych źródeł)
10x1
10
4 - Udział w konsultacjach
3x1
5 - Realizacja zadań projektowych (w tym przygotowanie prezentacji)
6 - Przygotowanie do zaliczenia
5
RAZEM:
Wskaźniki
ilościowe
Literatura
podstawowa
Literatura
uzupełniająca
3
50
128
ECTS
Nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela:
63
2,5
(1)+(2)+(4)
Nakład pracy studenta związany z zajęciami o charakterze praktycznym:
90
3,5
(5)+(3)+(2)
1. Gamma, E., Helm, R., Johnson, R., Vlissides,J.: Design Patterns: elements of reusable object-oriented software. Addison-Wesley Publ., 1995.
2. Buschmann, F.: Pattern-oriented software architecture. [Vol. 1], A system of patterns. John Wiley & Sons, 2008.
1. Eckel, B.: Thinking in Patterns in Java. http://www.mindview.net/Books/TIPatterns/
2. Eckel, B.: Thinking in Python. http://www.mindview.net/Books/TIPython
3. Buschmann, F., Henney, K., Schmidt, D.C.: Pattern-oriented software architecture. Vol.5, On patterns and pattern languages. John Wiley a. Sons, 2007.
4. Brown, W.J., Malveau, R.C., McCormick, H.W., Mowbray, T.J., Hudson T.: AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. John Wiley &
Sons, 1998.
Jednostka
realizująca
Katedra Oprogramowania
Osoby
prowadzące
dr inż. Cezary Bołdak,dr inż. Jerzy Krawczuk,mgr inż. Daniel Reska
Data
opracowania
programu
18 grudnia 2013
Program
opracował(a)
dr inż. Cezary Bołdak
Wydrukowane w programie Świerk Design by: styleshout | Valid XHTML | CSS Home