Математику краще вчити за підручниками.
За підручником "курс форсованої математики" (Титаренко) можна спробувати опанувати те, що іноді називають шкільною алгеброю. Початки аналізу не потрібні, якщо є намір вивчити згодом матан. Залишається ще шкільна геометрія, можна не вчити метод координат та вектори, це грунтовно вчиться в курсі аналітичної геометрії.
Матан, іноді кажуть, основа. Питання в тому, як розумно розробити необхідний навчальний план для програміста з метою самоосвіти...
Під назвою "алгебра" у школі й у вузі існують різні світи. У вузі вивчення алгебри розпочинають з лінійної алгебри.
По алгоритмам нещодавно знайшов книгу на https://github.com/krenevych/algo
Взагалі, все зводиться до питання: що і в яких обсягах вчити, з якою метою; для криптографії слід глибоко зануритись у алгебру і теорію чисел, для дата саєнс- у теоріюймовірностей і матстатистику з мірою та інтегралом лебега, і тд.
пс. краще звернутися за фаховою допомогою, а то можна марно витратити час. А найкраще поступити заочно десь на прикладну математику чи інформатику.