Sun Certified Java Programmer. Harmonogram szkolenia



Podobne dokumenty
Programowanie w języku Java (OCA+OCP)

Programowanie w języku Java 7 z biblioteką SWING

Spis treści. O autorze (11) O redaktorze technicznym (11) Wstęp (13) Rozdział 1. Podstawy Javy (19)

Programowanie w języku Java dla programistów. Szkolenie adresowane jest do programistów, pragnących poznać język Java.

Język programowania Scala / Grzegorz Balcerek. Wyd. 2. Poznań, cop Spis treści

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Programowanie obiektowe

Java Język programowania

Rok akademicki: 2012/2013 Kod: JFM s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Podstawy i języki programowania

Wykład 8: Obsługa Wyjątków

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Programowanie w języku Java (przygotowanie do zawodu)

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Multimedia JAVA. Historia

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

public - może być używana w kodzie poza klasą, jedna klasa ModyfikatorKlasy może być kombinacją wyrażeń:

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

SZKOLENIE. Programowanie w języku Java. tel.: ; fax: ,

Programowanie obiektowe

Spis treści. Wprowadzenie 15

Programowanie obiektowe

Strumienie i serializacja

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

dr Krzysztof Podlaski

Programowanie MorphX Ax

Certyfikaty firmy Sun. Ścieżka certyfikacyjna dla Javy Egzamin SCJP

1. Język JAVA. 1. Pierwszy program. 2. Kalkulator. 3. Klasy. 4. Dziedziczenie

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

OPIS MODUŁU KSZTAŁCENIA (SYLABUS)

Aplikacje w środowisku Java

LABARATORIUM 9 TESTY JEDNOSTKOWE JUNIT 3.8

Klasy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 13

Programowanie obiektowe

Programowanie obiektowe

Współbieżność w środowisku Java

Wykład 2: Podstawy Języka

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop Spis treści

Strumienie, pliki. Sortowanie. Wyjątki.

SWIFT. Zaawansowane Programowanie Obiektowe

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Wstęp do Java. Operacje Wejścia-Wyjścia Programowanie Wielowątkowe. dr Krzysztof Podlaski. Wydział Fizyki i Informatyki Stosowanej

Programowanie obiektowe

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.

Kurs WWW. Paweł Rajba.

Java podstawy jęyka. Wykład 2. Klasy abstrakcyjne, Interfejsy, Klasy wewnętrzne, Anonimowe klasy wewnętrzne.

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Wykład 2 Składnia języka C# (cz. 1)

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)

IT Camp Junior Java Developer. Cel kursu

Dokumentacja do API Javy.

1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Języki i metody programowania Java INF302W Wykład 3 (część 1)

Programowanie obiektowe Object programming. Elektrotechnika II stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Strumienie, pliki. Sortowanie. Wyjątki.

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Wyjątki Monika Wrzosek (IM UG) Programowanie obiektowe 180 / 196

Podstawowe części projektu w Javie

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie

Informatyka, I stopień. Programowanie (PRO300.2)

1 Atrybuty i metody klasowe

KOTLIN. Język programowania dla Androida

Wykład 8: klasy cz. 4

Klasy cd. Struktury Interfejsy Wyjątki

Wątki w Javie. Piotr Tokarski

Wykład 6: Dziedziczenie

2. Składnia, środowisko i konwencje w Javie

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Przedmioty kierunkowe

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych

Java EE produkcja oprogramowania

Języki i metodyka programowania. Język C# pętle, sterowanie, wyjątki

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2012/2013

Java niezbędnik programisty spotkanie nr 3. Modyfikatory, jednostki kompilacji, tworzenie/inicjalizacja, odśmiecanie/ finalizacja...

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Java : podstawy / Java Cay S. Horstmann. Gliwice, cop Spis treści

Dawid Gierszewski Adam Hanasko

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Programowanie obiektowe zastosowanie języka Java SE

Podstawy i języki programowania

WSNHiD, Programowanie 2, Lab. 3. Trwałość danych

Aplikacje RMI. Budowa aplikacji rozproszonych. Część 2.

Język Java część 2 (przykładowa aplikacja)

Enkapsulacja, dziedziczenie, polimorfizm

Wprowadzenie do programowania

Przetwarzanie i analiza danych w języku Python / Marek Gągolewski, Maciej Bartoszuk, Anna Cena. Warszawa, Spis treści

Transkrypt:

Sun Certified Java Programmer SCJP 6.0 Harmonogram szkolenia wykonał: mgr inż. Mateusz Maksymiuk Sun Certified Java Programmer 5.0 Sun Certified Java Programmer 6.0 Sun Certified Java Developer Sun Certified Web Component Developer 1.4 Sun Certified Business Component Developer 5.0 Sun Certified Mobile Application Developer Mateusz Maksymiuk 1/8

Wstęp Harmonogram został opracowany w celu wstępnej prezentacji przebiegu szkolenia przygotowującego do egzaminu SCJP 6.0. Na początku szkolenia, zostanie przedstawiona krótka charakterystyka samego egzaminu SCJP 1.6 (kwestie techniczne, rodzaje pytań, przebieg, etc.), po której rozpocznie się część merytoryczna. Szkolenie składa się w wielu zagadnień tematycznych, które wchodzą w skład egzaminu SCJP. Przebieg każdego działu będzie się składać z następujących elementów: wprowadzenie teoretyczne, poruszające wszystkie aspekty danego tematu zadania praktyczne do danego działu (każdy uczestnik będzie realizować je samodzielnie na własnym laptopie) w formie tworzenia prostych programów uwidaczniających sedno danego zagadnienia przedstawienie typowych problemów i pułapek jakie można spotkać na egzaminie, które to zostaną zademonstrowane na przykładowych pytaniach testowych z danego zagadnienia Szkolenie będzie prowadzone w sposób interaktywny. Przez cały czas prowadzący szkolenie pozostaje do dyspozycji uczestników i będzie odpowiadać na ich ewentualne pytania oraz pomagać w rozwiązywaniu problemów. W harmonogramie nie wykazano przerw w trakcie szkolenia aczkolwiek zostawiono rezerwę czasową na nie przeznaczoną (ok. [min] w ciągu 8 [h] co daje średnio ok. 5 [min/h]). Pod koniec każdego dnia przewidziano: krótkie podsumowanie omówionego materiału powtórzenie najistotniejszych punktów przedstawienie przykładowych pytań do samodzielnego rozwiązania przez uczestników szkolenia. sprawdzenie wyniku oraz dyskusja w celu wyjaśnienia ewentualnych wątpliwości Mateusz Maksymiuk 2/8

Harmonogram Dzień 1 Podstawy i elementy języka Egzamin SCJP charakterystyka i przebieg pytania i odpowiedzi 20 użycie modyfikatorów dostępu, deklaracje pakietów, polecenia importu uruchamianie klas z linii poleceń różnica w zachowaniu się obiektów i typów prymitywnych podczas przekazywania jako argumenty metod określanie miejsca w którym obiekt jest przeznaczony do usunięcia przez GC; zachowanie GC (co jest gwarantowane, a co nie), użycie metody Object.finalize() określanie prawidłowej struktury katalogów w archiwum JAR na podstawie pełnej nazwy klasy; określanie wymaganej wartości CLASSPATH do prawidłowej kompilacji danej klasy użycie operatorów przypisania (=, +=, -=), arytmetycznych (+, -, *, /, %, ++, --), porównania (>, >=, <, <=, ==,!=), operator instanceof, operatory logiczne (&,, ^,!, &&, ), operator warunkowy (? :), porównywanie obiektów oraz typów prymitywnych deklaracje klas, interfejsów, klas zagnieżdżonych, typów wyliczeniowych, deklaracje i import pakietów, import statyczny implementacja interfejsów, deklaracje i dziedziczenie klas abstrakcyjnych przykład importu statycznego, stosowanie zamiennie importu lub pełnej nazwy kwalifikowanej, demonstracja zakresu widoczności dla różnych modyfikatorów dostępu, domyślne zakresy widoczności demonstracja użycia java.exe z plikami class oraz JAR, parametry java.exe, przekazywanie parametrów do aplikacji, parsowanie parametrów liczbowych stworzenie metody przyjmującej obiekt i prymityw ukazanie różnic, deklaracje final, prosty sposób przekazywania prymitywów przez referencje demonstracja działania GC poprzez pokrycie metody finalize (wypisanie komunikatu na ekranie), efekty wywołania metody Runtime.gc kilka przykładów użycia CLASSPATH dla plików class oraz JAR, użycie komendy JAR do tworzenia archiwum, wykorzystanie stworzonego archiwum działanie operatora %, instanceof, różnice pomiędzy operatorami (& i && oraz i - pełna i skrócona ewaluacja), użycie operatora warunkowego, różnice w porównywaniu obiektów i prymitywów zadeklarowanie klasy, interfejsu, klasy zagnieżdżonej, użycie importu statycznego, wykorzystanie typu enum i zaprezentowanie jego zalet w porównaniu do starego sposobu implementacji (public static final int) stworzenie prostej hierarchii kilku klas wraz z klasa abstrakcyjna i interfejsem Mateusz Maksymiuk 3/8

deklaracje, użycie i inicjalizacja zmiennych prymitywnych, tablicowych, wyliczeniowych i obiektowych; atrybuty statyczne, instancji oraz lokalne, dopuszczalne nazwy identyfikatorów deklaracje metod statycznych i niestatycznych, konwencja nazewnicza dla metod JavaBeans, użycie metod o zmiennej liście parametrów stworzenie klasy z polami statycznymi, instancji, tablicami wraz z inicjalizacją, kompilacja klasy z nieprawidłowymi identyfikatorami, inicjalizacja statyczna klasy stworzenie i użycie prostej klasy JavaBean (np. Person), stworzenie i użycie metody o zmiennej liczbie parametrów Przykładowe pytania, dyskusja 60 Suma 4 Mateusz Maksymiuk 4/8

Dzień 2 Elementy języka i sterowanie aplikacją pokrywanie i przeciążanie metod tworzenie konstruktorów, konstruktory domyślne, tworzenie instancji klas (zwykłych, zagnieżdżonych i anonimowych) blok wyboru (switch) oraz jego użycie użycie i formy pętli (for, while, do, for-each), iteratory, etykiety petli, sterowanie petlami (break, continue), liczniki w petlach zastosowanie i użycie asercji obsługa wyjątków, bloki: try-catch, try-finally, zasady użycia wyjątków przy pokrywaniu metod skutki wystąpienia wyjątków w określonych blokach kodu, rodzaje wyjątków (runtime, checked, error) sytuacje w jakich wyrzucane są wyjątki: ArrayIndexOutOfBoundsException, ClassCastException, IllegalArgumentException, IllegalStateException, NullPointerException, NumberFormatException, AssertionError, ExceptionInInitializerError, StackOverflowError, NoClassDefFoundError podział wyjątków: ze względu na wyrzucane przez JVM oraz wyrzucane w kodzie hierarchia kilku klas demonstrująca polimorfizm i przeciążanie użycie klas zagnieżdżonych, ich specyfika i ograniczenia, parametry metod w klasach zagnieżdżonych, zasady tworzenia i użycie klas anonimowych na stworzenie prostego Shootdown hook-a w oparciu o klase Thread prosty metoda sterowana blokiem switch, użycie klauzuli default, uzyskiwanie różnorakich efektów używając słowa kluczowego break, specyficzne użycie switch w połączeniu z typem enum stworzenie petli zagnieżdżonych z wykorzystaniem etykiet i instrukcji break, continue prosty przykład używający asercji w celu walidacji warunków wykonania, kompilacja z włączeniem/wyłączeniem asrcji konstrukcja bloków try, catch, finally, prosta hierarchia klas demonstrująca użycie wyjątków przy pokrywaniu metod, użycie polecenia return w bloku try przykład skutku wystąpienia wyjątku w kodzie (konstruktor, metoda, inicjalizer, bloki try, catch, finally) sytuacje z przykładami kodu wyrzucającymi wszystkie w/w wyjątki 70 20 55 25 20 Przykładowe pytania, dyskusja 60 Suma 4 Mateusz Maksymiuk 5/8

Dzień 3 Podstawy API wrappery klas dla typów prymitywnych (Character, Byte, Integer, etc.), użycie autoboxing-u oraz unboxing-u; różnice pomiędzy String, StringBuffer i StringBuilder operacje na systemie plików, odczyt i zapis plików, interacja z użytkownikiem, użycie następujących klas z pakietu java.io: BufferedReader, BufferedWriter, File, FileReader, FileWriter, PrintWriter, Console serializacja i deserializacja obiektów z użyciem pakietu java.io: DataInputStream, DataOutputStream, FileInputStream, FileOutputStream, ObjectInputStream, ObjectOutputStream, Serializable użycie pakietu java.text do formatowania i parsowania dat, liczb i walut wraz ze specyficzną lokalizacją (Locale), użycie domyślnej lub wskazanej lokalizacji, zastosowanie klasy java.util.locale zastosowanie pakietu java.util do formatowanie i parsowania łańcuchów oraz strumieni, użycie wyrażeń regularnych, klasy Pattern, Matcher, metoda String.split, wzorce wyrażeń regularnych *, +,?, \d, \s, \w, [], (); użycie klas Formatter, Scanner oraz metod klasy PrintWriter: format i printf, parametry formatujące (%b, %c, %d, %f, %s) przykład użycia wrapperów z autoboxingiem i unboxingiem, demonstracja różnic pomiędzy String, StringBuilder, StringBuffer, specyfika zachowania klasy String (operator == i metoda equals) program zapisujący tekst wpisany z konsoli do pliku tekstowego, użycie klasy Console, wykorzystanie PrintWriter do prezentacji typów prymitywnych Stworzenie prostej klasy implementującej Serializable i serializacja do pliku, własna implementacja serializacji formatowanie dat i walut dla różnych lokalizacji, parsowanie dat, czasu z użyciem DateFormat zastosowanie wyrażeń regularnych do walidacji adresu email, numeru NIP, nr rachunku bankowego, znajdowanie i zastępowanie tekstu z użyciem wyrażeń reg., użycie klasy Scanner do czytania wartości z konsoli prosty program czytający różne typy danych z konsoli, użycie metody printf do formatowania podstawowych typów danych działanie parametrów formatujących 60 60 70 60 1 Przykładowe pytania, dyskusja 60 Suma 4 Mateusz Maksymiuk 6/8

Dzień 4 Konkurencja i obiektowość definiowanie, tworzenie i uruchamianie wątków z użyciem klasy Thread i interfejsu Runnable utworzenie prostego wątku wykonującego długotrwałe obliczenia, nie blokującego interfejsu użytkownika 35 stany wątku i przejścia między stanami startowanie, przerywanie, usypianie, oczekiwanie, blokowanie, użycie yield 25 blokowanie zasobów (statycznych i instancji) przy dostępie konkurencyjnym wykorzystanie metod wait, notify, notifyall zagadnienia hermetyzacji (encapsulation), luźnego powiązania (loose coupling) oraz spójności (cohension) wraz z korzyściami jakie zapewniają użycie polimorfizmu, zastosowanie rzutowania typów i warunki jego użycia, błędy rzutowania na etapie kompilacji (compile-time) oraz uruchamiania (run-time) wykorzystanie modyfikatorów w dziedziczeniu, dla konstruktorów, pól (statycznych i instancji), oraz metod (statycznych i instancji) wywoływanie metod pokrywanych oraz przeciążonych, deklaracja i wywołanie konstruktorów przeciążonych oraz konstruktorów z klasy bazowej implementacja relacji jest (is-a, is-like-a) oraz posiada (has-a) przykład konkurencji bez blokowania i z blokowaniem, użycie słowa synchronized na obiekcie oraz w deklaracji metody demonstracja działania wait, notify; różnice pomiędzy notify i notifyall, przykład typu producer-consumer stworzenie klasy zgodnie z zasadami OO, demonstracja ścisłego powiązania (tight coupling) i luźnego powiązania (loose coupling) oraz wysokiej i niskiej spójności (high, low cohension) hierarchia kilku klas z użyciem polimorfizmu, przykład prawidłowego i nieprawidłowego rzutowania demonstracja działania modyfikatorów dostępu, realizacja Singleton-u, stworzenie prostej fabryki klas demonstracja na hierarchii klas, różnica pomiędzy przeciążaniem a pokrywaniem, wywołanie konstruktora z tej samej klasy, z klasy bazowej kilka klas demonstrujących w/w relacje (Car, Truck, Engine) 70 45 45 Przykładowe pytania, dyskusja 60 Suma 4 Mateusz Maksymiuk 7/8

Dzień 5 Kolekcje i generyki wybór i zastosowanie poszczególnych klas kolekcji (listy, zbiory, mapy) prawidłowe pokrywanie metod equals i hashcode, różnica pomiędzy wynikiem metody equals(), a operatora == przykłady użycia klas, demonstracja różnic w funkcjonalności oraz wydajności demonstracja wpływu pokrycia equals oraz hashcode na zachowanie kolekcji użycie kolekcji generycznych (list, map, zbiorów), ograniczenia kolekcji niegenerycznych, refaktoring kodu do użycia kolekcji generycznych, wykorzystanie interfejsów NavigableSet i NavigableMap przykład użycia prostej kolekcji generycznej 60 użycie parametrów w deklaracjach klas oraz interfejsów, pól instancji, argumentach metod, wynikach metod; tworzenie metod generycznych oraz metod używających symboli wieloznacznych, różnice między nimi stworzenie klasy generycznej z metodami generycznymi operacje na listach udostępniane przez pakiet java.util: sortowanie, wyszukiwanie binarne, konwersja listy do tablicy operacje na tablicach (pakiet java.util): sortowanie, wyszukiwanie binarne, konwersja na liste sortowanie i wyszukiwanie wartości w liście sortowanie i wyszukiwanie wartości w liście użycie interfejsów java.util.comparator i java.lang.comparable, do uzyskania otrzymanego porządku sortowania; otrzymanie porządku naturalnego z użyciem klas wrapperów dla typów prymitywnych oraz klasy String Stworzenie prostej klasy (Person) wraz z komparatorem; wykorzystanie jej w kolekcji, implementacja sortowania po imieniu, nazwisku oraz dacie urodzenia 60 Przykładowe pytania, dyskusja 90 Suma 4 Uwagi Niniejszy harmonogram ma charakter poglądowy i w trakcie szkolenia może ulec zmianie. Mateusz Maksymiuk 8/8