[Oxford] szkoła, czyli chodźmy na zajęcia
Posted on October 12, 2010, under Inne.
Kilka słów o samych zajęciach. Właśnie zaczął się trzeci tydzień roku akademickiego tutaj, więc mogę już coś opowiedzieć o samych modułach, czyli przedmiotach, które realizuję w tym semestrze. Jeszcze przed wyjazdem wybrałam cztery. O jeden za dużo, bo w zasadzie potrzebne mi są tylko trzy. Miałam z jednego zrezygnować i pewnie jeszcze to zrobię, jeśli mi się uda, chociaż na mojej macierzystej uczelni twierdzą, że nic by mi się nie stało, gdybym zrobiła cztery. Oczywiście, że nic by się nie stało, ale nie ma to aż tyle czasu :)
Studenci w Brookes’ie w jednym semestrze nie robią więcej niż trzy, albo cztery moduły. Do tego często (przynajmniej na studiach magisterskich) dochodzi jeszcze przedmiot ‘Research & Study Methods’, który trwa przez dwa semestry i jest faktycznie pisaniem pracy magisterskiej – najpierw poszukiwanie materiałów w pierwszym semestrze, a potem pisanie pracy w drugim. Ponieważ ja jestem tu tylko semestr nie realizuję tego modułu.
Powiedzmy sobie szczerze – tu nikt się nie przepracowuje specjalnie. Na jeden moduł przypadają 3h zajęć w tygodniu – 2h wykładu i 1h zajęć praktycznych, tzw. practicals, przy czym nie na wszystkich przedmiotach zajęcia praktyczne się odbywają, nieraz mają formę konsultacji. Forma zaliczenia zajęć też może być różna. Najczęściej to pewna kombinacja oceny z egzaminu i projektów (jednego lub kilku), które robi się przez cały semestr i oddaje pod jego koniec do sprawdzenia. W moim przypadku trzy z czterech modułów kończą się egzaminem.
Same nazwy przedmiotów, które tu realizuję niewiele mówią, więc napiszę kilka słów o każdym z nich.
Formal Software Engineering – Formalna Inżynieria Oprogramowania
To jedyny przedmiot bezpośrednio związany z inżynierią oprogramowania, jaki miałam do wyboru – nad czym ubolewam. To dosyć wąska jej dziedzina i na zajęciach będziemy głównie zajmować się Metodą B (B-Method) – przynajmniej w pierwszej części semestru. Ideą jest tworzenie specyfikacji systemów wolnych od błędów. Tak, brzmi surrealistycznie, ale wszystko opiera się na opisywaniu problemów matematycznie i automatycznym dowodzeniu poprawności ich rozwiązań. Oczywiście nie robi się tego dosłownie ręcznie, ale za pomocą odpowiednich narzędzi. I dalej następuje automatyczna konwersja specyfikacji na kod np. w C. Zachęcający jest fakt, że słynna paryska linia metra nr 14 została zaprojektowana z użyciem tej metodyki i jak na razie (tfu-tfu) wszystko działa znakomicie. Dodam tylko, że na wspomnianej linii metra poruszają się pociągi sterowane centralnie przez system komputerowy – zatem w pociągu nie ma kierowcy! Najfajniej oczywiście siedzi się w pierwszym wagonie – jak w pociągu widmo – rewelacja, polecam! :)
Structured Data – Strukturyzacja danych
Nazwa tego modułu ewidentnie kojarzy mi się ze strukturami danych, ale ten moduł skupia się na sposobach zapisu danych w bazach danych. Ponadto jest odseparowany od konkretnych rozwiązań, więc nie opiera się na porównywaniu MySQL z Oracle, ale dużo bardziej ogólnie. Podzielony jest na 2 części – pierwsza to typowe relacyjne bazy danych, druga to struktury drzewiaste, czyli XML. Coursework podzielony jest na 3 części – jedna z relacyjnych baz danych, druga z XMLa, a trzecia z połączenia dwóch poprzednich. Jak do tej pory nie mogę powiedzieć, że nauczyłam się czegoś nowego, bo zaczęliśmy od SQL i podstaw relacyjnych baz danych. Natomiast mniej więcej połowa uczestników tego modułu pierwszy raz widziała bazę danych na oczy, więc nie wróżę temu modułowi zbytniego skomplikowania w przyszłości.
Middleware – Oprogramowanie pośredniczące, albo po prostu Middleware
To coś, czego u nas w programie nie ma w ogóle. Wykład bardzo interesujący, ale poza tym jak dla mnie za dużo Unixa, C i programowania rozproszonego ;) Coursework to napisanie kolejki RPC w C z użyciem PVM, która ma działać na uczelnianym klastrze.
Paradigms of Programming – Paradygmaty Programowania
I na koniec mój zdecydowany faworyt. Z nazwy modułu nie można oczywiście wywnioskować absolutnie nic. A okazuje się, że wykład jest przekrojem przez różne typy języków programowania, paradygmaty, uniwersalne techniki, strukturę języków i reguły implementacji. Ogólnie chodzi o to by stać się programistą, który stając przed problemem, nie zastanawia się, jak rozwiązać go w danym języku, ale jaki język będzie najodpowiedniejszy do tego typu problemu. Czyli nabranie pewnego rodzaju biegłości w różnych językach programowania, a także biegłości w ich zmienianiu zależnie od potrzeb. Najciekawszy jednak jest coursework. Należy stworzyć portfolio 7 programów – 5 małych i 2 większych napisanych w 7 różnych językach. Jest bardzo duża dowolność co do samych programów, co więcej najważniejsza jest ‘eksploracja’ danego języka i zabawa nim. No bajka po prostu. Oczywiście wybór języków jest ograniczony, ale nie aż tak bardzo, żeby nie było z czego wybierać. Lista prezentuje się następująco: Java, C/C++, Objective-C, Perl, C#, PHP, JavaScript, Ruby, Python, AS3, LUA, Pascal, Haskell, F#, Visual Prolog, Prolog, Jay, Scala, Clojure, Delphi, Visual Basic, Lisp, D, Scheme, Erlang, Groovy, Delphi Prism, Eiffel, Common Lisp, CLIPS, Vala, TCL, Go. Jeśli chodzi o większe projekty, to pewnie zostanę przy Javie i C++ – i jeden i drugi używałam już dosyć dawno temu, więc pewnie warto sobie coś przypomnieć. Wybranie 5 języków z pozostałych jest już dużo trudniejsze. Na razie ograniczyłam wybór do takiej listy: F#, Haskell, Ruby, Python, LUA, D, Erlang, Eiffel, Go, CLIPS. To dwa razy za dużo.
Jak widać będę miała co tutaj robić przez najbliższe tygodnie. O międzynarodowej integracji i zwiedzaniu nie wspomnę.
Welcome to Oxford
No to jestem. Mija prawie tydzień odkąd przyleciałam do Wielkiej Brytanii, więc chyba mam już prawo do ‘pierwszych wrażeń’. Od razu uprzedzam, że wcześniej w UK byłam tylko przelotem (dosłownie – kilka godzin na lotnisku), więc to prawdziwie świeże obserwacje. No to lecimy:
- Anglicy jeżdżą nie po tej stronie ulicy, co trzeba. Nikt, absolutnie nikt nie jest w stanie mi wmówić, że tak da się normalnie jeździć. W życiu nie wsiadłabym tu do samochodu za kierownicę. Przede wszystkim dlatego, że na pewno wsiadłabym do niego nie z tej strony…!
- Przechodzenie na drugą stronę ulicy nadal napawa mnie strachem, szczególnie na większych skrzyżowaniach. Nerwowo kręcę głową we wszystkich możliwych kierunkach, bo nie mam pojęcia, z której strony może mnie potrącić samochód. W dodatku samochód bez kierowcy, bo przecież po prawej stronie siedzi pasażer (przynajmniej w normalnym kraju). Dobrze, że chociaż rowery mają kierowców na swoim miejscu. Natomiast Anglicy chyba zdają sobie sprawę ze swojej ‘wyjątkowości’, bo na bardziej skomplikowanych skrzyżowaniach, albo rondach malują na przejściach dla pieszych na jezdni napisy ‘look left’, ‘look right’, ‘look both sides’. Jeśli ktoś nie rozumie angielskiego to niestety i tak nic mu to nie pomoże.
- Wydaje mi się, że na chodnikach też obowiązuje jakiś kodeks drogowy. Ale jeszcze nie rozkminiłam, jaki.
- Anglicy nie mają chleba. Coś, co wygląda , jak chleb w rzeczywistości jest napowietrzoną bułką. W dodatku wiecznie świeżą i wiecznie miękką. Aż do momentu spleśnienia.
- W Oxfordzie większość miejskich autobusów jest dwupiętrowa. I to jest super – więcej ludzi może do nich wejść, no i z góry jest dużo fajniejszy widok. Natomiast nie mam pojęcia jak te autobusy mieszczą się w tych wszystkich wąskich uliczkach, w których samochody są zaparkowane po obu stronach ulicy pomiędzy śmietnikami.
- Angielskie domki są urocze, ale wyglądają na zaprojektowane przez przedszkolaki. Bałagan architektoniczny jest wszechobecny, ale wszystko razem wygląda po prostu ładnie. Nie wiem, jak to możliwe. Może dlatego, że wszystko jest kolorowe. Dużo bardziej niż w Polsce.
- Wejścia do mieszkań wprost z chodnika – chyba nie mogłabym się do tego przyzwyczaić. Ani do tego, że ktoś z chodnika zagląda mi do kuchni. Ale kolorowe drzwi wejściowe – rewelacja! Bardzo dużo jest niebieskich – zupełnie jak w ‘Notting Hill’.
- Ciekawym zjawiskiem są kolejki. Z tego co zauważyłam nikt się nigdzie nie przepycha, ale obowiązują kolejki. Nawet jeśli z pozoru ich nie widać. Na przykład przy wchodzeniu do autobusu. To akurat przydałoby się w Polsce.
- Polaków jest tutaj po prostu mnóstwo. Nawet w takim Oxfordzie, który nie wydaje się być pierwszym wyborem rodaków przy wyjeździe do UK. Pomijając to, ile polskiego słyszy się na ulicach, to rozmowy kierowników sklepu z pracownikami typu: “Marjola, how are you doing?”, “Krzisztoff, are you OK? dajeszz rade?” nie pozostawiają wątpliwości, co do narodowości tych pracowników.
- Jakże miło było znaleźć polskie jedzenie w Tesco! Fajnie tu jeść pierogi ruskie ‘U Jędrusia’.
- I na koniec jeszcze jedno. Albo Anglicy piją za dużo, albo mają strasznie słabe głowy. Chyba jedno i drugie. Albo po prostu nie umieją pić. Na pewno nie wszyscy, ale pozytywnych przykładów jeszcze nie widziałam. Będę wytrwale szukać. Aha – angielskie dziewczyny ubierają się na wyjścia do klubów, jak dziwki. Dosłownie i niestety w większości. I jeśli chodzi o te dwie obserwacje to naprawdę mam nadzieję, że się mylę i najbliższe tygodnie wyprowadzą mnie z błędu.
Wiem, stronniczo. Ale może zmienię zdanie. I pewnie do większości tych rzeczy da się przyzwyczaić.