Politechnika 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. |
---|