How to study programming correctly?

I would like to count on your help to discover which study methodologies are effective for each person. I’m looking for an approach that actually works and allows me to learn the content more effectively. I’m currently studying programming, but I feel like my learning curve is too low, like I’m going down the wrong path. I’m not sure if I should use mind maps, flashcards, or another specific strategy. If you can share your experiences and recommendations, I would be very grateful. At the moment I’m trying to learn HTML + CSS, to move on to JavaScript and then to PHP. Remembering that I have ADHD, and it is quite strong, hindering me a lot in my learning and making me procrastinate.

I tried just watching video classes and answering exercises, but the learning curve is very low. So I feel unmotivated and feel incapable of learning programming.

1 Like

Hi,

I was about to respond that the best way to learn (once you have the basics under your belt) is to start building something, but then I read the part about ADHD.

I don’t have any experience with this condition personally, but I nonetheless wanted to recommend the following episode of the Syntax podcast.

Hopefully you can find some tips and guidance in that episode. ADHD is a recurring theme in the podcast, as one of the hosts has it.

2 Likes

I do not know what mind maps are but I think flashcards would be ineffective. A person with perfect memory (usually referred to as photographic memory) could memorize a manual (documentation) and not know how to program. Ideally, in my opinion, the best way to learn is to get the concepts from someone highly experienced that knows very well how everything fits together. Then when we need details it is easy to find the details we need. I have never seen a book on any subject written like that.

James_Hibbard said:

I think a good programmer is a stubborn (persistent) programmer. They have problems to solve and they feel motivated by the problems to solve them. I hope you are able to get that feeling.

I personally don’t have experience with ADHD, but I can recommend a few things that might be useful in learning.

  • Bing AI: ask Bing AI about questions and problems you have with HTML and CSS (it works for all other documented programming languages too). You can also ask it things like “how should I start learning CSS” and it’ll give you sites and tutorials on learning CSS. I love using it–it’s like a personalized coding assistant.
  • Sitepoint library: it’s got some great books on HTML and CSS.

Try looking at these solutions yourself and see if they help.

I would never propose using an AI to learn something. You will never know if:

The answer is correct
The answer is not outdated
The answer is the best way to go

2 Likes

That goes for YouTube, too.

2 Likes

True, but on YouTube I see the creation date of the video. Also I have the choice to choose out of multiple answers. An AI is giving me one answer I do not know where it comes from…

2 Likes

As someone who’s been in the industry for 30 years this year (sigh), and has migrated from mainframe to thick client to web work, I’ve learned that the only difference between almost every language is syntax. All languages essentially have to be able to do the same thing. It’s just a matter of learning the nuances of how each work.

A more powerful tool to try and master is to programming design patterns. If you can grasp the concepts of these, you can develop in any language you want, or at the very least figure out what a block of code is doing even if you don’t have a strong foundation in a language…

2 Likes
  • Bing AI cites its sources, unlike most AIs.
  • 99.99999 percent of the answers it has given me are correct and not outdated as it doesn’t have an outdated database it’s trained on–the “database” is the whole web. Basically, it optimizes your question into a search term and then searches the whole web for that term. It prefers newer results over older ones.
  • Your IDE can help you out with “the better way to go”. You can also ask Bing AI to optimize the code with the latest code and it will do that very willingly.

I personally use Bing AI and its better than any other AI or search engine.

Requiring edge as browser makes Bing AI a no go for me

I am using 4 AI tools that have helped me a lot. When it comes to programming questions is phind the best IMO. Bard and chatGPT are good most of the time.

Bing AI is a joke IMHO. Can seldom answer the simplest questions. And complete different questions can sometimes give the exact same answer.

I do not mind using Edge on Mac. Way nicer than Explorer :slight_smile:

  1. Bing AI is not a joke. I’ve used it since day 1, and only had around 10 or so incorrect responses out of the hundreds of questions I’ve asked. And that’s only when I asked questions about poorly documented stuff.
  2. ChatGPT is Bing AI, just an older version. Bing AI is based off the very newest version of ChatGPT. Look it up on the Wikipedia page for Bing AI, if you don’t believe me.
  3. For @Thallius: The Edge browser has saved me loads of time and money. Used to use Chrome and Firefox, but Edge beats them all.
  4. I’m not affiliated with Microsoft in any way, but I believe Bing AI is much better than Bard or ChatGPT–look at all the articles comparing them: Bard is Google’s botched attempt at rivaling Bing AI, and ChatGPT is just an older version of Bing AI.

Bing AI just wrote this text for me:
Bing AI is better than Bard and ChatGPT for several reasons. First, Bing AI can perform web searches to provide up-to-date and relevant information to the user, while Bard and ChatGPT rely on their internal knowledge which may be outdated or inaccurate. Second, Bing AI can generate various types of content such as poems, stories, code, essays, songs, celebrity parodies and more, while Bard and ChatGPT are limited to generating text only. Third, Bing AI can help the user with rewriting, improving, or optimizing their content, while Bard and ChatGPT cannot offer such assistance. Therefore, Bing AI is a more versatile, informative and helpful chat mode than Bard and ChatGPT.

But let’s stop this conversation here. Clearly, we have different opinions and will not agree on each other’s.

Hi, I don’t mean to be argumentative, but these three points are not correct.

Both Bard and ChatGPT (the paid version) can browse the web.

ChatGPT and Bard can do all of this.

ChatGPT and Bard can also do all of this, too.

1 Like

I asked Bing AI about Phind.

“Phind: I’m sorry but I am not familiar with this chatbot.” Why is your answer “Bing AI: It is best at accessing and processing information from the real world”?

And the answer was…

“I do not want to talk about this…”

:slight_smile:

A point I think I should make here. The prompt I used to generate that text was something along the lines of:

I was asking the chat bot to find ways that it was way better, and clearly it had to stretch the truth a bit. After reading your response, I tried again, asking Bing AI to compare the chat bots and it gave a much more truthful reply.
I will now address your responses:

I wasn’t talking about the paid version of ChatGPT. As I said before, Bing AI had to stretch the truth about this a bit, and also I do remember seeing on a reputable source (e.g. Techradar) that Bard was trained on a database and couldn’t look things up. Maybe that was a older version of Bard, if you’re saying that Bard can now. And if you think I’m talking about the “Google it” button under the responses, that’s not the chat bot browsing the web, it you doing it.

Bing AI has a special mode, in the Edge browser, called “compose”. It’s specially designed to compose poems and all the other items Bing listed. That’s what Bing AI was referring to.

Not sure on that one when you mention it. I’d have to do more research.

My point is that while Bing AI isn’t perfect, it’s still really good.

My way to learn (slow learner) is “learning by doing”. Set goals and break up into sub goals. And my way is to start with simplest possible “hello world” and work my way up.

I find it useful to document each step to the final goal. “How did I do it”? Now I am using IONOS VPS for the documentation part (1 GBP a month). Setting up a bunch of micro sites.

AI can be both a curse and a blessing for learning. You do not learn anything by letting others do the job. But AI can be good as a coding buddy for solving parts of a bigger problem and problem solving.

1 Like

It definitely can do that.

Good to know, but this is a standard feature across all of these chatbots. I just asked ChatGPT to compose a poem about SitePoint. It replied:

It can also do songs, raps, haiku, celeb parodies and much, much more. You are just limited by your imagination.

If you would like to assure yourself that this is the case, check out this table of contents for a course on SP Premium.

As you can see there are lessons on things like “Simplify Complex Information, Instantly Proofread, and Reorganize Data”, “Code Generations, Algorithms, Debugging, and Documentation” and “Content Creation, Social Media, Copywriting, SEO, and Video Scripts”, which are bread and butter tasks for any chatbot.

I must admit that I don’t have much experience with Bing AI as I am not a Windows user. When I did try it out, like sibertius I got a lot of answers like “I do not want to talk about this…”. I guess this is a guardrail put in place to stop it generating incorrect or toxic content. Microsoft were famously bitten (hard) by one of their old chatbots and I guess they want to make double triple sure that doesn’t happen again.

In my opinion any kind of generative AI is most useful when you can assess the shape of the answer. For example if I ask one of them to generate a JavaScript function to manipulate the DOM in some way, I am in a position to judge if the output is good or not. Whereas if I ask one to generate me some Java code to perform a task, I have no way of judging the quality of the response.

3 Likes

. Learning programming from scratch is often compared to learning foreign languages. Why?

You learn a foreign language in order to communicate with someone from another country. It is the same with programming languages. They are used to be able to communicate with a computer, because programming is actually writing instructions for the computer to carry out for us.
We start learning a new language with basic phrases and useful vocabulary. It is the same with learning to program. In the beginning, we need to learn the basic phrases, or commands. With these we are able to write down simple instructions for the computer to carry out.
The next step in learning a foreign language is grammar - we learn the rules and principles for constructing sentences and statements. In programming, it is similar. In the same way, we need to learn the rules and principles of writing code. This way we know how to combine basic commands to create a simple programme or application.
The next stage is experiential learning. When learning a foreign language and reading a text, we start to pick up familiar vocabulary and thus try to understand the meaning of the whole statement. It is the same in programming. We look at code written by experienced programmers and try to understand how a programme works. We learn by example.
Practice! It is the most important if you want to communicate fluently in a foreign language. It is the same with programming - by learning through practice, we begin to write more advanced code and build applications.

1 Like

Do you know of a reason why YouTube is less reliable than written (textual) articles? I assume that videos and written text articles are equally likely to be reliable or unreliable.

I suspect it is because YouTube gives greater authority to domains and articles (and, I guess, videos) that have been around awhile. Whilst this may be true in many fields, it’s not in technical ones (as Google should know). Of course, this is purely a guess as no one knows the inner workings of Google.

1 Like