Programowanie zaawansowane
Informacje ogólne
Kod przedmiotu: | 420-IS1-2PZ |
Kod Erasmus / ISCED: |
11.101
|
Nazwa przedmiotu: | Programowanie zaawansowane |
Jednostka: | Instytut Informatyki |
Grupy: |
3L stac. I st. studia informatyki - przedmioty obowiązkowe |
Punkty ECTS i inne: |
(brak)
|
Język prowadzenia: | polski |
Rodzaj przedmiotu: | obowiązkowe |
Wymagania (lista przedmiotów): | Podstawy programowania strukturalnego 420-IS1-1PPS |
Założenia (opisowo): | Wymagana jest znajomość: podstaw programowania imperatywnego, klasyfikacji typów prostych, typów wskaźnikowych, stosowania tablic, podstawowych instrukcji i pętli, podstaw programowania obiektowego (definiowanie klas, pojęcie pola i metody, konstruktory, dziedziczenie, polimorfizm). |
Tryb prowadzenia przedmiotu: | w sali |
Skrócony opis: |
Założenia i cele przedmiotu: Nauczyć zaawansowanych technik i mechanizmów programowania wykorzystywanych współcześnie. Nauczyć stosowania ich w praktyce do implementacji poprawnych strukturalnie i efektywnych programów obiektowych. Podstawowym językiem poznawanym i wykorzystywanym podczas zajęć jest język Java. |
Pełny opis: |
Profil studiów: ogólnoakademicki Forma studiów: stacjonarne Rodzaj przedmiotu: obowiązkowy Dziedzina: nauki ścisłe i przyrodnicze; dyscyplina: informatyka Rok studiów / semestr: 2 / 3 Wymagania wstępne (tzw. sekwencyjny system zajęć i egzaminów): Przedmioty wprowadzające: Podstawy programowania strukturalnego, Wstęp do programowania obiektowego, Wykład: 30 Laboratorium: 45 Metody dydaktyczne: wykład, zadania rozwiązywane na zajęciach laboratoryjnych Punkty ECTS: 5 Bilans nakładu pracy studenta: Udział w zajęciach: - wykład 30h - laboratorium 45h Przygotowanie do zajęć: - wykład 15h - laboratorium 25h Przygotowanie do egzaminu: 10h Czas trwania egzaminu: 2h Udział w konsultacjach: 10h Wskaźniki ilościowe: - nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela: 87h, 3 ECTS - nakład pracy studenta, który nie wymaga bezpośredniego udziału nauczyciela: 50h, 2 ECTS |
Literatura: |
Literatura podstawowa: - Bruce Eckel - Thinking in Java. Edycja polska. Wydanie IV, 2006. - Bruce Eckel - Thinking in Java, 3rd Edition (edycja angielska) - http://wazniak.mimuw.edu.pl/index.php?title=Programowanie_obiektowe - http://wazniak.mimuw.edu.pl/index.php?title=Zaawansowane_projektowanie_obiektowe - Materiały Oracle Academy Literatura uzupełniająca: - Krzysztof Barteczko - Java od podstaw do technologii. Mikom Multimedia, 2004. - Marcin Lis - Java, ćwiczenia praktyczne. Helion, 2011. |
Efekty uczenia się: |
Efekty uczenia się w ramach realizacji przedmiotu: Zna i rozumie podstawowe techniki programowania obiektowego: abstrakcję danych, hermetyzację, dziedziczenie, polimorfizm. KA6_WG4, KA6_WG5 Zna wykorzystywane współcześnie zaawansowane mechanizmy programowania (korzystanie z klas bibliotecznych, przedefiniowywanie standardowych metod z nadklasy Object języka Java, wykorzystywanie interfejsów, wyrzucanie, przechwytywanie i obsługa wyjątków, definiowanie i używanie klas uogólnionych oraz kolekcji i zbiorów, serializacja, testowanie jednostkowe, generowanie dokumentacji). KA6_WG4, KA6_WG5 Zna założenia i charakterystykę podstawowych wzorców projektowych programowania obiektowego. KA6_WG3, KA6_WG4, KA6_WG5 Potrafi tworzyć obiektowe odwzorowanie dziedziny problemu wraz z realizacją związków między klasami pojęciowymi (specjalizacja/generalizacja, agregacja i kompozycja). KA6_UW6, KA6_UW7, KA6_UW8, KA6_UK3 Potrafi stosować w praktyce (do implementacji poprawnych strukturalnie, łatwych w utrzymaniu i efektywnych programów obiektowych) zaawansowane techniki programowania obiektowego (korzystanie z klas bibliotecznych, przedefiniowanie standardowych metod z nadklasy Object języka Java, wykorzystywanie interfejsów, wyrzucanie, definiowanie i obsługa wyjątków, definiowanie i używanie klas uogólnionych oraz kolekcji i zbiorów, serializacja, testowanie jednostkowe, generowanie dokumentacji). KA6_UW6, KA6_UW7, KA6_UW8, KA6_UK3 Potrafi wychwytywać w dziedzinie problemu podstawowe wzorce projektowe, projektować ich wykorzystanie oraz je implementować. KA6_UW6, KA6_UW8, KA6_UW15, KA6_UK3 Potrafi definiować kompetencje programisty-twórcy klas oraz programisty-klienta oraz stosować techniki programistyczne umożliwiające i ułatwiające współpracę wielu programistów na różnych poziomach współdziałania. KA6_UU1, KA6_KK1 |
Metody i kryteria oceniania: |
Ogólna forma zaliczenia przedmiotu: pisemny egzamin. |
Właścicielem praw autorskich jest Uniwersytet w Białymstoku.