Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Programowanie obiektowe
Tok studiów:
2018/2019
Kod:
JFM-1-506-s
Wydział:
Fizyki i Informatyki Stosowanej
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Fizyka Medyczna
Semestr:
5
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Osoba odpowiedzialna:
dr hab. inż. Krawczyk Małgorzata (krawczyk@fis.agh.edu.pl)
Osoby prowadzące:
dr hab. inż. Krawczyk Małgorzata (krawczyk@fis.agh.edu.pl)
Krótka charakterystyka modułu

Celem kursu jest nauka jednego z najpowszechniej używanych obiektowych języków programowania, jakim jest język Java.

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 ideę programowania obiektowego. FM1A_W02, FM1A_W03, FM1A_W01, FM1A_W04 Aktywność na zajęciach
Umiejętności
M_U001 Student potrafi skorzystać z dokumentacji języka celem znalezienia narzędzi adekwatnych do rozwiązania zadanego problemu. FM1A_U01 Wykonanie ćwiczeń laboratoryjnych
M_U002 Student potrafi zaimplemetować program do rozwiązywania prostych problemów matematycznych bądź fizycznych. FM1A_U04, FM1A_U08, FM1A_U09, FM1A_U05 Wykonanie ćwiczeń laboratoryjnych
Kompetencje społeczne
M_K001 Student rozumie konieczność weryfikacji poprawności otrzymanych wyników obliczeń. FM1A_K01 Aktywność na zajęciach
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 ideę programowania obiektowego. + - - - - - - - - - -
Umiejętności
M_U001 Student potrafi skorzystać z dokumentacji języka celem znalezienia narzędzi adekwatnych do rozwiązania zadanego problemu. - - + - - - - - - - -
M_U002 Student potrafi zaimplemetować program do rozwiązywania prostych problemów matematycznych bądź fizycznych. - - + - - - - - - - -
Kompetencje społeczne
M_K001 Student rozumie konieczność weryfikacji poprawności otrzymanych wyników obliczeń. - - + - - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:
  1. Wstęp

    • idea programowania obiektowego
    • słowa kluczowe języka Java
    • pierwszy program w Javie
    • podstawy instrukcji sterujących

  2. Typy danych, zmienne

    • typy proste
    • typy liczbowe
    • typ znakowy
    • ciąg znaków
    • typ logiczny
    • literały i zmienne
    • konwersja typów
    • tablice

  3. Operatory i instrukcje sterujące

    • operatory arytmetyczne, bitowe, logiczne, relacji; priorytet operatorów
    • instrukcje wyboru
    • instrukcje iteracji

  4. Klasy

    • tworzenie klasy
    • metody i ich przeciążanie
    • konstruktor
    • dziedziczenie
    • modyfikatory dostępu w odniesieniu do klas

  5. Interfejsy, pakiety

    • tworzenie interfejsu
    • tworzenie pakietu
    • modyfikatory dostępu w odniesieniu do interfejsów i pakietów

  6. Pakiety użytkowe

    • pakiet java.lang
    • pakiet java.util

  7. Wyrażenia lambda
  8. Operacje na ciągach znaków

    • klasa String – konstruktor, metody
    • elementarne informacje o wyrażeniach regularnych
    • klasy StringBuffer i StringBuilder

  9. Typy uogólnione

    • istota tworzenia obiektów uogólnionych
    • uogólnienie klas, metod i interfejsów
    • typy ograniczone
    • argumenty wieloznaczne

  10. Kolekcje

    • interfejsy kolekcji
    • klasy kolekcji: listy, zbiory, wyliczenia
    • algorytmy kolekcji

  11. Wyjątki

    • wyjątki wbudowane
    • stos wywołań wyjątków
    • obsługa wyjątków
    • własne klasy wyjątków
    • asercje

  12. Operacje wejścia/wyjścia

    • pakiet java.IO
    • strumienie bajtów
    • strumienie znaków
    • kompresja i JAR

  13. Metadane, komentarz dokumentacyjny, debugowanie, słowo o Java Beans

    • tworzenie dokumentacji
    • metadane
    • kontrola błędów w programie

Ćwiczenia laboratoryjne:
  1. Zajęcia wprowadzające

    Student potrafi samodzielnie napisać program wypisujący komunikat na ekran
    Student potrafi wykonywać operacje na zmiennych całkowitych i zmiennoprzecinkowych
    Student potrafi skompilować i uruchomić napisany program

  2. Instrukcje sterujące

    • Student potrafi napisać złożoną instrukcję warunkową
    • Student potrafi skorzystać z konstrukcji swich
    • Student potrafi napisać pętle for, while
    • Student potrafi wykorzystać w programie argumenty wiersza poleceń

  3. Tablice

    • Student potrafi utworzyć tablice jedno- i dwuwymiarową
    • Student umie przypisać wartość i ją pobrać w komórki o określonym indeksie
    • Student potrafi napisać pętle for i foreach pozwalające na odwołanie się do komórek tablicy

  4. Klasy

    • Student potrafi utworzyć klasę zawierającą przeciążony konstruktor
    • Student potrafi utworzyć metody zwracające bądź nie wartość oraz przyjmujące bądź nie parametry
    • Student potrafi skorzystać z przeciążania metod
    • Student potrafi utworzyć egzemplarz zdefiniowanej przez siebie klasy i wywołać metody
    • Student potrafi utworzyć i wywołać metodę statyczną

  5. Dziedziczenie

    • Student potrafi skorzystać z mechanizmu dziedziczenia

  6. Interfejsy

    • Student potrafi utworzyć interfejs
    • Student potrafi wykorzystać utworzony interfejs

  7. Wyrażenia lambda

    • Student potrafi skonstruować wyrażenie lambda
    • Student potrafi wykorzystać wyrażenie lambda

  8. Ciągi znaków

    • Student potrafi skorzystać z metod dostępnych w klasie String
    • Student umie skorzystać z dokumentacji w celu znalezienia potrzebnej metody

  9. Typy uogólnione

    • Student potrafi utworzyć uogólnioną klasę
    • Student potrafi utworzyć egzemplarz klasy uogólnionej
    • Student potrafi utworzyć i wywołać metodę uogólnioną

  10. Kolekcje

    • Student potrafi dobrać i skorzystać z odpowiedniej kolekcji dla zadanego problemu

  11. Operacje na plikach

    • Student potrafi odczytać dane z pliku
    • Student potrafi zapisać dane w pliku

  12. Wyjątki

    • Student potrafi zastosować obsługę wyjątków
    • Student potrafi wykorzystać asercje do kontroli wartości zmiennych

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

Każde zajęcia laboratoryjne (oprócz dwóch pierwszych) rozpoczynają się krótką kartkówką z materiału wcześniejszego, za które można uzyskać 25% punktów. Pozostałe 75% punktów można uzyskać za program napisany w czasie zajęć. Przy obliczaniu oceny końcowej z laboratorium anulowana jest najsłabsza ocena z kartkówek i najsłabsza ocena z programów. Wysokość oceny końcowej będzie ustalana zgodnie ze skalą ocen obowiązującą w regulaminie AGH, przyporządkowującą procent opanowania materiału konkretnej ocenie (Par.13, pkt.1).

Wymagania wstępne i dodatkowe:

Podstawowa umiejętność posługiwania się komputerem

Zalecana literatura i pomoce naukowe:
  1. Dokumentacja na stronie: java.sun.com
  2. Herbert Schildt, ”Java kompendium programisty”, ISBN 83–7361–862–7
  3. Bruce Eckel, ”Thinking in Java, edycja polska”, wydanie IV, ISBN 83–246–0111–2
  4. Marek Wierzbicki, ”Java programowanie obiektowe”, ISBN 83–246–0290–9
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Nie podano dodatkowych publikacji

Informacje dodatkowe:

Zajęcia laboratoryjne:

  • dwa pierwsze zajęcia laboratoryjne (wliczając w to zajęcia w tygodniu rozpoczęcia roku akademickiego) mają charakter wstępny i nie będą oceniane, jednak obecność na nich jest wymagana tak samo, jak na wszystkich laboratoriach
  • każde zajęcia rozpoczynają się krótką kartkówką z materiału wcześniejszego, następnie Studenci samodzielnie realizują projekt według instrukcji podanej przez prowadzącego zajęcia (tematyka określana z tygodniowym wyprzedzeniem)

Sposób i tryb wyrównania zaległości powstałych wskutek nieobecności studenta na zajęciach:

  • ćwiczenia laboratoryjne: usprawiedliwiona nieobecność na zajęciach wymaga od studenta samodzielnego opanowania przerabianego na tych zajęciach materiału i jego zaliczenia w formie i terminie wyznaczonym przez prowadzącego zajęcia
  • obecność na wykładzie: zgodnie z Regulaminem Studiów AGH

Zasady zaliczania zajęć:

  • ćwiczenia laboratoryjne: podstawowym terminem uzyskania zaliczenia jest koniec zajęć w danym semestrze. W przypadku braku zaliczenia w terminie podstawowym Student może je uzyskać poprzez poprawę ocen z dwóch laboratoriów.
    Student który bez usprawiedliwienia opuścił więcej niż dwa zajęcia i jego cząstkowe wyniki w nauce były negatywne może zostać pozbawiony, przez prowadzącego zajęcia, możliwości poprawkowego zaliczania zajęć. Od takiej decyzji prowadzącego zajęcia student może się odwołać do prowadzącego przedmiot (moduł) lub Dziekana.