Here you can find most of the programs I've written during my university course.
The newset (and probably best written) are at the bottom. You can download and read
the source code ("źródła") and the specs ("specyfikacja"). Note that the source code
is often in Polish.
Please contact me
if you need translation to English.
There are separate page with my Polish papers
(including master's thesis) created at
the university, my Java applets and
materials for the XML laboratory I taught.
Here you'll find my current commercial work projects.
|
|
|
I rok. Metody programowania |
| Zad 3. Kalkulator. Pisałem go na pierwszym roku, ale teraz
musiałbym trochę posiedzieć, żeby to powtórzyć... |
Pascal |
[specyfikacja]
[źródła i program] |
| Program zaliczeniowy. Gra SZEWC. Ma prawie 4 tys. linii,
sporo jak na program z pierwszego roku,
zwłaszcza że w liceum nie przekroczyłem trzystu. |
Turbo Pascal DOS/BGI |
[specyfikacja]
[pomoc do gry]
[dokumentacja]
[źródła]
[binarki] |
|
|
II rok. Programowanie współbieżne |
| Na laboratorium z Programowania współbieżnego
pisaliśmy programiki wykorzystujące
mechanizmy współbieżności w Linuksie. Funkcja fork() to była podstawa.
Testowaliśmy różne metody komunikacji/synchronizacji procesów: pipe, FIFO, sygnały, mechanizmy IPC
(pamięć dzielona, semafory). |
| Zad 1. Liczby Fibonacciego (pipe) |
C/Linux |
[specyfikacja]
[źródła] |
| Zad 2. Wybory (kolejki komunikatów) |
C/Linux |
[specyfikacja]
[źródła] |
| Zad 3. Algorytm równoległy liczący pozycję węzła w liście wiżzanej (wątki) |
C/Linux |
[specyfikacja]
[źródła] |
| Zad 4. Algorytm ewolucyjny (test porównawczy różnych mechanizmów komunikacji) |
C/Linux |
[specyfikacja]
[źródła + wyniki testów]
[readme] |
|
|
II rok. Bazy danych |
| Moim projektem zaliczeniowym był serwis klasy z liceum. Wykorzystuje bazę Oracle, dostęp do niej
odbywa się albo przez strony WWW albo za pomocą formatek Oracle*Forms. |
PHP/Forms Oracle 8i |
[źródła] |
|
|
II rok. Programowanie obiektowe |
| Symulacja sieci kolejowej. Program napisany w Smalltalku, w środowisku
Dolphin Smalltalk pod Windows. To środowisko jest niezbędne
do uruchomienia programu. Darmową wersję (2.1) można ściągnąć
stąd:
program,
dokumentacja.
|
Smalltalk Windows |
[źródła]
[dokumentacja]
Program ma ok. 12 tys. linii |
|
|
II rok. Zespołowy projekt programistyczny |
| Zaimplementowałem, wraz z Jarkiem Zimoniem
i Jurkiem Ziemiańskim system przydzielający studentów
do grup ćwiczeniowych. Częścią systemu jest moduł do zbierania preferencji
studentów przez WWW. Wykorzystaliśmy do niego relacyjną bazę danych oraz PHP.
Ja byłem odpowiedzialny za wymyślenie algorytmu przydziału oraz zakodowanie
go w C++. Program był pisany z myślą o jego późniejszej integracji
z USOSwebem. |
C++/PHP PostgreSQL Linux |
[projekt, żródła i dokumentacja] |
|
|
III rok. Systemy operacyjne |
| Referat o tablicy ramek w jądrze Linuksa. Jest naprawdę
niewiele osób, które coś z tego zrozumieją. A już na pewno większości ludzi do
niczego się to nie przyda. Do czytania plików .ps.gz (GZipped PostScript) można użyć programu
GSview (są wersje pod Linuksa i pod Windows). |
| Zad 1. LogStat - skrypt bash'a |
C/Linux |
[specyfikacja]
[źródła] |
| Zad 2. Moduł PAM (wymienny moduł autentykacyjny dla Linuksa) |
C/Linux |
[specyfikacja]
[źródła]
|
| Zad 3. Implementacja /dev/null (moduł do jądra Linuksa obsługujący
urządzenie) |
C/Linux |
[specyfikacja]
[źródła] |
| Zad 4. Implementacja dynamicznego linkowania w jądrze Linuksa
(moduł oraz łata na jądro systemu) |
C/Linux |
[specyfikacja]
[źródła]
[readme] |
|
|
III rok. Algorytmy ewolucyjne |
| Parę programików w Javie. |
| Zad 1. Symulacja ruchu punktu po kwadracie, za pomocą mutacji punktowych |
Java |
[źródła]
[aplet online] |
| Zad 2. Ewolucja z mutacjami, rekombinacjami i selekcją proporcjonalną (AWT) |
Java |
[źródła] |
| Zad 3. Ewolucja z selekcją turniejową (na przykładzie optymalizacji funkcji) |
Java |
[źródła] |
| Zad 4. Symulacja (za pomocą Łąńcuchów Markowa) ewolucji z populacją
nieskończoną (w AWT) |
Java |
[źródła] |
| Zad 5. Algorytm symulowanego wyżarzania (AWT) |
Java |
[źródła] |
| Zad 6. Kolorowanie grafu |
Java |
[źródła]
[aplet online] |
|
|
III rok. Sztuczna inteligencja |
| Napisałem (w C++ i Javie) parę programów wykorzystujących sieci neuronowe. |
| Minimalne skojarzenie w grafie |
Java |
[aplet online] |
| Rozpoznawanie wzorców, na przykładzie cyfr |
Java |
[aplet online] |
|
|
III rok. Organizacja genomów |
| Referat o translokacjach genomów oraz
aplet w Javie. |
|
|
III rok. Programowanie funkcyjne |
| Program do bezstratnej kompresji plików. Powstał w języku funkcyjnym Standard ML.
Do uruchomienia jest konieczny kompilator Standard ML of New Jersey do ściągnięcia
ze strony http://www.smlnj.org. |
Standard ML |
[źródła]
[slajdy] |
|
|
III rok. Sieci komputerowe |
| Zad 1. Prosty klient i serwer MUDa. Komunikacja przez TCP i UDP, napisany w C. |
C/gniazda Linux |
[specyfikacja]
[źródła]
[readme] |
| Zad 2. Gra MIMOPOL. Wykorzystuje mechanizm CORBA.
Implementacja w C++. |
C++/CORBA Linux |
[specyfikacja]
[źródła]
[readme] |
|
|
IV rok. Aplikacje bazodanowe w Internecie |
|
Referat
o serwletach. |
|
Program do
przechowywania dokukumentu XMLowego w relacyjnej bazie danych.
Kod jest generowany przez składowane procedury PL/SQL i
wysyłany do przeglądarki internetowej przez Oracle
PL/SQL Gateway. |
Oracle 9i PL/SQL Gateway |
[opis] |
|
Program do wspomagania wyceny nieruchomości. W trakcie realizacji. |
Java/Turbine |
[tor]
[projekt] |
|
|
IV rok. Obiektowe bazy danych |
|
Porównanie obiektowej bazy danych Objectivity/DB z opcją
obiektową w Oracle9i |
Objectivity Oracle9i |
[raport]
[offline] |
|
|
IV/V rok. Systemy rozproszone |
|
Referat
o XMLowych standardach definiowania powiązań między
dokumentami. Referat obejmuje następujące standardy:
XML-Names, XML-Base, XPath, XPointer, XInclude, XLink oraz TopicMaps.
| [slajdy offline].
|
|
Referat
o metadanych w internecie, czyli o RDF, RDF Schema, itp.
|
|
|
IV rok. Paradygmaty programowania rozproszonego |
|
Zad 1. Bardzo prosty programik demonstrujący gniazda w Javie. |
Java |
[specyfikacja]
[źródła] |
|
Zad 2. System poczty z wieloma serwerami napisany przy wykorzystaniu
Remote Method Invocation (RMI) z Javy. |
Java RMI |
[specyfikacja]
[readme]
[źródła] |
|
Zad 3. To samo zadanie (poczta), ale z wykorzystaniem CORBY a nie
RMI jako mechanizmu komunikacyjnego. |
Java/CORBA |
[readme]
[źródła] |
|
Zad 4. Rozproszone liczenie całki oznaczonej dowolnej funkcji
z wykorzystaniem przestrzeni krotek Lindy (a dokładnie jej
implementacji JINI). |
Java/Linda |
[readme]
[źródła] |
|
Zad 5. Synchronizacja katalogów. Wykorzystuje model
publisher-subscriber z Java Messaging System
(zdefiniowanego w J2EE). |
J2EE JMS |
[readme]
[źródła] |
|
Zad 6. Prosty Session EJB (ze standardu J2EE). |
J2EE EJB |
[readme]
[źródła] |
|
Zad 7. Prosty Entity EJB (ze standardu J2EE). |
J2EE EJB |
[readme]
[źródła] |
|
|
IV rok. Programowanie WWW |
| Wyszukiwarka internetowa |
Java Servlet/JSP |
[wymagania]
[webapp]
[źródła] |
|
|
IV rok. Programowanie w logice |
| Małe zadanka z laboratoriów |
ProLog |
[źródła] |
| Zadanie zaliczeniowe. Implementacja parsera XML i XPath
(oczywiście nie pełna). |
ProLog |
[źródła] |
|
|
V rok. Systemy rozproszone |
| Implementacja standardów XPointer i XInclude.
Moja praca magisterska. |