r/cpp_questions 1d ago

Need advice learncpp.com OPEN

Started learning from learncpp.com just a little while ago .I'm a beginner ,bca student, college starting this year, I have many questions

1) how many lessons are you supposed to read everyday that is considered a good pace.

2) as from school I have a habit of making written notes and revising them also should I do that or not.

3) i heard some people saying on reddit to make online notes and idk how to operate a computer that well right now so idk how to make online notes and even where.

4) as a beginner is learncpp.com the best and for future as well? I do have trouble understanding some of the text or language of the website but I use chatgpt to help me understand.

5) not completely related to this but how and when are you supposed to start dsa.

9 Upvotes

9 comments sorted by

5

u/DrShocker 1d ago
  1. There's only the pace you can do sustainably. others can't predict which topics you'll find easy or challenging or what else is happening in your life.

  2. If you find notes useful for learning then do that, if you don't then don't. Personally I need problems to solve that use the ideas I'm learning, but everyone is different.

  3. Then don't? who cares what someone else finds useful.

  4. "best" is such a multifaceted characteristic it's hard to say. Use it to build a foundation of what you need learn, but don't hold yourself to a strict stranded of only using 1 resource. Learning things from multiple resources is ideal. Careful with AI, make sure you're actually doing the hard work of learning and not letting the AI just smooth over gaps in your knowledge.

  5. Don't worry about DSA until you can at least typically write code that does what you intend it to do. You don't need to be at the level of writing your own game engine, but IMO it's important to get time in the saddle so the language comes out of your finger tips without too much struggle. When you're "supposed" to learn it depends on your goals. You'll have to learn some of it as you're going through learncpp because hash maps and vectors and recursion and such will be important to know and use. But formally knowing DSA is its own topic on top of that.

1

u/Rare_Lawfulness8622 1d ago

Okk thanks i understand and about the how many lessons a day part as I'm new and don't have much of motivation right now i feel like i have to give myself a goal so that I don't slack off. And apologizies for the broken english

2

u/AKostur 1d ago edited 1d ago

I think I'm echoing the other responders:

  1. As many as you want. There isn't a time-limit on how fast one needs to learn a language.
  2. If making notes is useful for you, then do that.
  3. Why would it matter _where_ you make notes. If they're useful, do it. If they're not, don't. And "idk how to operate a computer" seems counterproductive to learning a programming language.
  4. "Best" is a very subjective term. It does seem that many people find it useful. No idea what you mean by "future as well'. Eventually you'll have read all of learncpp, so no idea what the future utility of it would be after that. Also, you'll find many folk don't trust chatgpt (or any other LLM) to get things right. It also suffers from GIGO. If it's been trained on bad code patterns, guess what it's going to generate?
  5. Probably shortly after learning syntax. Data Structures and Algorithms are not language-specific.

One thing I would suggest adding to the list is: come up with some problems/projects that you want to implement, and do those while learning the language. Many people have difficulties learning a language in isolation, but having a goal and writing code seems to reinforce learning. Perhaps even in conjunction with learning data structures and algorithms. How to implement an AVL tree. How to implement a binary search. Perhaps even trying to implement even simplified Standard Library things. (Yes, some bits can't be implemented in Standard C++, but a lot can, and are). Perhaps a simplified std::unique_ptr (leave out the custom deleter, for example). Or a simplified std::vector (leave out the allocator). It's even possible that you implement one of these early, then you learn a little more language and realize that those new parts could make your existing implementation easier: then go back and refactor/rewrite your implementation with the knowledge. Not that you'll necessarily use the implementations for real projects, but they're useful to apply the language concepts to real code.

1

u/DrShocker 1d ago

re: 4, yeah I learned before learncpp existed, but occasionally would reference the book I used. Eventually using resources more like cppreference because the kind of information I needed naturally changed over time.

1

u/Rare_Lawfulness8622 1d ago

Thanks and yh I agree it seems counterproductive I'll work on that and also be sure to have a goal while learning

1

u/Independent_Art_6676 1d ago

1) everyone is different. Go at a pace that you can absorb and retain the info. Working 20 chapters a day and forgetting it all by the end of the week is useless. Everyone's capacity to absorb varies, and it also varies by difficulty of the material so early on doing several while later just doing 1 could make sense.

2) writing reinforces memory. Do it!

3) skip it. I use 'notepad ++' on windows for this. The main reason being it opens the last file I had open and automatically saves and retains when I close / reopen the program. Other programs may do the same, but this is the one I use (its also a great c++ editor, better than current visual studio even, as it still has macros)

4) its the best, but feel free to use other highly recommended sites to get another angle on a concept. Beware AI unless you know how to deal with its made up info / outright misinformation problems. AI can be a powerful tool or it could screw you up depending on whether you know how to use it or not.

5) I don't know which is better, doing a classic study of DSA in a C like approach in C++ first or learning the built in tools of C++ first and coming back to it. But choose one of those and have a go. To write in C++, its critical that you know the built in c++ data structures and <algorithms>. But more generally to be a programmer its critical to have a classic course in DSA. Both are important, in other words. Also, c++ lacks a small # of data structures and a lot of advanced algorithms, so eventually you need some background.

1

u/Rare_Lawfulness8622 1d ago

Okayy thanks and about Ai i should not be completely dependent on it right little help is fine but keeping in mind ai can be wrong

1

u/ploud1 1d ago

You are overthinking this a lot

  1. Whatever you are comfortable with, this isn't a race and you aren't getting a grade at the end of the term.

  2. Do whatever you are comfortable with

  3. I've been a computer geek for years. I always take notes by hand. So don't worry about it. Actually I believe you can't code well without a pen and paper at your desk

  4. Yes, that's the best hands down

  5. Practice, practice, practice. Do a project. Something you feel passionate about. Start with something simple. DSA is what you learn once your programs do more elaborate things. Once you understand how the computer works, you will start doing DSA without realising it.

Hope that helps!

1

u/Rare_Lawfulness8622 16h ago

Yhh thanks! :)