1) уметь программировать на Java и Python (особенно Python)
2) основы ООП (полиморфизм, наследование...)
3) алгоритмы (сортировка, поиск...)
Рядом с нейронными сетями: искусственный интеллект (как охватывающее более абстрактное понятие), машинное обучение (часть ИИ), глубокое обучение (часть машинного). На Google-портале udacity.com есть (кажись два) небольших курса по искуственному интеллекту, на английском правда, но с субтитрами. Может там что найдёте.