Nazwa modułu: Programowanie obiektowe Rok akademicki: 2012/2013 Kod: JFM-1-508-s Punkty ECTS: 3 Wydział: Fizyki i Informatyki Stosowanej Kierunek: Fizyka Medyczna Specjalność: Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne Język wykładowy: Polski Profil kształcenia: Ogólnoakademicki (A) Semestr: 5 Strona www: 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) 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_W008 Student zna ideę programowania obiektowego. FM1A_W06, FM1A_W05 Aktywność na zajęciach, Kolokwium M_W009 Student ma wiedzę pozwalającą na analizę i rozwiązanie prostych obiektowo zorientowanych zagadnień programistycznych. FM1A_W06, FM1A_W05 Aktywność na zajęciach, Kolokwium Umiejętności M_U011 Student potrafi skorzystać z dokumentacji języka celem znalezienia narzędzi adekwatnych do rozwiązania zadanego problemu. FM1A_U01 Wykonanie ćwiczeń laboratoryjnych M_U012 Student potrafi korzystać z typów uogólnionych. FM1A_U08 Wykonanie ćwiczeń laboratoryjnych M_U013 Student potrafi utworzyć klasę i wykorzystać mechanizm dziedziczenia do tworzenia odpowiedniej hierarchii obiektów. FM1A_U08 Aktywność na zajęciach, Wykonanie ćwiczeń laboratoryjnych 1 / 6
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 Ćwiczenia audytoryjne Ćwiczenia laboratoryjne Ćwiczenia projektowe Konwersatori um seminaryjne praktyczne terenowe warsztatowe Inne E-learning Wiedza M_W008 M_W009 Umiejętności M_U011 M_U012 M_U013 Student zna ideę programowania obiektowego. Student ma wiedzę pozwalającą na analizę i rozwiązanie prostych obiektowo zorientowanych zagadnień programistycznych. Student potrafi skorzystać z dokumentacji języka celem znalezienia narzędzi adekwatnych do rozwiązania zadanego problemu. Student potrafi korzystać z typów uogólnionych. Student potrafi utworzyć klasę i wykorzystać mechanizm dziedziczenia do tworzenia odpowiedniej hierarchii obiektów. + - - - - - - - - - - + - + - - - - - - - - - - + - - - - - - - - - - + - - - - - - - - - - + - - - - - - - - Treść modułu zajęć (program wykładów i pozostałych zajęć) Wykład Wyjątki wyjątki wbudowane stos wywołań wyjątków obsługa wyjątków własne klasy wyjątków asercje Operacje na ciągach znaków klasa String konstruktor, metody elementarne informacje o wyrażeniach regularnych klasy StringBuffer i StringBuilder Typy uogólnione istota tworzenia obiektów uogólnionych uogólnienie klas, metod i interfejsów typy ograniczone argumenty wieloznaczne 2 / 6
Operacje wejścia/wyjścia pakiet java.io strumienie bajtów strumienie znaków kompresja i JAR Wątki wielozadaniowość priorytety wątków synchronizacja interfejs Runnable klasa Thread komunikacja międzywątkowa Elementy klasy Swing podstawowe elementy GUI obsługa zdarzeń Metadane, komentarz dokumentacyjny, debugowanie, słowo o Java Beans tworzenie dokumentacji metadane kontrola błędów w programie Wstęp idea programowania obiektowego słowa kluczowe języka Java pierwszy program w Javie podstawy instrukcji sterujących Typy danych, zmienne typy proste typy liczbowe typ znakowy ciąg znaków typ logiczny literały i zmienne konwersja typów tablice Operatory i instrukcje sterujące operatory arytmetyczne, bitowe, logiczne, relacji; priorytet operatorów instrukcje wyboru instrukcje iteracji Pakiety użytkowe pakiet java.lang pakiet java.util Kolekcje interfejsy kolekcji klasy kolekcji: listy, zbiory, wyliczenia algorytmy kolekcji Klasy tworzenie klasy metody i ich przeciążanie konstruktor 3 / 6
dziedziczenie modyfikatory dostępu w odniesieniu do klas Interfejsy, pakiety tworzenie interfejsu tworzenie pakietu modyfikatory dostępu w odniesieniu do interfejsów i pakietów Ćwiczenia laboratoryjne 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 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ń 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ą Dziedziczenie Student potrafi skorzystać z mechanizmu dziedziczenia Interfejsy Student potrafi utworzyć interfejs Student potrafi wykorzystać utworzony interfejs Kolekcje Student potrafi dobrać i skorzystać z odpowiedniej kolekcji dla zadanego problemu 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 Ciągi znaków Student potrafi skorzystać z metod dostępnych w klasie String Student umie skorzystać z dokumentacji w celu znalezienia potrzebnej metody 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ą Operacje na plikach Student potrafi odczytać dane z pliku 4 / 6
Student potrafi zapisać dane w pliku Wyjątki Student potrafi zastosować obsługę wyjątków Student potrafi wykorzystać asercje do kontroli wartości zmiennych Sposób obliczania oceny końcowej Każde zajęcia laboratoryjne 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. Ocena uzyskana w drugim terminie nie może być wyższa niż 4.0, a uzyskana w trzecim terminie nie może być wyższa niż 3.0. 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 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. Student może dwukrotnie przystąpić do poprawkowego zaliczania. 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. 5 / 6
Nakład pracy studenta (bilans punktów ECTS) Forma aktywności studenta Udział w wykładach Samodzielne studiowanie tematyki zajęć Udział w lektoratach Przygotowanie do zajęć Sumaryczne obciążenie pracą studenta Punkty ECTS za moduł Obciążenie studenta 30 godz 10 godz 30 godz 20 godz 90 godz 3 ECTS 6 / 6