środa, 28 maja 2014

Tydzień 14: egzamin, drugie zadanie zaliczeniowe

Ćwiczenia

Platforma eTam (egzamin z roku 2012/2013).

Laboratorium

    Wskazówki do drugiego zadania zaliczeniowego

    1.  Przykład, jak można parsować XML: http://www.mkyong.com/java/how-to-read-xml-file-in-java-sax-parser/
    2. Ćwiczenie: skopiować i uruchomić powyższy przykład. Następnie zmodyfikować go tak, by był bardziej obiektowy. Napisz interfejs ObsłużDane i 5 klas implementujących (4 odpowiadają rodzajom danych, jedna odpowiada czemuś co nie jest daną - w przykładzie to np. Staff). W obsłudze startElement ustawia się w switchu odpowiedni obiekt, w characters wywołuje metodę tego interfejsu, która stosownie wypisuje dane. Metoda endElement może (nie musi) ustawiać obsługę na obiekt nieobsługujący danych.
    3. Zmodyfikuj przykład, aby parsował plik ze zrzutem danych z wikipedii. (Plik jest podlinkowany w treści zadania zaliczeniowego.) Dla każdej strony w zrzucie (znacznik page) chcemy wypisać jej tytuł (znacznik title) i treść (znacznik text).

    wtorek, 20 maja 2014

    Oferta pracy

    e-point SA, firma, w której pracuję, szuka osoby do pomocy w promowaniu Vertabelo, naszego narzędzia do modelowania baz danych.

    Co trzeba robić: Zadaniem zatrudnionej osoby będzie wyszukiwanie blogów związanych z bazami danych i nawiązywanie kontaktów z autorami tych blogów, wyszukiwanie forów i społeczności związanych z bazami danych i promowanie Vertabelo w tych społecznościach, tworzenie prostych artykułów technicznych na naszym blogu, itp.  
    W skrócie: pracujesz przeglądając internet i siedząc na Facebooku ;-)
     
    Co trzeba umieć: Trzeba znać język SQL, diagramy ERD, dobrze pisać po angielsku i umieć używać Google'a, Facebooka, Twittera, itp.

    Teoretycznie SQL i ERD to zagadnienia omawiane na zajęciach z baz danych na drugim roku, ale podstawy są do opanowania w kilka tygodni.

    Więcej szczegółów w ogłoszeniu

    W razie pytań można do mnie napisać.


    wtorek, 13 maja 2014

    Tydzień 13: kolekcje cd.


    Ćwiczenia

    Na ćwiczenia proszę rozproszyć się po innych grupach. Ćwiczenia z PO o godzinie 12:
    • sala 3130, Kazimierz Grygiel
    • sala 3140, Jacek Sroka 
    • sala 3150, Marcin Dziubiński
    • sala 3160, Krzysztof Szafran
    • sala 3220, Tomasz Kazana

    Laboratorium

    1. Anagramy to słowa, które składają się z tych samych liter, ale w różnej kolejności. Napisz program, który dla danej listy słów wypisze wszystkie grupy anagramów pojawiające się na tej liście.
    2. Napisz własną implementację listy wraz z iteratorem. Twoja lista powinna mieć nastepujące operacje:
      • dodawanie nowego elementu,
      • rozmiar,
      • test niepustości,
      • iterowanie przy pomocy pętli foreach.
      Wskazówki:
      • Pętlą foreach można iterować po obiektach implementujących interfejs Iterable.
      • Do implementacji iteratora trzeba użyć klas wewnętrznych (ang. inner classes). Klasa wewnętrzna ma dostęp do prywatnych składowych otaczającego obiektu.
      • Warto przeczytać rozdział o klasach wewnętrznych z tutorialu na stronie Oracle.
      • Ściągawkę, jak napisać własny iterator można znaleźć w klasie java.util.AbstractList. W Eclipse trzeba mieć podpięte źródła Javy.  
    3. Dlaczego metody equals() i hashCode() są ważne: uruchom programy Zagadka.java, Zagadka2.java. Wyjaśnij, dlaczego programy tak się zachowują. Co trzeba zmienić, żeby programy zachowywały się zgodnie z oczekiwaniami autora?

    Praca domowa nr 10

    Do wyboru: zadanie 1 lub zadanie 2. Zadanie 1 jest dość standardowe. Zadanie 2 jest odrobinę ciekawsze, bo pokazuje wykorzystanie bardziej zaawansowanych konstrukcji Javy takich, jak pętla foreach i klasy wewnętrzne.

    Termin oddania: 28 maja 2014 r. Za tydzień nie ma zajęć w powodu Wykładów o wykładach.

    środa, 7 maja 2014

    Tydzień 12: kolekcje

    Ćwiczenia

    Zaimplementuj prostą książkę telefoniczną w telefonie komórkowym. Książka powinna zawierać następujące operacje:
    • wyszukiwanie numeru telefonu podanej osoby,
    • zwracanie uporządkowanej alfabetycznie listy osób, których numery telefonu mamy,
    • rozpoznawanie numeru telefonu (identyfikacja, kto do nas dzwoni),
    • dodawanie osoby razem z numerem telefonu,
    • usuwanie osoby.
    Dla uproszczenia można założyć, że każda osoba ma tylko jeden numer telefonu.

    Laboratorium

    1. Napisz program, który dla danego pliku tekstowego wypisze nastepujące informacje:
      • z ilu słów składa się plik,
      • słowo na pozycji 45,
      • z ilu różnych słów składa się plik,
      • wszystkie słowa pliku w kolejności alfabetycznej (każde słowo na liście pojawia się tylko raz),
      • dla każdego słowa, ile razy to słowo występuje w pliku,
      • wszystkie słowa, które mają więcej niż 6 liter, w kolejności alfabetycznej, bez powtórzeń.
      Do rozwiązania zadania należy uzyć odpowiednich kolekcji.
    2. Anagramy to słowa, które składają się z tych samych liter, ale w różnej kolejności. Napisz program, który dla danej listy słów wypisze wszystkie grupy anagramów pojawiające się na tej liście.

    Praca domowa nr 9

    Zadanie nr 1. Termin oddania:  14 maja 2014 r.