Dobra, to porozmawiajmy o "praktycznych przedmiotach w topowych branżowych technologiach" na studiach na przykładzie tego jak to wyglądało w przeszłości u mnie.
Ja zaliczyłem w czasie studiów (Informatyka Stosowana na wydziale FAiS, UJ) m.in. przetwarzanie XML z przyległościami na wszelkie możliwe sposoby. W międzyczasie XML wyleciał z mody. A przynajmniej nie jest już spostrzegany jako super wspaniały pomysł i najlepszy wynalazek od czasu Poprzedniego Wspaniałego Wynalazku.
Szkoda, że ten sam los nie spotkał OOP, ale od mniej więcej dekady widać rosnący sceptycyzm do tego paradygmatu i mit OOPu jako złotego środka na zło programistycznego świata jest coraz silniej podważany w mainstreamie.
Było też kilka frameworków w różnych językach które pomimo okresu olbrzymiej popularności w zasadzie zdechły od roku do 3 po tym jak zaliczyłem związane z nimi przedmioty lub stały się niszą o której mało kto już pamieta poza utrzymującymi kod legacy.
Ponoć prowadzący bazy danych ma/miał famę jakiegoś super machera oblatanego w tematyce, jednak z perspektywy czasu przedmioty bazodanowe to była jednak mocna podstawa podstaw. Zapytania, widoki, złożenia, triggery, locki. To w zasadzie szczyt tego co pamiętam że robiliśmy na tym przedmiocie. Nie posiadam żadnych wspomnień byśmy poruszali tematy jak bazy danych działają "od środka" ani na pracowniach ani na egzaminie. Nie pamietam byśmy przykłądowo omawiali mechanizmy obsługi stronnicowania pamięci, k-means sort, czy tematy optymalizatora zapytań. Piszę o tym, ponieważ to co z tych zajęć pamiętam było można opanować już nawet lata temu z masy książek o podstawach MySQL, od których półki księgarń się wówczas uginały.
Na temat bebechów baz danych były wtedy w zasadzie może ze dwie, trzy przetłumaczone na polski publikacje. Ich znajomość nawet dzisiaj sprawia, że aplikując na juniora/mida a nawet i seniora działek około bazodanowych w wielu przypadkach jesteś lata świetlne do przodu w stosunku do większości innych kandydatów. Nawet jeśli dawało ci to tylko lepsze rozumienie dokumentacji MySQL bo nie mając wiedzy o typowych internaliach bazodanowych można się "zaciąć" czytając tego typu teksty, zwłaszca na początku przygody ale też i na późniejszych etapach.
O ile więc temat baz danych był poruszony to o tyle z perspektywy czasu oceniam, że jego zakres był dość biedny jak na poziom edukacji wyższej. Ale dawał podstawy do obsługi baz danych zawodowo jako stażysta/junior. Chyba, że mi pamięć szwankuje i było coś więcej. Ale szczerze wątpię.
Robiłem też przedmioty sieciowe. Pracowaliśmy na sprzętowych switchach, firewallach. Ustawialiśmy routingi, filtrowanie, vlany etc. W sumie sieci TCP/IP to dość skostniała działka i w zasadzie trudno powiedzieć by coś z tego jakoś mocno się zdeaktualizowało pomijając zmiany interfejsu oprogramowania na samych sprzętowych routerach, switchach, firewallach etc. W zasadzie tylko routing z perspektywy czasu bym poszerzył na tym bloku przedmiotów, acz może był on poruszany szerzej niż na tych przedmiotach które ja realizowałem gdyż nie uczstniczyłem bodajrze w co najmniej jednym przedmiocie z tego bloku. Ale temat jest do ogarnięcia obecnie z youtuba jeśli masz solidne podstawy z TCP/IP i ogólne rozumienie sieci.
Jeśli chcesz jakieś ogólne rady - to szukaj i czytaj "złote standardy literatury informatycznej" z interesujących cię przedmiotów. Nie ważne jaka to działka - istnieją o niej wartościowe warte przeczytania publikacje, zwłaszcza jesli dana działka istnieje juz kilka ładnych lat. Nawet książki pisane w latch 70tych są wciąż wartościowe bo w oparciu o te publikacje implementowano wiele systemów, a czasem zawierają pomysły i idee, które technicznie stają się mozliwe do praktycznej realizacji dopiero dzisiaj.
Warto je czytać chocby z tego powodu, że wiele z nich jest na zachodzie obowiązkowymi pozycjami da studentów. Więc jeśli masz chociaż śladowe ambicje ścigania się z najlepszymi, to nie daj się wyprzedzić na tym etapie.
Nawet po latach absolwenci jeśli nigdy nie mieli ich w ręce mogą sporo zyskać zapoznając się z nimi po fakcie.
Co do programowania - to trzeba trochę linijek napisać by nabrać "flow" w pisaniu i nawigacji we własnym kodzie.
Czytaj też kod innych. Github, SourceForge, i tego typu serwisy są pełne kodu. Nabierzesz wtedy orientacji jak wygląda kod innych jeszcze zanim zetkniesz się z kodem w pracy. Jest tam sporo realistycznego kodu prawdziwych dużych i szeroko wykorzystywanych projektów. Od silników baz danych i kerneli systemów operacyjnych po frameworki i biblioteki czy narzedzia uzytkowe, edytory etc.