Matematyka sie przydaje, moze wybitny talent nie jest niezbedny ale bedzie duzo logiki.
Ja myślę że uczyć powinno się na bieżąco teorii i praktyki. Np. poznajesz funkcję switch case i odrazu używasz jej do napisania kalkulatora.
Co do projektu, możesz np. napisać program który odczyta z klawiatury podane zdanie, a potem zliczy ile razy występuje w nim podana przez ciebie samogłoska, np. Ala ma kota, a występuje 4 razy. Możesz napisać kalkulator, program sortujący bąbelkowo. Co dusza zapragnie.
Co do następnego języka - najpierw ogarnij C++ poniewa.ż potem będzie bardzo łatwo nauczyć się innego języka.
Tutaj obrazek o wyborach:
http://cdn.carlcheo.com/wp-content/uploads/2014/12/which-programming-language-should-i-learn-first-featured-1024x538.png