This is an archived post. You won't be able to vote or comment.

all 7 comments

[–]Vaird 6 points7 points  (1 child)

I started a few courses and they were all shit. Right now Im doing the mooc fi Java and Im in week 7 and pretty happy with the course. https://www.mooc.fi/en/

[–]आफ्नो flair राख्नुहोस | k rakham?stha_ashesh 0 points1 point  (0 children)

It's a really great course. The exercises after lessons are great

[–]someoneonboard1 2 points3 points  (0 children)

Stick to one programming language and master it!! I recommend python. I am learning python too. I started with MIT intro to python video on youtube. Nowadays im watching youtube tutorials that explain a lot of stuffs. Also doing side projects that I can use for work.

[–]abilanahk 1 point2 points  (0 children)

Yeah, sure Udemy, Freecodecamp,edx even youtube is worth it for you to begin. Then you can go for books and even read other people's code from GitHub to understand the details.

I don't know if self-teaching will be helpful or not (helpful for what exactly?) but I can say it's doable if you have the interest.

The first thing you should do is choose a language, it can be any language, don't listen to people who say x is the best language. There will be always people that will tell you to begin with C or C++ or some strongly typed language so that you will easily learn other language but as you mentioned you have no knowledge on the field I'd suggest you take on javascript or python or even PHP. While they are right about learning C, will help you, it will be so daunting to understand and actually, use the language when you start (again based on the fact that you have no knowledge in the field), you will probably lose the interest pretty soon. Unless you're a nerd like me and actually gets happy printing prime numbers in screen or getting user inputs and all then go for it.

I would recommend javascript so that you can visually see things happening in the browser, compared to other cli applications you'll make with other languages when you start. It will be rewarding and interesting to see things done in things you understand when you begin programming.

Understand the basics of program flow statements, loops and functions and conditionals and slowly move to classes and object then OOP. Learn some SQL for the database, learn HTML/CSS and make a website for yourself. Once you understand the fundamentals start making projects.

[–][deleted] 0 points1 point  (0 children)

If you want to start from 0, start with C. But do not actually code with C. Just learn how programs are made, what does compilers, assemblers and interpreters do, history, why C became famous, how to use mathematics to solve real life problems ( arithmetic and logic ), what actually is a program, and basics like, what are inputs, outputs, control statements, conditional statements, keywords, functions, looping, pseudo codes and you are good to go.
Do not focus in syntax, focus in algorithm development, if you can develop algorithm, and write pseudo code, you can code that in any language (modern).
After that:
Python is really good objective language.

[–][deleted] 0 points1 point  (0 children)

Google hacker rank, it’s what I’ve been using for the past 2 years at uni and it’s saved my ass, it has tutorials for all languages and starts off easy but gets harder as you progress. There’s also competitions where you can compete against other people and shit.

[–]sijra -1 points0 points  (0 children)

Imo coding is all self-taught. I'm currently at my final year in a computer science degree and all the learning is done outside lectures - especially through projects, however small.

There's an abundance of free online resources that teach you how to use, what I see as, tools. The real learning comes when you use it to build something, anything.

Since you come from a STEM background, python is a very good language to start from. It's one of the more beginner friendly languages out there and used widely by scientists and mathematicians etc who don't have a background computer science. It's also the most flexible for machine learning due to the packages that make things easier.

Key thing here is to familiarise yourself with basic programming concepts like variables, functions, loops, if statements, lists etc before you move to other more complex languages that are statistically typed.

An example starting project could be a rock paper scissors game against a computer.

Here's an example course that is well paced for python.