O autorze
Nazywam się Tomasz Idziaszek i jestem programistą zorientowanym na praktyczne aspekty algorytmiki. Na Uniwersytecie Warszawskim uzyskałem tytuł doktora nauk matematycznych w dziedzinie informatyki. Jestem miłośnikiem konkursów programistycznych, jako ich uczestnik, organizator i popularyzator. Piszę i redaguję książki i artykuły na temat algorytmiki i informatyki.
Poniżej znajdują się dokładniejsze informacje na temat tego, czym się zajmuję. Kliknięcie strzałek występujących po niektórych akapitach odsłoni jeszcze więcej szczegółów.
Konkursy programistyczne
Z informatyką konkursową jestem związany od 2002, najpierw jako uczestnik zawodów programistycznych, a następnie jako ich organizator. Byłem finalistą konkursów indywidualnych (Olimpiada Informatyczna, TopCoder, Google Code Jam, Potyczki Algorytmiczne) oraz zespołowych (mistrzostwa Polski, Europy Środkowej, Wielkopolski, Deadline24). W 2005 roku reprezentowałem Uniwersytet Warszawski na Mistrzostwach Świata w Programowaniu Zespołowym, które odbywały się w Szanghaju. ▸
- Mistrzostwa Świata w Programowaniu Zespołowym (Szanghaj 2005 — 17. miejsce),
- Mistrzostwa Europy Środkowej w Programowaniu Zespołowym
(Budapeszt 2004 — 1. miejsce, Budapeszt 2006 — 3. miejsce), - Akademickie Mistrzostwa Polski w Programowaniu Zespołowym
(Kraków 2004 — 6. miejsce, Kraków 2005 — 5. miejsce, Kraków 2006 — 4. miejsce), - Google Code Jam (Mountain View 2004 — 12. miejsce, Nowy Jork 2006 — 18. miejsce),
- TopCoder Open (Santa Clara 2004 — 8. miejsce), TopCoder Collegiate Challenge (Santa Clara 2005 — finalista),
- Potyczki Algorytmiczne (Zielona Góra 2005 — 7. miejsce, Zielona Góra 2007 — finalista),
- Wielka Przesmycka (Wrocław 2018 — 7. miejsce, Wrocław 2020 — 8. miejsce),
- Olimpiada Informatyczna (Sopot 2002 — finalista),
- Deadline24 (Gliwice 2011 — 2. miejsce, Zabrze 2013 — 1. miejsce),
- Mistrzostwa Wielkopolski w Programowaniu Zespołowym (Poznań 2013 — 3. miejsce),
- Internetowe Mistrzostwa Polski w Programowaniu (2008 — 5. miejsce).
Aktualnie zajmuję się organizacją konkursów, głównie jako sędzia i autor zadań. Byłem sędzią głównym Akademickich Mistrzostw Polski w Programowaniu Zespołowym. Układałem zadania do większości edycji konkursu Potyczki Algorytmiczne. Byłem odpowiedzialny za przebieg merytoryczny dwóch edycji 24-godzinnego konkursu Asseco Programming Marathon24. Ponadto współpracowałem przy zadaniach do Międzynarodowej Olimpiady Informatycznej, Mistrzostw Wielkopolski w Programowaniu Zespołowym, konkursu Yandex.Algorithm, kilku edycji Bałtyckiej Olimpiady Informatycznej i konkursu Topcoder Open 2018. Od strony technicznej uczestniczyłem w przygotowaniach do organizowanych w Polsce Mistrzostw Świata w Programowaniu Zespołowym oraz Międzynarodowej Olimpiady Informatycznej. ▸
- Akademickie Mistrzostwa Polski w Programowaniu Zespołowym (Warszawa 2011–2014)
— członek jury, sędzia główny, autor zadań, - Potyczki Algorytmiczne (Zielona Góra/Warszawa 2006, 2008–2022) — członek jury, autor zadań,
- Asseco Programming Marathon24 (Gdynia 2013–2014) — sędzia główny, autor zadań,
- Międzynarodowa Olimpiada Informatyczna (Tsukuba 2018, Baku 2019) — autor zadań,
- Mistrzostwa Wielkopolski w Programowaniu Zespołowym (Poznań 2019) — autor zadań,
- Yandex.Algorithm (Petersburg 2013) — autor zadań,
- Bałtycka Olimpiada Informatyczna (Połąga 2014, Warszawa 2015, Helsinki 2016, Bergen 2017, Windawa 2020) — autor zadań,
- Topcoder Open (Dallas 2018) — autor zadań,
- Mistrzostwa Świata w Programowaniu Zespołowym (Warszawa 2012) — ekipa techniczna,
- Międzynarodowa Olimpiada Informatyczna (Nowy Sącz 2005) — ekipa techniczna.
W latach 2013–2023 byłem sekretarzem naukowym Olimpiady Informatycznej dla licealistów, czyli dbałem o propozycje zadań, które pojawią się na zawodach. Ponadto biorę udział w opracowywaniu zadań oraz redagowaniu olimpijskich publikacji i przygotowywaniu filmów, w których omawiane są rozwiązania zadań. Od 2007 roku jestem członkiem kadry na corocznym Obozie Naukowo-Treningowym im. Antoniego Kreczmara, przygotowującym licealistów do startu w olimpiadzie. Brałem też udział w przygotowywaniu zadań na inne obozy. ▸
- Olimpiada Informatyczna (2013–2023) — sekretarz naukowy,
- Olimpiada Informatyczna (od 2013) — członek Komitetu Głównego Olimpiady Informatycznej,
- Olimpiada Informatyczna (od 2003) — członek jury, autor zadań,
- Obóz Naukowo-Treningowy im. Antoniego Kreczmara (2007, 2009–2013, 2017–2021) — autor zadań, wykłady,
- Obóz czesko-polsko-słowacki (Praga 2007, Warszawa 2019) — autor zadań,
- kwalifikacje do AMPPZ na Uniwersytecie Warszawskim (2005, 2007) — autor zadań.
Prowadzę również zajęcia i wykłady dla licealistów i studentów przygotowujących się do startu w konkursach programistycznych. Wykładałem na krajowych i międzynarodowych obozach programistycznych w Polsce, Brazylii, Boliwii, Stanach Zjednoczonych i na Kubie, m.in. na letnim obozie na Uniwersytecie w Campinas, obozie dla regionu karaibskiego w Hawanie i obozie drużyny programistycznej z Uniwersytetu Środkowej Florydy. Prowadziłem też wykłady z algorytmiki konkursowej na Uniwersytecie Warszawskim oraz na Wydziale Cybernetyki Wojskowej Akademii Technicznej w Warszawie. ▸
- Brazylijska letnia szkoła programowania na Uniwersytecie w Campinas (Campinas 2015, 2018),
- Obóz programistyczny regionu karaibskiego na Uniwersytecie Nauk Informatycznych (Hawana 2019),
- Boliwijski obóz programistyczny na Uniwersytecie San Andrés (La Paz 2019),
- Obóz programistyczny dla studentów Uniwersytetu Środkowej Florydy (Orlando 2019–2022),
- Obóz programistyczny szkoły Farias Brito (Fortaleza 2016),
- Obóz programistyczny szkoły Colégio Etapa (São Paulo 2021),
- Warsztaty programowania sportowego dla studentów Federalnego Uniwersytetu w Amazonas (Manaus 2021),
- Kurs Inżynieria algorytmiczna na Uniwersytecie Warszawskim (Warszawa 2007),
- Kurs Algorytmika praktyczna w Wojskowej Akademii Technicznej (Warszawa 2017–2021).
Jestem również autorem i redaktorem książek dla zawodników przygotowujących się do startu w zawodach programistycznych. W 2012 roku została wydana książka W poszukiwaniu wyzwań, zawierająca wybór zadań z konkursów programistycznych organizowanych przez studentów i pracowników Uniwersytetu Warszawskiego. Zawiera ona m.in. opis jednego z moich ulubionych zadań algorytmicznych. W 2015 roku został wydany drugi tom W poszukiwaniu wyzwań 2, zawierający opis wszystkich zadań z Akademickich Mistrzostw Polski w Programowaniu Zespołowym z lat 2011–2014. Z kolei w 2018 roku z okazji 25-lecia Olimpiady Informatycznej wydana została książka Przygody Bajtazara zawierająca wybór 50 zadań z wszystkich edycji Olimpiady. Książka ta zdobyła nagrodę główną w konkursie Polskiego Towarzystwa Informatycznego na Informatyczną Książkę Roku 2019 w kategorii publikacji popularnonaukowych i podręczników.
Programowanie
Aktualnie współpracuję z firmą Codility, która dostarcza platformę pozwalającą na sprawdzenie kompetencji programistów. Zajmuję się przygotowywaniem zadań, nagrywaniem filmów z omówieniami rozwiązań oraz rozwijaniem oprogramowania. Na stronie internetowej Codility znajduje się również dział treningowy.
Przez dwa lata pracowałem w Huawei Dresden Research Center, gdzie zajmowałem się współbieżnymi strukturami danych i innymi narzędziami programistycznym dla słabych modeli pamięci. Wcześniej pracowałem w takich firmach jak CodiLime (gdzie organizowałem konkurs Asseco Programming Marathon24 oraz uczestniczyłem w kilku mniejszych projektach) i Advanced Digital Broadcast (gdzie pisałem oprogramowanie dla dekoderów telewizji cyfrowej). Odbyłem również trzymiesięczne praktyki w Dolinie Krzemowej w firmie NVIDIA, specjalizującej się w kartach graficznych.
Popularyzacja nauki
W latach 2010–2015 byłem redaktorem działu informatyki popularnonaukowego czasopisma Delta, wydawanego przez Uniwersytet Warszawski. Aktualnie czasopismo ukazuje się co miesiąc równolegle w wersji papierowej oraz elektronicznej. Napisałem do niego ponad 70 artykułów, głównie zawierających rozwiązania zadań z konkursów programistycznych, ale również bardziej ogólne na temat architektury i historii komputerów.
Okazjonalnie daję też wykłady na tematy naukowe. Dotychczas można mnie było spotkać na Szkole Matematyki Poglądowej i konwencie Avangarda. ▸
- Szkoła Matematyki Poglądowej (Grzegorzewice 2008, Jachranka 2010, 2016) — zaproszony wykład,
- Konwent Avangarda X (Warszawa 2015) — zaproszony wykład.
Wykształcenie
Na Wydziale Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego uzyskałem stopień doktora nauk matematycznych w dziedzinie informatyki. Moja praca Algebraic methods in the theory of infinite trees przygotowana pod kierunkiem dra hab. Mikołaja Bojańczyka dotyczyła związków pomiędzy algebrą, logiką i teorią automatów rozpoznających języki drzew nieskończonych. ▸
- Stopień doktora nauk matematycznych w dziedzinie informatyki
(Wydział Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego 2014), - Stopień magistra informatyki (Wydział Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego 2007),
- Matura (XLI Liceum Ogólnokształcące im. Joachima Lelewela w Warszawie 2002).
W czasie studiów doktoranckich prowadziłem zajęcia ze studentami w ramach stypendium stażysty, a następnie jako asystent naukowy. Tematyka zajęć obejmowała algorytmy i struktury danych, kompilatory, systemy operacyjne, algebraiczną teorię języków, inżynierię algorytmiczną i interfejsy. W ramach wymiany naukowej przez trzy miesiące pracowałem na Uniwersytecie w Hasselt (Belgia).
Hobby
W wolnych chwilach lubię grać chwytliwe kawałki na pianinie i słuchać polskich i brytyjskich słuchowisk radiowych. Aby pozostać w formie, staram się regularnie biegać (w 2017 i 2023 ukończyłem maraton, a w 2018 triatlon w górzystym terenie na dystansie 1/4 Ironman) i gram w badmintona.
Kontakt
Mój adres mejlowy to tomasz@algonotes.com.