So You Want to Learn Programming, You've Come to the Right Place. I will direct you to some curated resources which I have found very helpful for learning respective languages.I will divide Intro to Programming in two different sections - By Language and Complete Course From Scratch.
By Language
1. C Programming Language - For any language it is always better and more efficient to learn by doing.
First of all to get a good grasp over this language, I would recommend referring to
this YouTube Playlist from thenewboston. For textual reference refer 'The C Programming Language by Dennis Ritchie' by the Man himself. As for practicing while learning use
HackerRank Platform. Solve the problems in C Language Proficiency and Problem Solving Challenges Section while learning to improve your C skills. And voila you now know How and from Where to get good. Only thing now remaining is for you to get started.
And If you want to witness the real power of C, Heres a
link.
Some more Websites : Codechef, Topcoder.
2. C++ - The way I learnt C & C++ in the beginning was through
this playlist from bucky's playlist. As foresaid same for C++, Practise is the key. Go through HackerRank Platform for practising. The real power of C++ is the Standard Template Library(STL), There aren't many video tutorials for STL available,
heres one from Rachit Jain demonstrating the power of STL.
HackerEarth's guide to STL -
Link. STL is a very powerful tool if you are into competitive programming. Good Luck! You're good to Go.
3. Python - Python is the fastest growing Language with applications ranging from creating games, web applications to web server applications. One notable resource is the
Python For Everybody from Michigan University, It is a specialization consisting of 5 courses, this course is good for beginners with little or no experience to Programming. If you are an experienced Programmer I would just recommend going through
this series of Jupyter notebooks. Another Interesting Tutorial Series -
Automate the Boring Stuff with Python.
After you have mastered the basics of Python, here is a list of
libraries. Explore! Good luck!
Full Course:
The most amazing flagship course I ever took and I recommend to Everybody is HarvardX's Introduction to Computer Science on edX. It is the same course which is taught on the Harvard Campus by Professor David J. Malan. The course has 10 weeks and starts with simple Scratch and ends with building a final Project. The course focuses more on critical thinking and developing logic and finding patterns in every aspect of a problem. Starting with Scratch, the course transitions to implementing complex data structures in C then to implementing them in Python in few lines of code. The full course teaches you : Scratch, C, Python, SQL, Flask. The course is absolutely free for audit on edX. The assignments are very much fun and the way of teaching of David Sir is very interesting and unique. I would highly recommend this course if you are an absolute beginner.
Course Platforms : EdX, Coursera, Udacity, Udemy, FreeCodeCamp
Software, Blogs a Programmer should be aware of : Slack, Github, Medium