Politechnika Wrocławska

PollyboodPolitechnika to stan umysłu... Setki studentów dumających nad skomplikowanymi obliczeniami, bardziej lub mniej udolnie skonstruowane machiny, podziemne laboratoria kryjące rzeczy, o których przeciętny zjadacz chleba z Uniwersytetu nawet by nie pomyślał. Spędziłem na Wydziale Elektroniki 5 grubych lat, oto wszystko, co udało mi się zgromadzić podczas studiowania tam informatyki:

I rok

Informatyka Podstawy programowania w C++ — pierwsze próby wdrożenia w życie książki Grębosza. Rysowanie kresek, choinek i tabliczek mnożenia. Do bardziej zaawansowanych projektów należą: gra w życie, silnik 3D (napisany w Borlandzie C++ 3.1!), program generujący negatywy bitmap oraz gra Snake.
Miernictwo elektroniczne Lekcje używania multimetrów i oscyloskopów, same w sobie mało ciekawe, ale stresujące z uwagi na konieczność oddawania porządnych sprawozdań. Niestety żadne sprawozdanie się do czasów nowożytnych nie zachowało.
Podstawy inżynierii Innymi słowy rysunek techniczny, czyli rysowanie śrubek w kilku rzutach i wymiarowanie, pod okiem zawsze skrupulatnego doc. Morawa.
Mindstorms Seminarium robotyki prowadzone przez dr Piaseckiego, przy wykorzystaniu zestawów LEGO MINDSTORMS. Zajęcia realizowane były w trybie konkursowym, poszczególne grupy konkurowały ze sobą o stworzenie najlepszego robota.

II rok

Przyrządy półprzewodnikowe Laboratorium prowadzone w czeluściach wydziału WEMiF, polegające na zapoznaniu się z działaniem tranzystorów, diod i innych elementów półprzewodnikowych.
Logika układów cyfrowych Konstruowanie układów cyfrowych złożonych z bramek i przerzutników, realizowanych na nieco już siermiężnych zestawach UNILOG.
Języki programowania Zaawansowane zagadnienia C++, w szczególności dynamiczna alokacja pamięci realizowana na wszelkie możliwe sposoby.
Teoretyczne podstawy informatyki Wdrażanie algorytmów służących do rozwiązania najbardziej znanych informatycznych problemów — plecakowego, komiwojażera, sortowania. Ponadto zaprojektowanie zaawansowanej aplikacji implementującej automat komórkowy.
Podstawy techniki mikroprocesorowej Programowanie mikrokontrolera opartego o układ Intel 8051, dodawanie fajerwerków w postaci diód, klawiatury skaningowej i ekranu LCD.

III rok

Architektura komputerów Laboratorium traktujące o assemblerze oraz projekt sterownika do pamięci cache, zrealizowany przy pomocy oprogramowania Xilinx ISE.
Projektowanie efektywnych algorytmów Bardziej skomplikowane aspekty algorytmiki, użycie metaheurystyki do rozwiązywania złożonych problemów.
Sieci komputerowe Laboratorium dotyczące Novell NetWare, snifferów i sprzętu sieciowego oraz projekt polegający na zaprojektowaniu sieci dla przedsiębiorstwa (w moim przypadku firmy meblowej). Na laboratorium dodatkowo quest związany z napisaniem sieciowej wersji warcab.
Systemy operacyjne Nauka Linuxa realizowana pod przykrywką poznawania alternatywnych systemów operacyjnych :) Pisanie skryptów w bashu i Perlu, wyrażenia regularne itp. Z ciekawostek przyrodniczych wielowątkowy Pac Man w C++.
Układy cyfrowe Maglowanie wszelkiej maści układów programowalnych, kolejna okazja do używania środowiska Xilinx ISE.
Bazy danych Laboratorium z baz danych, sprowadziło się do projektu polegającego na wykonaniu rozkładu autobusów wykorzystującego PHP i MySQL.

IV rok

Niezawodność i diagnostyka układów cyfrowych Tworzenie w Matlabie symulacji serwisu samochodowego pod kątem niezawodności zawartych w nim urządzeń oraz ludzi. Wyliczanie miar jakości obsługi przy założeniu odpowiednich rozkładów czasu naprawy i czasu do uszkodzenia.
Systemy inteligentnego przetwarzania Program wykorzystujący sieć neuronową do rozpoznawania drzew na podstawie liści. Sieć zwraca listę najbardziej prawdopodobnych trafień, bazując na zwektoryzowanej wersji liścia.
Układy cyfrowe 2 Sequel laboratorium z poprzedniego roku, konstruowanie zegara/stopera/timera przy użyciu układów Spartan firmy Xilinx.
Inżynieria oprogramowania Modelowanie automatu do napojów w języku UML, rysowanie diagramów klas, przypadków użycia itp.
Sterowniki mikroprocesorowe w aplikacjach sieciowych Trudne laboratorium, polegające na oprogramowaniu mikrosterownika ST7. W moim wykonaniu obsługa portu szeregowego RS-232 oraz protokołu 1-Wire (wszystko w assemblerze oczywiście).
Inżynieria obrazów cyfrowych Seminarium dotyczące technik akwizycji i przetwarzania obrazów cyfrowych, moja prezentacja dotyczy skanerów.
Urządzenia peryferyjne Laboratorium, na którym za pośrednictwem starego, ale najwyraźniej wiecznie żywego MFC programowaliśmy obsługę najróżniejszych peryferiów PC. Przypadło mi w zaszczycie napisanie aplikacji wykorzystujących czytnik kart magnetycznych, skaner i drukarkę atramentową.
Programowanie współbieżne Tworzenie aplikacji wielowątkowych i wieloprocesowych w systemie QNX, wątki, semafory, komunikaty.
Systemy tolerujące uszkodzenia Projektowanie na poziomie bramek logicznych układu ALU (dodającego i mnożącego w systemie U2) chronionego kodem korekcyjnym, zdolnego do poprawienia każdego pojedynczego przekłamania.
Sieciowe systemy operacyjne Zaawansowane zastosowania systemu UNIX — w szczególności współbieżność, komunikacja między procesami oraz zagadnienia sieciowe. Jako dodatek projekt polegający na napisaniu gry typu multiplayer, opartej na kreskówce "Dastardly and Muttley in Their Flying Machines".
Projekt informatyczny Projekt realizowany w większej grupie pod patronatem wrocławskiego oddziału firmy Siemens, obejmujący zagadnienia data miningu i programowania w Javie.
Grafika komputerowa Rysowanie różnych scen 3D i 2D przy użyciu biblioteki GLUT. Najbardziej zaawansowanym zadaniem było stworzenie raytracera renderującego bryły z uwzględnieniem cieni i odbić promieni światła.

V rok

Mikroserwery internetowe Programowanie miniaturowego serwera www umieszczonego na mikrokontrolerze, prezentującego pomiary zebrane z sieci termometrów Dallas DS18B20, połączonych magistralą 1-Wire.
Internet w gospodarce Dodanie do istniejącej aplikacji (prezentującej administratorowi systemu szczegółowy stan pamięci i procesów) obsługi systemu S.M.A.R.T. monitorującego dyski twarde w poszukiwaniu nieprawidłowości w ich działaniu.
Protokoły transmisji cyfrowej i systemy wbudowane Projektowanie skomplikowanego systemu monitorującego warunki panujące w szklarni (temperaturę, natężenie światła), złożonego z mikrokontrolera oraz serwera www. System obejmuje zarówno zarządzanie poszczególnymi czujnikami, jak i prezentację wyników i ich historii w postaci strony internetowej.
Aplikacje internetowe i rozproszone Projekt realizowany w większej grupie, polegający na przygotowaniu środowiska do rozproszonej klasteryzacji danych, z interfejsem dostępnym za pomocą przeglądarki internetowej.
Sieciowe systemy multimedialne Tworzenie lekcji multimedialnej dotyczącej bitwy o Leyte, opartej o język HTML. Co ciekawe silnik strony nie wykorzystuje technologii typu server-side, jest za to oparty w 100% o AJAX (w czystej formie — xml otrzymywany w wyniku asynchronicznych zapytań)

Koniec końców

Praca dyplomowa Tytuł mojej pracy dyplomowej to Śledzenie i analiza ruchu komórek na podstawie sekwencji obrazów. Jak sama nazwa wskazuje dotyczy ona automatyzacji badania ruchu komórek (macierzystych albo progenitorowych) pobieranych z żywych organizmów.