Załącznik nr 4 do Uchwały Senatu nr 430/01/2015 SYLABUS DOTYCZY CYKLU KSZTAŁCENIA 2015-2019 realizacja w roku akademickim 2016/2017 1.1. PODSTAWOWE INFORMACJE O PRZEDMIOCIE/MODULE Nazwa przedmiotu/ modułu Programowanie obiektowe Kod przedmiotu/ modułu* Wydział (nazwa jednostki prowadzącej kierunek) Nazwa jednostki realizującej przedmiot Kierunek studiów Poziom kształcenia Profil Forma studiów Wydział Matematyczno - Przyrodniczy Wydział Matematyczno - Przyrodniczy Informatyka studia inżynierskie I-go stopnia ogólnoakademicki stacjonarne Rok i semestr studiów rok II, semestr 3 Rodzaj przedmiotu Koordynator Imię i nazwisko osoby prowadzącej / osób prowadzących * - zgodnie z ustaleniami na wydziale Przedmiot specjalnościowy obligatoryjny Dr inż. Łukasz Maciura, dr inż. Wojciech Kozioł Dr inż. Łukasz Maciura, dr inż. Wojciech Kozioł, mgr inż. Adam Szczur, mgr inż. Marcin Ochab 1.2. Formy zajęć dydaktycznych, wymiar godzin i punktów ECTS Wykł. Ćw. Konw. Lab. Sem. ZP Prakt. Inne ( jakie?) Liczba pkt ECTS 30 45 6 1.3. Sposób realizacji zajęć zajęcia w formie tradycyjnej zajęcia realizowane z wykorzystaniem metod i technik kształcenia na odległość 1.4. Forma zaliczenia przedmiotu/ modułu ( z toku) ( egzamin, zaliczenie z oceną, zaliczenie bez oceny) ZALICZENIE Z OCENĄ 2.WYMAGANIA WSTĘPNE Podstawy programowania, Algorytmy i struktury danych, Programowanie obiektowe I 3. CELE, EFEKTY KSZTAŁCENIA, TREŚCI PROGRAMOWE I STOSOWANE METODY DYDAKTYCZNE 3.1. Cele przedmiotu/modułu C1 Zapoznanie studentów z zagadnieniami dotyczącymi tworzenia graficznych interfejsów użytkownika i dostępu do relacyjnej bazy danych w języku zorientowanym obiektowo. C2 Nabycie przez studenta umiejętności tworzenia aplikacji z graficznym interfejsem użytkownika w
C3 C4 C5 C6 C7 języku zorientowanym obiektowo. Nabycie umiejętności tworzenia aplikacji umożliwiających dostęp do relacyjnych baz danych w języku zorientowanym obiektowo. Zapoznanie studentów z technologiami programistycznymi Java i.net oraz z metodologią i technikami programowania w językach zorientowanych obiektowo: Java i C#. Nabycie przez studentów umiejętności tworzenia bardziej złożonych aplikacji w w językach zorientowanych obiektowo: Java i C#. Zapoznanie studentów z zaawansowanymi możliwościami technologii Zaznajomienie z obsługą środowiska programistycznego Visual Studio. 3.2 EFEKTY KSZTAŁCENIA DLA PRZEDMIOTU/ MODUŁU ( WYPEŁNIA KOORDYNATOR) EK ( efekt kształcenia) EK_01 EK_02 EK_03 EK_04 EK_05 EK_06 EK_07 EK_08 Treść efektu kształcenia zdefiniowanego dla przedmiotu (modułu) Student zna wybrane metody i narzędzia do tworzenia interfejsów graficznych w językach Java oraz C#. Student potrafi utworzyć prostą aplikację w języku Java pracującą w architekturze klient-serwer. Student zna metody dostępu do baz danych w języku Java, potrafi również tworzyć proste serwlety. Student potrafi zastosować abstrakcyjne typy danych do rozwiązania problemów przy użyciu języka C# Student potrafi zastosować standardowe biblioteki programistyczne do tworzenia oprogramowania w językach Java i C# Student potrafi tworzyć interfejsy graficzne w języku Java oraz potrafi ocenić ich użyteczność w praktycznych zastosowaniach. Student potrafi programować w języku Java, zna też podstawy języka C#. Student potrafi tworzyć aplikacje w języku Java mające dostęp do relacyjnej bazy danych. Odniesienie do efektów kierunkowych (KEK) K_W23 K_W30 K_W32 K_U14 K_U15 K_U21 K_U24 K_U27 3.3 TREŚCI PROGRAMOWE (wypełnia koordynator) A. Problematyka wykładu Treści merytoryczne Tworzenie graficznego interfejsu użytkownika w języku Java(okno aplikacji, podstawowe komponenty, menagery rozkładu komponentów, obsługa zdarzeń, tworzenie okien dialogowych). Programowe łączenie z relacyjną bazą danych i wykonywanie zapytań do bazy danych w języku Java (wybrana technologia bazodanowa np.: MySQL, PostgreSQL, SQLite itp.). Tworzenie aplikacji internetowych działających po stronie serwera w języku Tworzenie aplikacji działających w architekturze klient serwer w języku Tworzenie serwletów.
Wprowadzenie do platformy.net i języka C#. Porównanie technologii.net i Obsługa środowiska Microsoft Visual Studio.NET. Podstawowe typy danych, wyrażenia, instrukcje w języku C#. Tablice jedno i wielowymiarowe. Programowanie obiektowe w C#: tworzenie klas i obiektów, pola i metody, hermetyzacja, kompozycja, dziedziczenie, abstrakcja, polimorfizm Operacje na strumieniach. Obsługa wyjątków w języku C#. Obsługa kontenerów w języku C#. Tworzenie graficznego interfejsu użytkownika przy użyciu standardowych komponentów.net. Obsługa zdarzeń myszy i klawiatury, programowanie ruchomej grafiki 2D w języku C#. B. Problematyka laboratoriów Treści merytoryczne Tworzenie GUI w języku Łączenie się z relacyjną bazą danych w języku Tworzenie aplikacji internetowych wykonywanych po stronie serwera w języku Tworzenie aplikacji działających w architekturze klient serwer w języku Tworzenie serwletów. Tworzenie własnego projektu wraz z dokumentacją w postaci dokletu w języku Wprowadzenie do środowiska Visual Studio i SharpDevelop. Typy danych, wyrażenia warunkowe i instrukcje sterujące w języku C#. Tworzenie klas, obiektów i struktur w języku C#. Hermetyzacja, dziedziczenie i kompozycja w języku C#. Polimorfizm i abstrakcja (klasy abstrakcyjne i interfejsy) w języku C#. Kolekcje w języku C#. Obsługa wyjątków w języku Operacje na strumieniach w języku C#. Tworzenie GUI i obsługa zdarzeń w języku C#. 3.4 METODY DYDAKTYCZNE Wykład: wykład z prezentacją multimedialną, Laboratoria: tworzenie programów komputerowych w oparciu o treści zadań zawartych w konspektach laboratoryjnych, projekt praktyczny w postaci oprogramowania realizowanego głównie jako praca domowa w dużej mierze samodzielna ale konsultowana. 4 METODY I KRYTERIA OCENY 4.1 Sposoby weryfikacji efektów kształcenia Symbol efektu Metody oceny efektów kształcenia ( np.: kolokwium, egzamin ustny, egzamin pisemny, projekt, sprawozdanie, obserwacja w trakcie zajęć) EK_ 01 PROJEKT LAB, W EK_ 02 PROJEKT LAB, W EK_ 03 PROJEKT LAB, W EK_ 04 KOLOKWIUM LAB, W Forma zajęć dydaktycznych ( w, ćw, )
EK_ 05 PROJEKT LAB, W EK_ 06 PROJEKT LAB, W EK_ 07 KOLOKWIUM LAB, W EK_ 08 PROJEKT LAB, W 4.2 Warunki zaliczenia przedmiotu (kryteria oceniania) Wykład: Zaliczenie na podstawie zaliczenia z laboratorium. Laboratorium: obecność na zajęciach, zaliczenie kolokwiów i projektu na ocenę pozytywną, aktywność na zajęciach. Dostateczny: Student umie tworzyć proste programy w języku C#. Zna podstawy języka C# tj. typy proste i referencyjne, wyrażenia, instrukcje warunkowe, pętle. Potrafi przetwarzać łańcuchy tekstowe. Umie tworzyć klasy, pola, metody, konstruktory i obiekty. Umie przesłaniać i przeciążać metody. Zna pojęcia dziedziczenie, kompozycji i polimorfizmu i umie je zastosować w prostych programach. Umie tworzyć i używać klasy abstrakcyjne. Zna pojęcie składowych statycznych klasy i potrafi ich użyć. Zna podstawowe biblioteki dostarczające kolekcje. Umie obsłużyć wyjątki. Potrafi utworzyć nieskomplikowaną aplikację okienkową w językach Java i C#. Potrafi połączyć się z bazą danych i wyświetlić wyniki zapytania w konsoli w języku Dobry: Student umie tworzyć bardziej złożone programy w języku C#. Tworzone przez niego programy są napisane starannie i czytelnie. Zna dobrze podstawy języka C# tj. typy proste i referencyjne, wyrażenia, instrukcje warunkowe, pętle łatwo się w nich porusza. Umie tworzyć w języku C# klasy, pola, metody, konstruktory i obiekty. Umie również przesłaniać i przeciążać metody. Zna pojęcia dziedziczenie, kompozycji i polimorfizmu i stosuje je w swoich programach w języku C#. Wykazuje się głębokim zrozumieniem tych mechanizmów paradygmatu obiektowego. Umie tworzyć i używać klasy abstrakcyjne i interfejsy w języku C#. Zna dostarczane w C# biblioteki obsługujące kolekcje surowe i generyczne. Potrafi obsłużyć wyjątki. Tworzy złożone aplikacje okienkowe w języku Potrafi połączyć się z bazą danych i wyświetlić wyniki zapytania w GUI w języku Potrafi tworzyć w języku Java proste serwlety i aplikacje w architekturze klient serwer wykorzystujące porty (gniazda BSD). Potrafi tworzyć nieskomplikowane programy okienkowe w języku C#. Bardzo dobry: Student umie tworzyć złożone programy w języku Wykazuje się w tym zakresie kreatywnością i inwencją twórczą. Stawia pytania i próbuje znaleźć na nie odpowiedź. W większości przypadków sam potrafi poprawić błędy zgłaszane przez kompilator. Tworzone przez niego programy są napisane starannie i czytelnie. Zna dobrze podstawy języka C# tj. typy proste i referencyjne, wyrażenia, instrukcje warunkowe, pętle, rekurencję łatwo się w nich porusza. Umie tworzyć klasy, pola, metody, konstruktory i obiekty w języku C#. Umie przesłaniać i przeciążać metody. Zna pojęcia dziedziczenie, kompozycji i polimorfizmu i stosuje je w swoich programach w języku C#. Wykazuje się głębokim zrozumieniem tych mechanizmów paradygmatu obiektowego. Umie tworzyć i używać klasy abstrakcyjne i interfejsy w języku C#. Zna dostarczane w Javie biblioteki obsługujące kolekcje surowe i generyczne w języku C#. W tworzonych przez siebie programach stosuje kolekcje i potrafi przewidzieć i obsłużyć wyjątki. Tworzy złożone aplikacje okienkowe w języku Potrafi połączyć się z bazą danych i utworzyć odpowiednie interaktywne oprogramowanie w GUI w języku Potrafi tworzyć prosty serwlety i aplikacje w architekturze klient serwer wykorzystujące porty (gniazda BSD) w języku Potrafi tworzyć okienkowe programy w języku C# z obsługą bazy danych. 5. Całkowity nakład pracy studenta potrzebny do osiągnięcia założonych efektów w godzinach oraz punktach ECTS
Aktywność godziny zajęć wg planu z nauczycielem 75 przygotowanie do zajęć 40 udział w konsultacjach 5 Inne (tworzenie projektu programistycznego) Liczba godzin/ nakład pracy studenta 60 SUMA GODZIN 180 SUMARYCZNA LICZBA PUNKTÓW ECTS 6 6. PRAKTYKI ZAWODOWE W RAMACH PRZEDMIOTU/ MODUŁU wymiar godzinowy - zasady i formy odbywania praktyk - 7. LITERATURA 1. C. S. Horstmann: Core Java 2. [T. 1], Podstawy, Gliwice, Helion, 2003 2. C. S. Horstmann: Core Java 2. [T. 2], Techniki zaawansowane, Gliwice, Helion, 2003 3. B. Eckel: Thinking in Java : edycja polska, Gliwice, Helion, 2006 4. M. Hall, L.Brown: Java Servlet i JavaServer Pages. T. 1, Gliwice, Helion, 2006 5. H. Schild: Java : kompendium programisty, Gliwice, Helion, 2012 6. M. Lis: Ćwiczenia praktyczne. Wyd. 4, Gliwice, Helion, 2011 7. A. Troelsen: Język C# 2010 i platforma.net 4, Warszawa, PWN, 2014 8. M. Lis: C# : praktyczny kurs : poznaj tajniki programowania w C#, Gliwice, Helion, 2007 Literatura uzupełniająca: 1. M. Lis: Java : ćwiczenia zaawansowane, Gliwice, Helion, 2012 Akceptacja Kierownika Jednostki lub osoby upoważnionej