- Алгоритми та структури даних: мій шлях у цьому напрямі розпочався з вивчення принципів побудови алгоритмів, читання класичних книг (Кнут) та вивчення мови програмування Pascal, а продовжився він мовою C, реалізацією всіх структур даних та розбором переваг та недоліків кожного з них. Не буду говорити, що до всього іншого я вмію працювати з Машиною Тьюринга та Алгоритмами Маркова, точніше я вже це сказав, але Ви можете пропустити це повз вуха, хоча, на мій погляд, поняття про нескінченну стрічку пам'яті та рух покажчика по ньому, дає найбільш правильне уявлення про те, як все-таки працює комп'ютер зсередини, але це тільки моя скромна думка.
- Архітектура комп'ютера та Assembler: коли Ви вирішите, що повністю розібралися з принципом роботи комп'ютера, спробуйте пописати програми на дуже низькому рівні (інакше як Ви оціните всі принади Java?), причому особисто я розглядав усі навчальні варіанти з одним, двома, трьома регістрами та зрозумів, як доводиться викручуватися, коли регістр всього один, а програма працює (дивно, правда?).
- Дискретна математика: звичайно, паралельно вищепереліченому варто ще й взятися за цей предмет, тому що він дає повне уявлення про логічне мислення, а теорія кінцевих автоматів розповість Вам, як влаштовані начинки процесора і як вони організовані в інтегральних схемах. Не забуватимемо, що тут також вивчається Теорія Графів, яка 100% зайвою не буде.
- Вища математика: вирішив виділити всі інші математичні предмети в один пункт, щоб не надто забивати голову. Тут лежать: математичний аналіз, теорія ймовірностей та статистика, лінійна алгебра – до речі, дуже дуже важлива річ, якщо Ви хочете займатися тривимірною графікою (знаю, у всіх мрія – писати ігри, правда Вам для цього доведеться ще й пройти курс диференціальних рівнянь та чисельних методів, але це так - дрібниці), та й інші області.
- Архітектура ОС. Linux: після того, як освоїтеся тут - багатопоточність у Java викличе набагато менше питань, та й виявиться, що казку про філософів Ви вже десь чули.
- ООП, мова C++: ну ось, майже дісталися вершини харчового ланцюга. Не роз'яснюватиму тут у подробицях і не говоритиму, чому реалізацію ООП саме на C++ дивитися набагато цікавіше.
- Додатково ще пара дрібниць, яку я вже знав, були: комп'ютерна графіка (OpenGL, Unity 3D) і C# (Core).
novago219
34 рівень
Java Middle за 2.5 місяці.
Вітаю всіх читачів, які подумали, що за 2.5 місяці з нуля можна стати Middle. Поспішаю Вас засмутити - це можливо тільки при дуже старанній роботі над собою, а я знаю, як усім хочеться всього і відразу - прямо зараз і ніяк інакше. Та й фраза з нуля до мене застосовна лише в певному умовному статусі, адже Java, як мова програмування, у мене справді була абсолютно нульовою. Але дещо я все-таки вже знав і вмів ще до знайомства з JavaRush і мабуть мені хотілося б почати свою розповідь саме з цього, тому що мій кар'єрний зріст - досить дивне поєднання знань, умінь і удачі певною мірою.
Отже, дозвольте мені навести список, який створив для мене конкурентну перевагу перед іншими, а також дозволив пройти JavaRush (до 34 рівня) досить швидко і без особливих складнощів (принаймні вони мене не дивували). Список складається зі знань, яким мене наділив університет, а також тим, що мені було цікаво. Не розділятиму, де що лежить і називатиму університет теж не буду. За бажання варто освоїти всі ці знання самостійно, якщо у Вашому університеті їх не дають.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ