The programming community is full of people who are willing to help the next generation of programmers. GitHub, the online hangout for developers who use Git to manage their coding projects, is designed for online collaboration. Not only do developers host and share their projects with their peers, they also provide code feedback and general advice to the community.
Your answer can help determine which programming language(s) you should master, as well as what sort of commitment (in time and money) your goal may require. For example, if your dream is to create the next great operating system or a killer alternative to PhotoShop , you would benefit from a formal computer science education that teaches you C++, as well as more complex topics like data structure, algorithms and memory allocation.
EdX is another leading online-learning platform that is open source instead of for-profit. It was founded by Harvard University and MIT in 2012, so you know that you’ll learn about cutting-edge technologies and theories. Today, edX includes 53 schools. You probably can’t go wrong with the free Introduction to Computer Science from Harvard University.