Как подготовиться к школьному олимпиадному программированию за пол года почти с нуля?
Регайся на codeforces.ru  и вперёд.
>> 2) Какие можете посоветовать книги по алгоритмам
"Грокаем алгоритмы" https://www.ozon.ru/context/detail/id/139296295/
SICP https://habr.com/post/103322/
Кнут.
>> 3) Что нужно дополнительно изучить в программировании 
Английския язык. Чтобы читать все актуальное, и чтобы потом искать работу на актуальную зарплату.