One of the most wonderful impacts of Internet is it makes many knowledge freely available. You can still attend the courses from the best universities in the World, without having to spend a bunch of money to get into US. You can now access the precious contents from the other half of the world. Of course, it’s still far from effective as when you come to classes, having friends and assignments, for real, but it’s undeniably a huge benefit.
The knowledge is yours!
Introductory courses:
MIT 6.00.1x: Introduction to Computer Science and Programming Using Python
MIT 6.00.2x: Introduction to Computational Thinking Data Science
MIT 6.00: Introduction to Computer Science and Programming
Harvard CS50(x): Intensive Introduction to Computer Science
Stanford CS 106B: Programming Abstractions
Stanford CS 106A: Introduction to Computer science | Programming methodology
ArsDigita: Discrete Mathematics
MIT 6.042J: Mathematics for Computer Science
UNSW: Introduction to Data Structures and Algorithms:
Coursera: (Princeton)Introduction to Algorithms (Part 1)
MIT 6.006: Introduction to Algorithms
Stony Brook University: Introduction to Algorithms
Stonehill (Coderisland): Introduction to the Theory of Computation
Coursera (Rice): Principles of Computing (Part 1)