Ich würde mit C anfangen, dann mit C++ nachlegen für OOP.
Gutes Buch dazu:
[ame]http://www.amazon.de/Grundlagen-professionellen-Programmierung-Galileo-Computing/dp/3934358039[/ame]
Das Buch hat mir eigentlich alles in meinem Informatikstudium beigebracht was ich wissen musste über C und C++ Achtung! Vieles ist sehr mathematisch und es wird auch unter anderem auf Sortieralgorithmen usw eingegangen, es gibt aber zu jedem Kapitel Übungen und in der neusten Auflage des Buches auch Lösungen dazu.
Wenn du das Buch komplett durchgearbeitet hast hast du eine solide Grundbasis in C/C++, OOP, Algorithmen, Laufzeitanalysen, Diskrete Mathematik, Boolsche Algebra, Datenstrukturen(Bäume, Hashtabellen, einfach verkette Listen, Skiplisten... uswusw), Graphentheorie... und vieles mehr!
Gruß