Any tips for a new student?
If someone wants an introduction to the big picture of CS, s/he can try going through this course:
@WorryHurry411 which language?
In general, read the tutorials, make sure you understand the syntax and basic logic flow, and it also helps to know how to use the debugger if the IDE you are using has one. Also, make your code as clean as possible (e.g. consistent indenting and variable names, no “magic numbers”) – small steps like those make your code easier to read, and more adaptable for change.
My youngest has no background in coding but wishing to learn. Please suggest good online courses.
W3schools is a great online free resource for beginners. You can practice right on their site and get feedback on your code. No account creation necessary last I checked. Pretty user friendly with examples. HTML and CSS are usually good places to start and will provide practice using tags, divs, etc.
Java and Python are often recommended for beginners as well. They’re languages that an engineer could expect to encounter in their first year of college.
How young is your youngest? Scratch is a good first programming experience for younger students (I’d recommend for mid elementary to middle school).
My kid started with Visual Basic for Dummies, then learned Java in a one week summer camp, then started looking at MIT open courseware and teaching himself Linux. He read all sorts of Teach yourself ___ type of books. Early on in high school he spent a lot of time with Turtle Geometry. https://en.wikipedia.org/wiki/Turtle_Geometry.
What type of computer will your student use (Windows or Mac)? What type of system will they target (e.g. iPhone, Android, Windows, etc.)? There are several Integrated Development Environments (IDEs) available for free these days. If on Windows he could use Visual Studio Community Edition to mess around with C#. Create a simple count-to-ten console app then move on from there. IMHO, the best thing is to experiment over and over again to build up experience.
Try Kahn Academy online
I once had a job customizing software and was told I didn’t need to know xml because they had an interface that would insert the appropriate code for you. I soon learned that the interface had all kinds of glitches that could only be fixed by inserting the actual xml code. Keep in mind I’m NOT a math/science/computer code kind of thinker. Give me a 30 page paper to write and I’m golden, but if they’d told me I needed to know any kind of code, I’d have run for the door.
I thought I was dead, but never a quitter, I stayed up until about 5:00 in the morning every night for a month staring at the code and using a “trial and error” approach until I figured out what did what, and taught myself xml.
Not recommended (ha!) but the point is, if I can figure it out in a month, ANYBODY can, and you don’t need some expensive course. You just have to want it enough and put in the effort. I did stumble upon w3schools, though, and agree it can be helpful. I’d start there.
To begin, independently with the “hobby” approach
- I would not start with a "tutorial" book on page one. Almost certain failure. Everyone gets past "hello, world".
- I would not start with "old" technology even if the concepts are fundamentally sound (like VB)
- I would avoid concepts like referential databases and error trapping until there is some foundation
So what would I do?
10 Choose an approach that is FUN AND ENJOYABLE.
What platform does the beginner use most? Mobile device? (iOS? Android?). Web? Windows apps? Amazon Echo?
Then think of a thing you want to build for that platform. Simple game app? Vinyl LP database? App that maps nearby fast food joints? It doesn’t matter if commercial or other versions of this exist already – in fact it is better for comparison.
Then, start coding.Yep that’s it. You learn by doing.
Yes, you’ll need websites on how to get started, sample code bases, all that jazz, but the important thing is to do it on a project you design from the start. Modifying existing code is a great way to do it.
But when it is YOUR project, something YOU want to do and not just “the project of chapter 3”, that passion will carry you through the tough times it takes you to learn the problem solving. And when you DO figure a problem out – and you will – if you jump up from your chair and yell “YES!” when it compiles and runs… well then you are a coder.
Then when you finish the app take it to an experienced coder and they will tell you what garbage it is.
GOTO 10
Welcome to our world.
You can watch Scratch (MIT) or Snap (Berkeley) tutorials on YouTube. My 12 year old had some classes, but has gotten better by teaching himself online.
For younger (older elementary to maybe middle school), I’d take a look at [url = <a href=“https://www.codecademy.com/%5DCodecademy%5B/url”>https://www.codecademy.com/]Codecademy[/url]. It’s a bit simplistic, but has a reward system that helps younger coders stay interested.
I’ve heard good things about [url = <a href=“https://www.khanacademy.org/%5DKhan”>https://www.khanacademy.org/]Khan Academy, but haven’t actually looked at their coding courses.
For teens to adults, I really love [url = <a href=“https://learncodethehardway.org/%5DLearn”>https://learncodethehardway.org/]Learn Code the Hard Way. It’s much more fun than it sounds actually!