Most of software engineering is about the code that you didn't write. There is an infinite amount of hypothetical code that you could write, and every line of code is a liability.
I strongly feel like starting lesson 0 with hello world or any other coding activity is a huge mistake if we are actually talking about trying to ramp someone with zero technical background.
A more ideal start would be to run with a problem domain (e.g. online store/shopping cart/todo tracker) and abstractly work through how you even go about reasoning with these things in the first place. You do not need a computer to develop a strong programmatic understanding for a problem domain. I know this for a fact because we do it on our standup calls almost every day w/ non-technical project managers. Talking about something for 20 minutes can mean the difference between coding for 2 weeks and no code at all.
How you model your target domain is far more important than any specific code you write to implement it. Modeling and planning is the art. Mastering this is the only thing that really matters. The code/language/framework-of-the-week will always change. Knowing how to ask the right questions and being able to identify boundaries between systems will not.
If you struggle to put it all together,try to flip it and deconstruct. For instance, you want to build a website that pulls trending tweets from twitter's API. Think of it as a whole,i.e. some scrolling boxes showing tweets,maybe a list that keeps growing.Then think how would you go about pulling tweet data from the API.Then how would you store it.How you would read each tweet and show it on the screen and etc. Suddenly,each individual part become much more manageable.
I strongly feel like starting lesson 0 with hello world or any other coding activity is a huge mistake if we are actually talking about trying to ramp someone with zero technical background.
A more ideal start would be to run with a problem domain (e.g. online store/shopping cart/todo tracker) and abstractly work through how you even go about reasoning with these things in the first place. You do not need a computer to develop a strong programmatic understanding for a problem domain. I know this for a fact because we do it on our standup calls almost every day w/ non-technical project managers. Talking about something for 20 minutes can mean the difference between coding for 2 weeks and no code at all.
How you model your target domain is far more important than any specific code you write to implement it. Modeling and planning is the art. Mastering this is the only thing that really matters. The code/language/framework-of-the-week will always change. Knowing how to ask the right questions and being able to identify boundaries between systems will not.