Live data from Hacker News

I will now send this to beginner programmers

headlinedev.xyz

41–50 of 76 posts

Re: I will now send this to beginner programmers

#41

Projects are great but there's a deceptively challenging step in "formulate a small and feasible project idea". It's really hard to come up with a small and feasible project when you're a beginner. First, beginners don't know what's feasible. To a beginner all of programming is computer magic. There's not a lot of difference to a beginner between training a machine learning system for classifying different apples and…

True.

I've seen a lot of beginners (typically those who learn through various YouTube videos and a some online pagess, but not through a systematic guide like a book) having a hard time deciding "what a super simple project" is.

For example: after learning the basic concepts of loop and condition checking, they have no idea how to utilise those in a very simple app. I say "hmm try to write a simple word guessing game... or a simple food ordering app". Usually you'll find various exercises provided in such books.

Re: I will now send this to beginner programmers

#42
> I don’t think anyone would disagree that actually doing a task is the best way to learn more about it.

Eh, for me, reading would be my 90%. I have almost a photographic memory for anything I read.

Audio-visual, demonstration, and group discussion are absolutely my worst ways to learn anything.

Practice by doing would be second to reading for me. Teaching others is helpful once I have read up on the subject, but is abysmal if I’m not already almost an expert on the subject.

Re: I will now send this to beginner programmers

#43
As a beginner programmer currently learning Django, the biggest challenge I have is working out how to structure data models (E.g what should be a separate model that is referenced with a foreign key, vs just a field, or a sub class etc)

Does anyone have any recommendations for learning good practices when designing these models?

But also not super academic data structures etc

Re: I will now send this to beginner programmers

#44
post #43

As a beginner programmer currently learning Django, the biggest challenge I have is working out how to structure data models (E.g what should be a separate model that is referenced with a foreign key, vs just a field, or a sub class etc) Does anyone have any recommendations for learning good practices when designing these models? But also not super academic data structures etc

That’s definitely a data modelling learning topic and not Django. (You just use django to implement your design decisions)

I’m on mobile so can’t easily locate specific recommendations but if you Google data/database modelling/design, normalization etc you should find a wealth of info.

Re: I will now send this to beginner programmers

#45

> Now, to be clear, nothing about this model is scientific, [...] This one always gets me. I've been trying hard these days to give better, clearer, more actionable advice to beginners who want to learn how to program. I think, at the most basic level, we understand that our estimation of how much we learn from some particular teacher/course/method is wildly inaccurate, and it's a poor way to assess how effective tha…

I suggest reading the summary of

https://www.semanticscholar.org/paper/The-Learning-Pyramid%3...

which I was pointed towards by

https://theeconomyofmeaning.com/2016/07/08/an-update-to-the-...

Re: I will now send this to beginner programmers

#46
If you’re spending your time reading programming resources and following tutorials directly, regularly checking against a guide to ensure your program matches the example, you’re almost surely doing yourself a disservice. Your success in following a guide lies in your ability to grasp the concepts, not to type a working program.

i like tutorials to give me a starting point. when i want to build something that i don't know how to do from scratch i look for a tutorial that builds something similar, and then start making changes until i get the result i want. that's where the learning happens.

Re: I will now send this to beginner programmers

#47
I mostly agree with this, but there's one thing missing: beginners find it very difficult to come up with good projects. Just yesterday someone asked me for resources to learn how to write an operating system. It turned out he barely knew what a pointer is.

Doing stuff is the best way to learn, 100%. But recommending interesting and simple stuff to do is a huge help. Since they don't quite understand computers, they also don't quite understand the complexity of different things. I remember what kinds of things I wanted to do as a beginner, I thought I could do it all.

Also, a quick note: it would be great if you'd support prefers-color-scheme, my browser is set to light but I'm reading this in dark mode, which is harder for me.

Re: I will now send this to beginner programmers

#49

> Now, to be clear, nothing about this model is scientific, [...] This one always gets me. I've been trying hard these days to give better, clearer, more actionable advice to beginners who want to learn how to program. I think, at the most basic level, we understand that our estimation of how much we learn from some particular teacher/course/method is wildly inaccurate, and it's a poor way to assess how effective tha…

Actually, there is a framework used in education. I learned about it when teaching foreign languages.

It is about how to structure a unit about any given topic:

1. Presentation/ Introduction to the topic with examples 2. Explanation 3. Verification that topic was understood in theory 4. Practice with isolated exercises 5. Transfer new knowledge to personal context

So lectures, articles and such can serve as an introduction to a topic. Step 3 is difficult when learning on your own. I would suggest the Feynman method here. If you can explain it, you understood.

Then look for exercises. Tutorials are great here. Try to solve it on your own, then look at the (possible) solution.

Then lastly, go and using it in your own context, outside of a tutorial, will solidify your knowledge.

Re: I will now send this to beginner programmers

#50

Projects are great but there's a deceptively challenging step in "formulate a small and feasible project idea". It's really hard to come up with a small and feasible project when you're a beginner. First, beginners don't know what's feasible. To a beginner all of programming is computer magic. There's not a lot of difference to a beginner between training a machine learning system for classifying different apples and…

Overscoping a beginner project is completely harmless. The worst thing that can happen is that you get stuck along the way and realize that a feature is much more difficult or out right impossible. You then cut that feature or give up on the project if you've sunk enough time into it. Fortunately, actual delivery of a beginner project is pointless. The only point is to learn by doing and you accomplish that regardles…

I disagree - a beginner who gets stuck for too long is very likely to give up trying to learn.

Yes, the learning comes from failing and eventually understanding. But that doesn't _feel_ like progress, what feels like progress is completing stuff and moving on. And if it doesn't feel like one is progressing, the incentive to continue is reduced.

Post reply on HN