Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Języki i techniki programowania 2
Tok studiów:
2014/2015
Kod:
IIN-1-204-s
Wydział:
Informatyki, Elektroniki i Telekomunikacji
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Informatyka
Semestr:
2
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Strona www:
 
Osoba odpowiedzialna:
Korzycki Michał (korzycki@agh.edu.pl)
Osoby prowadzące:
Krótka charakterystyka modułu

Opis efektów kształcenia dla modułu zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń)
Wiedza
M_W001 Student zna i rozumie znaczenie wszystkich pojęć omawianych w ramach modułu IN1A_W08 Egzamin
M_W002 Ma szczegółową wiedzę w zakresie algorytmów i struktur danych oraz złożoności obliczeniowej w ramach modułu IN1A_W03 Egzamin
M_W003 Ma szczegółową wiedzę w zakresie języków i technik programowania w ramach modułu IN1A_W05 Egzamin
M_W004 Ma szczegółową wiedzę w zakresie inżynierii oprogramowania w tym analizy i projektowania systemów informatycznych w ramach modułu IN1A_W06 Egzamin
Umiejętności
M_U001 Potrafi pozyskiwać informacje z literatury, baz danych i innych źródeł; potrafi integrować uzyskane informacje, dokonywać ich interpretacji, a także wyciągać wnioski oraz formułować i uzasadniać opinie w ramach modułu IN1A_U01 Wykonanie ćwiczeń laboratoryjnych
M_U002 Posługuje się językiem angielskim w stopniu wystarczającym do porozumiewania się, a także czytania ze zrozumieniem dokumentacji oprogramowania, instrukcji obsługi urządzeń elektronicznych i narzędzi informatycznych oraz podobnych dokumentów w ramach modułu IN1A_U05 Wykonanie ćwiczeń laboratoryjnych
M_U003 Potrafi projektować i implementować oprogramowanie w ramach modułu IN1A_U09 Wykonanie ćwiczeń laboratoryjnych
M_U004 Potrafi korzystać z dostępnych bibliotek oraz komponentów oprogramowania dla tworzenia efektywnych i bezpiecznych aplikacji w ramach modułu IN1A_U12 Wykonanie ćwiczeń laboratoryjnych
Matryca efektów kształcenia w odniesieniu do form zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Inne
E-learning
Wiedza
M_W001 Student zna i rozumie znaczenie wszystkich pojęć omawianych w ramach modułu + - - - - - - - - - -
M_W002 Ma szczegółową wiedzę w zakresie algorytmów i struktur danych oraz złożoności obliczeniowej w ramach modułu + - - - - - - - - - -
M_W003 Ma szczegółową wiedzę w zakresie języków i technik programowania w ramach modułu + - - - - - - - - - -
M_W004 Ma szczegółową wiedzę w zakresie inżynierii oprogramowania w tym analizy i projektowania systemów informatycznych w ramach modułu + - - - - - - - - - -
Umiejętności
M_U001 Potrafi pozyskiwać informacje z literatury, baz danych i innych źródeł; potrafi integrować uzyskane informacje, dokonywać ich interpretacji, a także wyciągać wnioski oraz formułować i uzasadniać opinie w ramach modułu - - + - - - - - - - -
M_U002 Posługuje się językiem angielskim w stopniu wystarczającym do porozumiewania się, a także czytania ze zrozumieniem dokumentacji oprogramowania, instrukcji obsługi urządzeń elektronicznych i narzędzi informatycznych oraz podobnych dokumentów w ramach modułu - - + - - - - - - - -
M_U003 Potrafi projektować i implementować oprogramowanie w ramach modułu - - + - - - - - - - -
M_U004 Potrafi korzystać z dostępnych bibliotek oraz komponentów oprogramowania dla tworzenia efektywnych i bezpiecznych aplikacji w ramach modułu - - + - - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:

  1. Platforma i maszyna wirtualna Javy.
  2. Składnia języka Java.
  3. Obiektowość.
  4. Kolekcje w Javie.
  5. Typy uogólnione (Generics).
  6. Refleksja w językach obiektowych i rodzaje referencji.
  7. Operacje wejścia/wyjścia. Przetwarzanie strumieni znakowych.
  8. Strony kodowe i konwerje pomiędzy nimi.
  9. Pojęcie wątku, monitora, sekcji krytycznej.
  10. Problemy przetwarzania współbieżnego: race conditions, zagłodzenie, zakleszczenie.
  11. Techniki programowania współbieżnego. Problem producentów i konsumentów.
  12. Wzorce projektowe przetwarzania współbieżnego (reactor, active object, master-slave itd.).
  13. Tworzenie interfejsu użytkownika przy użyciu bibliotek AWT i Swing.
  14. Przetwarzanie zdarzeń. Wzorzec MVC. Zarządcy rozkładu.
  15. XML i jego przetwarzanie. Parsery SAX i DOM. Transformacje XSLT.
  16. Aplety. Logowanie.
  17. Testy z wykorzystaniem Junit.
  18. Techniki refactoringu kodu.

Ćwiczenia laboratoryjne:

Na zajęciach laboratoryjnych realizowana jest tematyka wykładów.

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 135 godz
Punkty ECTS za moduł 5 ECTS
Udział w wykładach 30 godz
Samodzielne studiowanie tematyki zajęć 30 godz
Udział w ćwiczeniach laboratoryjnych 30 godz
Przygotowanie do zajęć 45 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:

Laboratoria: zaliczenie na podstawie 2 kolokwiów (programy do napisania wg. Przedstawionych wymagań w 1.5h), aktywności na zajęciach (weryfikacja zadań domowych), projekt semestralny (3 składniki na 5.0 wymagane do oceny 5.0)
Egzamin w formie testu (40 pytań, 2 grupy)
OK=floor( (ocena z egzaminu+ocena z laboratorium) / 2)

Wymagania wstępne i dodatkowe:

Znajomość języka C/C++ w podstawowym zakresie.

Zalecana literatura i pomoce naukowe:
  1. Bruce Eckel: Thinking in Java 4th Edition
  2. „The Java Tutorial” – zasoby online
  3. E.Gamma et al “Design Patterns – : Elements of Reusable Object-Oriented Software”
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Nie podano dodatkowych publikacji

Informacje dodatkowe:

Brak