Best Online Courses

One of the problems that we face when we want to learn something new is to find a trustworthy source, so that our time is spent wisely. It always helps to get proper guidance before we embark on the journey. With the proliferation of internet and smartphones, information is at our finger tips. But most of the times it gets rather difficult to choose what is required for us without wasting significant amount of energy and perhaps money.

This is where I want to make the life of a computer science fresher a bit easier by providng all the important resources at one place. After researching a lot over the internet to find the most important courses and materials in the discipline of Computer Science, I have prepared this list. A comprehensive knowledge on all these subjects will be your first step in becoming an awesome Computer Scientist.

  1. Programming Methodology
    • This course will help you to have a clear understanding about Computer Science and Programming. What is expected of a good Computer scientist. Professor Mehran Sahami will make you fall in love with Computers in these 27 lectures.
    • Doing the assignments will make you feel like a champion.
  2. Programming Abstractions
    • This course will teach you most popular Data Structures (Vector, Linked List, Stack, Queue, Set, Hashmap, Tree, Graph etc). This will enrich your armoury to attack more complex problems which you will encounter regularly.
    • Assignments will increase your understanding even further.
  3. Discrete Mathematics
    • This is a very important course for GATE.
    • It introduces all the basic concepts of Mathematics related to computer science.
  4. Operating Systems
  5. Design and Analysis of Algorithms
  6. Cloud Computing Applications
    • Learn about "cloudonomics," the underlying economic reasons that we are creating the cloud. Learn the basic concepts underlying cloud services and be able to use services like AWS or OpenStack Dashboard to construct cloud services or applications. Demonstrate your ability to create web services, massively parallel data intensive computations using Map/Reduce, NoSQL databases, and real-time processing of real-time data streams. Use machine learning tools to solve simple problems.
  7. Machine learning
    • The best course on introductory machine learning.

Some Awesome Resources

Books that changed my life

  • The Saint, the Surfer and the CEO
  • The One thing
  • Rich Dad Poor Dad