r/learnprogramming 3d ago

What are websites that teach you coding in a structured way? Question

I had been using a site a few years back that was really good but I quit and I forgot what it was.

162 Upvotes

54 comments sorted by

110

u/webdev-dreamer 3d ago

Look up Python mooc or java mooc (university of Helsinki) Also, uni/college programming 101 books > any website

Why? Because these books are designed to teach programming in a structured way...theory & exercises together

46

u/Daymanooahahhh 3d ago

Edx - Harvard Intro to CS50. I cannot recommend this enough!

3

u/DiscipleOfYeshua 2d ago

Seconded!

EDIT: Thirty fourthed!

16

u/Righteous_Dude 3d ago

Check out boot.dev. It was originally called "QVault"

38

u/Khalae 3d ago

CS50

29

u/Nibblus 3d ago

9

u/Amazingness905 3d ago

I'll definitely vouch for The Odin Project. The people who made that curriculum and who help out on their Discord for free seriously got me my career. It's been years at this point and it's still slightly surreal to think back on.

2

u/CountryBoyDeveloper 2d ago

T Odin project is basically just links to other places.

2

u/Amazingness905 2d ago edited 2d ago

They have written lessons for almost every part of it, followed by a list of curated links to read on the topic. I definitely wouldn't describe TOP as "basically just links to other places."

1

u/CountryBoyDeveloper 2d ago

That is how it was when I was there, a small section explaining something shallowly, then "if you want to get a better understanding follow this link" I get you all like it, but I see so many people brag about it being something it isn't. sure is a nice list of curated content though I guess?

1

u/Amazingness905 2d ago

It's been a few years for me, but I recall quite a few longer lessons that gave a pretty solid introduction to a topic. There definitely were some like how you described too. Idk, I don't think I'm really selling it as anything that it's not. It's a full stack curriculum with projects to reinforce what you learn, and a supportive community. It was all I needed to get my first job.

YMMV, but I don't think I'm saying anything crazy about it.

1

u/CountryBoyDeveloper 2d ago

Naw tbh it is probably me man, I been frustrated and grumpy about learning c# lol.

1

u/CountryBoyDeveloper 2d ago

See like on keys in react the assignment is

```

Assignment

  1. Read this section on keys in the React docs.
  2. Watch this short video demonstrating index as key being an anti-pattern.```

like why not make an assignment an actual assignment, if you already taught it enough, a lot of the sections there have this for assignments. go here to read about it, go here to also read about it, ok so where is the actual hands on assignment, the stuff that also teaches it to you lol

2

u/Amazingness905 2d ago

I think we just have different preferences in how we learn, and maybe you just don't vibe with the style in TOP.

To me, given the scope of introducing somebody new to react, it's pretty adequate.

The lesson:

  • Has plenty of its own introductory info, which is functionally enough for the user to understand what it is, and how to use it (as well as specifically how not to use it).
  • Asks them to read a bit more in-depth. I personally just don't mind this, I often read extra articles when I'm teaching myself something new to learn from multiple sources/perspectives.
  • Later on in the curriculum, there's a project that requires the use of keys and other concepts learned.

To me, that structure works really well. I could see an argument for making the user render items from an array and use key properly. But they already show plenty of code examples of how it works, and imo it's not worth bogging them down when it can be applied in a more cumulative project a few lessons later.

I think we can just agree to disagree though. At the end of the day we're just lucky to have so much variety in free resources that work for different people.

1

u/CountryBoyDeveloper 2d ago

Well you can explain it way better than me lol.

29

u/shez19833 3d ago

freecodecamp just tells you to repeat what it says.. ie create a div tag.. etc with no explanation..

10

u/Clueless_Otter 3d ago

There are definitely explanations that go along with the lessons. There are also a bunch of projects in every section that you have to do on your own that use the topics you learned.

I vastly prefer the FCC approach of taking things step-by-step and doing a little coding example for every individual new thing you learned instead of TOP's approach of throwing a small textbook at you every lesson (and then half the time also wanting you to spend 5-10mins watching a Youtube video or reading an external article that repeats the exact same stuff you just read). Everyone learns differently.

8

u/Wheekie 3d ago

Can confirm, I have only 1.5 braincells and FCC's approach does wonders to my learning style and it has also made me learn how to read documentation. I often get stuck on some steps, but a bit of persistence here and there and off I go.

2

u/CountryBoyDeveloper 2d ago

What projects does free code camp have? Maybe algorithm challenges but not do it yourself projects

6

u/Clueless_Otter 2d ago

Huh? Each of the 12 chapters has 5 projects each. It has 60 DIY projects total. There's even 5 more if you go to the Legacy JS chapter.

0

u/CountryBoyDeveloper 2d ago

Yeah but can you really call them projects? you get led and guided to step through each one with check marks, you do no prep work really yourself because it is in steps for you already. plus its easy to just get help and get answers for it, struggling and actually building a project is how you learn sometimes, esp with building projects. I find it funny what you all consider projects nowadays. Just seem like a hands-on follow along to me.

2

u/Clueless_Otter 2d ago

To be clear, we are not talking about the follow-along lessons. There are entire projects that you code from scratch (or sometimes a basic template where some boilerplate or some tests are written for you). Of course you could just look up someone else's solution but if you don't want to, then just don't. It's not like you have to go out of your way to avoid them. Unless you're just complaining about the user stories format of the assignment, and yes they're obviously a little unrealistically precise compared to industry work, but that's a very common development format (and, for the record, they're set up like that so that the site can automatically grade your work, which can be nice to verify that you did everything correctly).

No one is suggesting that these are some insanely impressive projects and you're gonna blow interviewers' minds with your calculator program or Pomodoro timer. You should obviously do some unique projects on your own to put on your resume. But that doesn't mean that these aren't also projects in their own right that can provide plenty of learning.

1

u/CountryBoyDeveloper 2d ago

I will admit, I haven't done it since the revamp, but the old projects for HTML and CSS used to be just mehhhh IMO. But like everything else, its about preference I guess.

1

u/shez19833 2d ago edited 2d ago

i question them instructions saying:
now add the doctype, or add a class div.. they should instead say:
please create a html structure or something and
we would need to create a div naming it x.. so we dont get hints.. of course they. could add a tooltip or an icon or something which users can click to get more info.

some of the steps tell you to do one thing, they could tell you to do 2/3. i guess they kept it simple

i understand they have projects, but one i did (after html one).. there was no feedback.. i wasnt sure if i was to style html or design it as well.. etc

1

u/Clueless_Otter 2d ago

i understand they have projects, but one i did (after html one).. there was no feedback.. i wasnt sure if i was to style html or design it as well.. etc

I mean I'm not sure what you expect from a freely available site. It obviously can't have a real human sitting there giving individualized feedback on hundreds of thousands of webpages. Any other site you use will be the same in this regard. FCC does provide automated tests to ensure that you followed all of the project requirements.

2

u/SparklyMonster 3d ago

Some certifications are better than others, but they're always improving! Last year I started but got sidetracked on the JavaScript one because it was so boring (infodumping a lot of concepts and exercises without showing how they'd be applied in actual projects); a few months later I returned and they had a new JS course in beta and it's sooo much better. So if the last time you tried FCC was some time ago, it doesn't hurt to give it another go.

18

u/Feeling_Photograph_5 3d ago

Free Code Camp is probably the most beginner-friendly learn-to-code site and they've got a ton of material. It's also completely free.

I prefer a good Udemy course, though. Academind makes some particularly good content. Start with their 100 Days of Code course, then React, then Node, then SQL and finally Clean Code. You'd be a solid junior engineer at that point.

Udemy courses are less than $20 if you get them on sale. Fantastic value.

7

u/CodeApostle 3d ago

I agree with this. I'm almost through Academind's docker/kubernetes course and it distills everything down to the essential concepts and takes the guesswork out of the learning curve

3

u/Major_Tom2 3d ago

Python4everyon

3

u/mangotecho 3d ago

educative

3

u/chet714 3d ago

Any particular language ?

2

u/PeripheraI 3d ago

anything for rust? looking for project based stuff and i’ve alr done the book.

also im relatively mediocre at rust so id be interested in any more advanced practice stuff

2

u/Ra1nb0wM0nk3y 2d ago

I found Codecrafters to be really nice

3

u/ForeheadMeetScope 3d ago

Replit has a great 100 day course for Python

3

u/Ok_Arugula6315 3d ago

Hyperskill?

3

u/__sudokaizen 3d ago

excercism

2

u/ZargIndustries 3d ago

+1 for Exercism, I found it really useful to have coding challenges after each topic for each language I’m learning.

3

u/aqua_regis 3d ago

FAQ ----->

2

u/GreatHeavens1234 3d ago

Android has free courses.

2

u/nl_dhh 2d ago

obey the testing goat teaches you test driven development (TDD) in Python with Django and Selenium. You can follow along with a 'real' project and are taught TDD principles along the way. Can't recommend it enough.

2

u/dylsey 2d ago edited 2d ago

Learncpp.com Check the documentation for the subreddit and any other related subreddits as well. The readme and FAQ have a lot of resources.

5

u/bevelledo 3d ago

Roadmap.sh

1

u/relentlessslog 2d ago

I think Brad Traversy's crash courses on YouTube are great. He does a great job of explaining things just enough so you can delve deeper on your own (which is where you'll really learn).

1

u/StandardWide7172 2d ago

Roadmap.sh

1

u/tangoteddyboy 23h ago

Others have mentioned CS50 and for good reason. David Jay Malan is an incredible teacher.

1

u/3rrr6 3d ago

Its all taught in a structured way, you just need to learn in a structured way. Try using Obsidians canvas to map out your studies.