
#286 overall
Programming Fundamentals
Coursera
1 recommender · 2 threads · recommended in 2 years, 2018–2019 · score 1.7
An introductory Coursera course that teaches how to think like a programmer without tying the lessons to a specific programming language. It is aimed at people with no prior coding background.
Commenters describe it as a very good class on how to think as a programmer and a perfect intro that does not depend on any one language.
General Learningbeginnerfreevideo lectures#programming fundamentals#problem solving#introduction#coursera
Recommendations by year
20062026
A friend found this https://www.coursera.org/learn/programming-fundamentals I took the class so I could help her if needed. It is a very good class on how to THINK as a programmer. It does not teach any programming language but is IMHO a perfect intro.
If you want them to learn to think about how to develop code, but not a particular language I recommend: https://www.coursera.org/learn/programming-fundamentals
These courses are for beginners, but I started with what I learned from a few courses in Coursera and turned it into a career as a software engineer. https://www.coursera.org/learn/learn-to-program and https://www.coursera.org/learn/program-code from Jennifer Campbell and Paul Gries from the University of Toronto laid a great foundation to build on. I think I took them the first time they offered it and I still don't understand how they completely nailed a new medium like that first try. It was very accessible, but with enough detail to make sense and the videos were so clear and concise. The Python one from Rice University, is a fun, awesome course, where you build games to learn. https://www.coursera.org/learn/interactive-python-1
First of all, how much time do you have to devote to this? Will you be quitting your full time job? Will you be doing this over all your free time? The amount you want to accelerate is entirely dependent on how much time you have to devote to it. This is also a question of how much patience you have and how you get started. Programming really is all about peeling the onion. It's easy to write an Hello World app but there are so many layers below that it can become very overwhelming. I will make the assumption that this is a side thing you want to get going.
Programming by itself is not hard. What is hard is the amount of implicit (or explicit) knowledge that exists in the profession that isn't directly related to writing a web application or another piece of software. Now, its not hard to pick up this knowledge but its a barrier. To be a good programming you need to understand computer architecture, TCP/IP networking, HTTP protocol, how a piece of text written in a programming language ultimately gets turned into assembly language and then run on the CPU. There is a lot more along those lines. Now, I am not saying you need to understand it at a PhD level any of this but you need a more than basic understanding to be effective.
What most of us that have been doing this for a long time don't realize is that our passion for technology and computers in general at a young age had given has a head start since we've picked up most of this knowledge (either self-though or going through CS or engineering programs).
My recommendation would be to sign up for the online Stanford Introduction to Computer Science courses:
http://see.stanford.edu/see/courses.aspx
And start to do the first one on your own.
Alongside that you can also start the Coursera courses: https://www.coursera.org/courses?orderby=upcoming&cats=cs-th...
The Learn to Program and the Algorithm courses are good.
If you are keen you should be able to go through these courses fast. The Stanford ones are not easy but will give you a taste of what a real computer science curriculum is all about. The lectures themselves are extremely worthwhile (Mehran Sahami is a great teacher).
The point of these are not to make you a Ruby on Rails developer, or Python whiz, etc. It's to help you understand the fundamentals.This will also help you determine if it really is the career path you want to take. It takes a certain type of person to sit patiently in front of a glowing screen for hours and studiously write code and actually enjoy the process.
If you want to build your own start-up ideas, don't bother learning to develop. Save enough money and hire it. There's very competent developers around the world that will make whatever you want (I am not saying its easy to find quality developers, but they are out there).
Personally, if I was in your shoes, I would give myself six months to really delve into the fundamentals. If by the end of six months, you feel its a chore and the thought of sitting in front of the screen for another couple of hours learning something else just turns you off, then please have the honesty to stop. But, if its the opposite and you are able to keep going then please don't stop. I would say if you still have the drive to learn and practice after six months, you will be on your way to picking up whatever knowledge gaps you have.