Wpis z mikrobloga

Zainspirowany tym wpisem @FireDash podzielę się z wami krótką historyjką ze studiów.

Przypomina mi się, jak robiliśmy grupowo projekt z 'Systemów wbudowanych'. Polegało to na napisaniu 'OS' w Assemblerze, a dokładniej aplikacji, która po włączeniu urządzenia przełączy procesor w tryb protected, skonfiguruje wszystkie funkcje systemowe, obsługę wywołań sprzętowych (klawiatura, ekran itd) i na koniec wypisze 5* (***). To samo zadanie było zadawane przez prowadzących na laboratorium od zarania dziejów. Zaliczenie polegało na dostarczeniu aplikacji na dyskietce (działającej ( ͡º ͜ʖ͡º) ) i kodu na kartce, z którego dany zespół był odpytywany. Mimo, że FB jeszcze chyba nie istniał, studenci umieli się przecież zawsze zorganizować, więc mieliśmy jakieś rozwiązania od starszego rocznika. Dokładnie 3 albo 4 wersje aplikacji, gdzie w zasadzie nie było trzeba nic zmieniać, wystarczyło zrozumieć, aby się przygotować do odpowiedzi. Nie, my musieliśmy podejść do tego 'solidnie'. Powtarzam 'solidnie'. Czyli postanowiliśmy napisać to sami. Nie mając praktycznie dostępu do tej kostki z prockiem 386, nawet nie umiejąc jej za bardzo obsłużyć na laboratorium, ale się uparliśmy i udało się. Znaczy się, aplikacja się kompilowała i na emulatorze w 8 na 10 przypadków wypisywała *** gwiazdek a stan procesora wskazywał, że jest we właściwym trybie (chyba). Zrozumienie aplikacji w teamie tak powiedzmy na 40% per osoba. Razem w zasadzie rozumieliśmy całość. Przychodzi sądny dzień. Studenci, którzy zakuli otrzymane aplikacje stoją dość pewnie pod pokojem. My raczej średnio, ale jakoś sobie przecież damy radę.
Wchodzimy na wyraźne zaproszenie, wręczamy dyskietkę i kod na kartce. Mgr inż. przegląda, czyta widać, z zainteresowaniem. W końcu stwierdza, że będzie pytał po kolei, zada łącznie 4 pytania, od odpowiedzi będzie zależała ocena całego teamu. Fair enough. Pierwszego pytania nie pamiętam, ja miałem dostać trzecie z kolei, ale za to pamiętam drugie.
- w jaki sposób obsługiwane jest wejście z urządzeń wskazujących?
Kolega niestety w swoich 40% tej wiedzy nie posiadał, ale zaczął coś kombinować i po chwili namysłu wypala
- no... przez przerwania.
- źle, pytanie przechodzi dalej.
Pada na mnie. Trochę się nie spodziewałem, ale było to w części kodu, którą pisałem, więc prawie od razu wypalam
- przez przerwania
- źle, co wy bredzicie?
- poważnie, przez przerwania, pisałem ten kod - bronię się jak głupi
- co mi Pan pierdzieli? masz tu kod, znajdź właściwy fragment, ostatnia szansa na poprawę - i w tym momencie wręcza mi nasze wypociny
Więc biorę te kilka stron wydruku, otwieram mniej więcej na właściwej, czytam, znajduję odpowiednie instrukcje i ponownie słyszę
- więc w jaki sposób?
- no... y... przez... przerwania - tu już mniej pewnie, bo w kodzie widzę co mam, a od mądrzejszego od siebie słyszę, żem głupi, to co mam nie wierzyć
- dawaj mi to, nie przygotowaliście się!
Kartki z moich rąk zostały wyrwane, ale prowadzący zamiast wywalić je do kosza czy coś, zaczyna je wertować i dokładniej czytać. Z każdą instrukcją jego oczy otwierają się nieco szerzej, aż w końcu zamyka je na dłuższą chwilę z westchnieniem, ni to żalu ni to rozczarowania. Pierwszy komentarz:
- coście tu #!$%@??
To był koniec odpytywania. Oto okazuje się, że byliśmy pierwsi tak głupi od lat. Dawno nikt w tym temacie nie napisał nic nowego. Ogólnie wszyscy oddają te same 3 aplikacje od lat i je tylko wykuwają. Nawet są wersje z bardzo dokładnymi komentarzami. Co ciekawe prowadzący doskonale o tym wie i zna wszystkich autorów. 2 z nich jest prowadzącymi przedmiot trzeci to jeden team studentów, który zrobił to w ramach znacznie większego projektu i po prostu wydzielił tą aplikację. Choć to co zrobiliśmy kłóciło się z filozofią i zagrażało nieco bezpieczeństwu, to dostaliśmy 4 (mogło być 5, ale odpowiedź na pierwsze pytanie nie była satysfakcjonująca). No i zostaliśmy z pokoju wyrzuceni jeszcze z jedną radą:
- Panowie, na drugi raz, nie wynajdujcie koła ponownie, szkoda czasu i moich nerwów.

#studbaza #programowanie #assembler #wat #heheszki
  • 21
  • Odpowiedz
@eloar: Prawda jest taka, że na studiach lepiej napisany projekt / bardziej rozbudowany często dostanie taka samą ocenę jak projekt który spełnia minimalne wymogi. Więc pisanie bardziej rozbudowanych projektów "dla oceny" mija się z celem ;) Co innego, w celu samokształcenia, bo w sumie zawsze coś ciekawego się człowiek nauczył pisząc rozbudowany program.
  • Odpowiedz
@coll: nie pamiętam dokładnie, dawno było, ale wg tego tutorialu, to chyba przez selektory i deskryptory po włączeniu odpowiednim. Aż dziwnie się taki tutek czyta po tylu latach wiedząc, że się to kiedyś niby rozumiało.
@SmallCaracan: dalej to samo zadanie? Czy jeszcze Arciuch prowadzi laborki?
  • Odpowiedz
@eloar: Teraz SWB robi się na AT89C52, programuje się 4 mikrokontrolery (w języku C) (klawiatura, 7seg, LCD, silniki krokowe) i połączenia szeregowe między minimum dwoma mikrokontrolerami. Taki zestaw jest na 5. (ja na jakieś pytanie teoretyczne nie odpowiedziałem i miałem minusa to ostatecznie 4 mi wstawił).
Na 3 wystarczy sama klawiatura ze sczytywaniem po wierszach i kolumnach.
Arciuch to teraz wykłady prowadzi z architektury i organizacji komputerów (bardzo prosto się zalicza)
  • Odpowiedz
@MatexN: no to sporo się pozmieniało. To i lepiej, że zrezygnowali z tamtej starej platformy z 386, bo to było już nieco zbyt przestarzałe, a przecież teraz systemy wbudowane oparte o jakieś ATMegi, Arduina czy Raspberry są całkiem popularne ( ͡° ͜ʖ ͡°)
  • Odpowiedz
- Panowie, na drugi raz, nie wynajdujcie koła ponownie, szkoda czasu i moich nerwów.


@eloar: Polska uczelnia w pigułce. Jedyne czego uczy, to kombinowania pytań i projektów od starszych roczników. I później się dziwić, że kraj wygląda jak wygląda.
  • Odpowiedz
@Wujek_Mietek: a tam, marudzisz. Pisz wszystko bez Stacka jak chcesz. Przecież wszyscy wiedzą, że to tylko praca odtwórcza, więc jak chcesz to możesz pisać wszystko sam od 0 jeśli tak łatwiej zrozumiesz.
  • Odpowiedz
@eloar:
1. Takie samo podejście jest przy robieniu "prawdziwej" nauki.
2. Studia są po to, żeby się uczyć. Projekty są po to, żeby się nauczyć robić projekty a nie wykorzystać czyjąś pracę i bronić jako własnej.
3. Parafrazując: "Wszyscy przecież wiedzą, że egzamin to tylko odtwórcze pisanie wiedzy z książki więc jak chcesz, to nie ściągaj, ale nie marudź, że inni ściągają"
  • Odpowiedz
@Wujek_Mietek: nie wiem, nigdy nie robiłem 'prawdziwej' nauki. A studia owszem są od tego aby uczyć wiedzy i umiejętności, a jedną z umiejętności jest samokształcenie, a wiedza gdzie znaleźć różne gotowe rozwiązania jest bardzo cenna.
Miałem na studiach egzaminy, gdzie wszyscy wiedzieli, że to tylko odtwórcze pisanie wiedzy i prowadzący pozwalał korzystać z dowolnych materiałów podczas pisania, ale jeśli tematu nie rozumiałeś, to i tak Ci to nie pomogło.
  • Odpowiedz
A studia owszem są od tego aby uczyć wiedzy i umiejętności, a jedną z umiejętności jest samokształcenie, a wiedza gdzie znaleźć różne gotowe rozwiązania jest bardzo cenna.


@eloar: XD Założenie konta na forum kierunku tak cenna wiedza XD

Miałem na studiach egzaminy, gdzie wszyscy wiedzieli, że to tylko odtwórcze pisanie wiedzy i prowadzący pozwalał korzystać z dowolnych materiałów podczas pisania, ale jeśli tematu nie rozumiałeś, to i tak Ci to nie
  • Odpowiedz
@Errad: nie żałuję, że napisaliśmy to sami. Szczególnie, że się w tamtym czasie ASM jarałem jak głupi.
@wytrzzeszcz: jest, zdecydowanie jest. Choć przy zaliczeniu tego przedmiotu liczyło się zrozumienie tego kodu, więc można było go przepisać i uwalić na zaliczeniu. Prowadzący nawet tego nie odpalał.
  • Odpowiedz
Panowie, na drugi raz, nie wynajdujcie koła ponownie, szkoda czasu i moich nerwów.


@eloar: na programowaniu się nie znam, wszedłem tu z gorących i jeśli nie jest to jakaś wybitna specyfika tego przedmiotu, czy w ogóle tych studiów, to zachowanie prowadzącego bardzo słabe
  • Odpowiedz
via Android
  • 1
@szcz33pan nie potwierdzam, ale nie zaprzeczam. No na roku się rozeszła nie gorzej niż wyklinanie Henia lub Kwiatek z jego 'dzięciołem'. Ale to historie na inny raz
  • Odpowiedz