- Algorytmy i struktury danych: moja droga w tym kierunku rozpoczęła się od studiowania zasad konstruowania algorytmów, czytania klasycznych książek (Knuth) i nauki języka programowania Pascal, a kontynuowana była w języku C, implementacji wszystkich struktur danych i analizie zalety i wady każdego z nich. Nie będę mówił, że na dodatek umiem pracować z maszynami Turinga i algorytmami Markowa, bo raczej już to mówiłem, ale można to zignorować, choć moim zdaniem koncepcja nieskończona taśma pamięci i ruch wzdłuż niej wskaźnika dają najdokładniejsze wyobrażenie o tym, jak faktycznie działa komputer od środka, ale to tylko moja skromna opinia.
- Architektura komputera i Asembler: gdy uznasz, że całkowicie zrozumiałeś zasadę działania komputera, spróbuj pisać programy na bardzo niskim poziomie (w przeciwnym razie jak docenisz wszystkie uroki Javy?), a ja osobiście rozważałem wszystkie opcje edukacyjne z jednym , dwa, trzy rejestry i zdałem sobie sprawę, jak trzeba robić uniki, gdy jest tylko jeden rejestr, a program działa (zaskakujące, prawda?).
- Matematyka dyskretna: oczywiście równolegle z powyższym warto zająć się także tym tematem, gdyż daje on pełne zrozumienie logicznego myślenia, a teoria maszyn o skończonych stanach powie Ci, jak rozmieszczone są wnętrza procesora i jak są one zorganizowane w układy scalone. Nie zapominajmy, że studiuje się tutaj także teorię grafów, która nie będzie w 100% zbędna.
- Matematyka wyższa: Postanowiłem wyróżnić wszystkie pozostałe przedmioty matematyczne w jednym akapicie, aby nie zaśmiecać zbytnio głowy. Oto: analiza matematyczna, teoria prawdopodobieństwa i statystyka, algebra liniowa - swoją drogą bardzo, bardzo ważna rzecz, jeśli chcesz zajmować się grafiką trójwymiarową (wiem, marzeniem każdego jest pisanie gier, choć do tego też się przyda trzeba wziąć udział w kursie z równań różniczkowych i metod numerycznych, ale to takie - drobnostki) i innych dziedzin.
- Architektura systemu operacyjnego. Linux: gdy już się tu oswoisz, wielowątkowość w Javie będzie rodziła znacznie mniej pytań, a okaże się, że bajkę o filozofach już gdzieś słyszałeś.
- OOP, język C++: cóż, prawie dotarliśmy na sam szczyt łańcucha pokarmowego. Nie będę tu szczegółowo wyjaśniał i nie powiem, dlaczego implementacja OOP w C++ jest o wiele bardziej interesująca.
- Dodatkowo: jeszcze kilka drobiazgów, które już znałem to: grafika komputerowa (OpenGL, Unity 3D) i C# (Core).
novago219
Poziom 34
Java Middle w 2,5 miesiąca.
Pozdrawiam wszystkich czytelników, którzy myśleli, że w 2,5 miesiąca od zera naprawdę można zostać Middle. Spieszę cię rozczarować - jest to możliwe tylko przy bardzo ciężkiej pracy nad sobą, a wiem, jak każdy chce wszystkiego na raz - właśnie teraz i nie inaczej. A fraza od zera dotyczy mnie tylko w pewnym statusie warunkowym, bo tak naprawdę miałem absolutnie zerową wiedzę o Javie jako języku programowania. Ale ja już to wiedziałem i byłem w stanie coś zrobić jeszcze zanim poznałem JavaRush i być może od tego chciałbym zacząć swoją historię, ponieważ mój rozwój zawodowy to dość dziwne połączenie wiedzy, umiejętności i w pewnym sensie szczęścia.
Podam więc listę, która dała mi przewagę konkurencyjną nad innymi, a także pozwoliła mi przejść JavaRush (do poziomu 34) dość szybko i bez większych trudności (przynajmniej mnie to nie zdziwiło). Na listę składa się wiedza, którą przekazała mi uczelnia, a także to, czym sama się interesowałam. Nie będę rozpisywał się gdzie to wszystko jest i nie podam nazwy uczelni. Jeśli chcesz, całą tę wiedzę powinieneś opanować samodzielnie, jeśli Twoja uczelnia tego nie uczy.
GO TO FULL VERSION