PythonBeginner
CS50's Introduction to Programming with Python
Harvard's introduction to programming using Python. Covers functions, variables, conditionals, loops, exceptions, libraries, unit tests, file I/O, and regular expressions.
Free course on MIT OpenCourseWare
MIT's Introduction to Algorithms (6.006) is a rigorous free course on MIT OpenCourseWare covering algorithm design and analysis: sorting, hashing, trees, graphs, shortest paths, and dynamic programming. Everything is taught with mathematical proofs. After finishing, you understand how to design efficient algorithms and prove their correctness, essential for technical interviews and computer science. The main limitation: this is one of MIT's hardest undergrad courses. Expect to spend 15-20 hours per week if you do the problem sets.
MIT's core algorithms course. Covers sorting, searching, dynamic programming, graph algorithms, and shortest paths using Python. Full lecture notes and problem sets available free.
PythonBeginner
Harvard's introduction to programming using Python. Covers functions, variables, conditionals, loops, exceptions, libraries, unit tests, file I/O, and regular expressions.
PythonBeginner
Codecademy's interactive Python course teaches you the basics from scratch. Write and run code in your browser, learn syntax, functions, control flow, lists, loops, and more.
PythonBeginner
Khan Academy's friendly introduction to programming with Python. Learn variables, data types, functions, conditionals, and loops through short lessons with immediate feedback.