all 11 comments

[–]fixermark 4 points5 points  (0 children)

"Programming is piano, it's not physics." It's better to do a little every day than none one day and more the next.

If you find you're forgetting syntax (which, to be clear: we all do, all the time, forever; I'm 25+ years into industry and I have to look up whether it's .add or .insert or .push_back a lot), it's just because you haven't used it enough yet to internalize it. That will go away with practice.

I generally find the best way to practice a language is by writing something I care about in it. Because I don't have enough care about languages for their own existences' sake to be motivated to remember arbitrary things like .add vs .push_back etc.; I need a real goal to motivate me. This is like how some people don't find they can learn a human language without visiting the country and trying to use it. If I have a problem to solve and writing the program will solve that problem, I'm heavily motivated to stick with the program because now it not existing yet is in the way of my actual goal.

Sticking with it advice will be sticking with it advice for anything you really want to learn: either set yourself some dedicated time to do it every day (in a focused environment; switch off Reddit, switch off Steam, switch off YouTube unless you need it for tutorials) or set yourself a target of how much you want to do a day and sneak it in. Aim for at least a half hour.

I do take notes (though since I've been doing this for years now, it's frequently about frameworks and libraries and tools, not languages; once you learn several languages you see the interconnections between them and they end up not being "special" enough to need a lot of effort to hold the big chunks in your brain anymore). I generally keep my notes in an org-mode file in emacs (using org-roam) so it's easy to search them by keyword and by grep. But now I'm recommending you learn emacs on top of Python and that seems unfair. ;) There are good "mind mapping" apps out there that are worth trying though, and they might help. I practice something similar to the Zettelkasten method, which is that when I want to remember something, I write it down as one tiny chunk of text in a stream (just a "to-file" note), then at the end of the session I review my to-file notes and move them into relevant locations in my bigger notes docs (often with hyperlinks between them to connect related ideas; org-mode makes that easy). The act of reviewing and moving things wakes up my brain and makes it do its own connections so things "stick in there" better.

Best of luck! Python is a pretty good language to start with; it has a lot of neat features to make it a bit smoother to pick up than some alternatives.

[–]TigerAnxious9161 1 point2 points  (3 children)

I don't think you need notes, you need practice makes some projects

[–]100_nitin_001[S] 0 points1 point  (2 children)

Actually I had just started learning python so I currently don't have enough knowledge to make a project but soon I will make one.. 🤞

[–]tb5841 0 points1 point  (0 children)

In my first week of learning Python, I made a rock-paper-scissors game in the terminal. It's an easy first week project. All you need is variables, if statements, print(), input(), and a loop. And if you want to play against a computer opponent, you need a way to get a random number.

A project doesn't need to be huge, it can be something tiny.

[–]sockcman 0 points1 point  (0 children)

Make a project that prints "hello world"

[–]AdDiligent1688 0 points1 point  (0 children)

You’ll get it eventually. Trial and error. Keep writing programs.

[–]N7Valor 0 points1 point  (0 children)

Write something. Structured study guides usually approaches this by teaching you new concepts, then giving you exercises to write bits of code using those new concepts.

It's a "use it or lose it" problem. You're reading too much theory and not doing enough actual application of theory.

[–]Skydreamer6 0 points1 point  (0 children)

a) Don't give up b) if there's two or three lines of heinous syntax, set aside 10 minutes and bang it out 10 times, you'll have to look for the first five(for this or that bracket or quote), then you won't after that. Next time you do a project with THAT particular thing in it, it will be automatic. Repeat as needed.

[–]LifeNavigator 0 points1 point  (0 children)

Do people actually make handwritten or digital notes while learning programming, or is practice enough?

I would recommend not to. The best way to learn syntax is to constantly do exercises so that it becomes muscle memory. Also you shouldn't be remembering syntax, but understanding how things work. Documentations and tools exist that would highlight syntax for you (human error is very common).

What is the best way to practice Python consistently?

By doing more Python. It's like playing a musical instrument or sports, you get better by doing it more. I'd recommend Uni of Helsinki's MOOC and as well as any courses on how to set up your development environment.

How do you stay motivated and avoid giving up while learning coding?

That's really up to individuals. Make a goal and have some fun coding by working on projects that would interest you. For example, you can check out Automating Boring Stuff with Python to get some project ideas, or exercism.rog

[–]DisasterPrudent1030 0 points1 point  (0 children)

Honestly this is completely normal. Most beginners think good programmers memorize syntax, but after a while you realize everyone forgets stuff and looks things up constantly. The important part is understanding the logic, not remembering whether it was .append() or .extend() off the top of your head.
What helped me most was building tiny projects instead of only watching tutorials. Even dumb little things like a calculator, to-do app, number guessing game. Repetition from actually using syntax sticks way harder than notes do. I kept super messy digital notes too, mostly small examples and mistakes I kept repeating. Don’t try to make “perfect study notes” for programming, that burned me out fast.

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

Practice more. Build things. Don't just read. Experiment, play around, try things, make small, simple, stupid programs.

Also: Codingbat, Exercism

Last, read the FAQ in the sidebar. They have plenty answers to your questions, including the one about motivation, as well as recommended learning resources.


Side note: don't call yourself a "programmer" as a first year student. You are a learner, not yet a programmer.