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