Have heard people asked how to learn "computer". My answer is that if you know how to use mouse and keyboard, then you already know how to use computer:) Smart phone? just use fingers. :) But if you want to let computers do what you want, then you need to find the correct software, or if you are handy, you can learn to speak the languages that computer understands. There are a lot of langauages out there for different perpuses. I would like to give you some hint about which one to get start/how to get start/when to stop. The fundmental of programming is data structure and logic flow. Most of mordern languages come with libraries and containers that have build-in data structures. Array and Map are two generic data structures that are heavily used. To start programing, you can pick a platform then focus on one language, any one. Following are my favorate platform - language combinations. 1. Windows Application C++ C# 2. Linux C++ Java Bash Python 3. Handheld device Android Java SDK Object C 4. Intranet Web service ASP.NET MVC + SQL JQuery 5. Internet Social web service Node JS + Angular + NoSQL 6. Raspberry Pi C++ to be continued