Я в вузе учусь на программиста. Пока второй курс идет мы еще проходим всякие разные популярные алгоритмы вроде деревьев и прочего. Я думаю начать немного подучивать самостоятельно и вопрос встает: что на самом деле важно в дальнейшем, какие части, скажем, джавы стоит учить? За столько времени я этого не узнал.
Учусь на программиста, 3й курс) изучаю вообще все что под руку попадется. летом между 2 и 3 курсом учил верстку + js сейчас верстаю сайты потихоньку, как заработок студенту - норм. Очень жалею что раньше не начал читать самостоятельно. Сейчас признаю только одно образование - самообразование. Поэтому ответ однозначно да, стоит учить самому. На счет деревьев - они никому не интересны, но все таки это нужная штука поэтому перетерпи)
Например, это: Дженерики Коллекции java.IO (ввод-вывод) GUI (Swing / JavaFX) Многопоточность Сокеты Рефлексия Лямбды, стримы Работа с БД (jdbc) и, соответственно, какая-нибудь БД (MySQL, SQLite, Postgre и т. д.) Системы сборки (Ant, Maven, Gradle) Логирование (log4j, slf4j) Паттерны Насчет твоего нынешнего момента: прочитай книжку Роберта Лафоре "Структуры данных и алгоритмы". Не слишком скучно все расписано, довольно хорошо усваивается.