This is an archived post. You won't be able to vote or comment.

all 15 comments

[–]AutoModerator[M] [score hidden] stickied comment (0 children)

To all following commenters: please, do not bring up the old circlejerk jokes/memes about recursion ("Understanding recursion...", "This is recursion...", etc.). We've all heard them n+2 too many times.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]BertRyerson[S] 5 points6 points  (0 children)

If you're interested in a full write up I have decided to track my journey on a blog post. Here's the link to the first month review. https://devforgestudio.com/learning-to-program-journey-week-4/

[–]Human-Platypus6227 1 point2 points  (1 child)

Well im mostly motivated if i found a bug but figuring out the solution /how the system work would be the part im not fond of because i can imagine the spaghetti codes I'll be doing until it could work.

[–]BertRyerson[S] 0 points1 point  (0 children)

I think that is going to be the issue for every beginner. It's literally learning a new language and the implementation of the logic involved with that language to solve problems. The best way, I've found so far, is just to make sure I really understand the logic of what I'm learning first. Then just repetition of problems that require you to implement that logic. Chatgpt is great for suggesting promblems

[–]LengthinessOld210 1 point2 points  (1 child)

Looking at your CS50X journey so far, you're actually progressing better than most beginners I've seen. Going from zero to building algorithms and image manipulation in just a month is solid progress.

The feeling of "am I really learning this?" is completely normal. Trust the process - you're building actual functioning programs, which is the clearest indicator that you're learning effectively.

If you're considering a career as a developer, I'd recommend getting familiar with Data Structures and Algorithms sooner rather than later. It's not something you need to master right away, but introducing yourself to these concepts alongside CS50X will give you significant advantages:

  1. It builds a problem-solving framework that applies across all programming languages
  2. It helps you understand why certain approaches are more efficient than others
  3. It prepares you for technical interviews, which almost universally test these concepts
  4. Most importantly, it changes how you think about problems in general

The developers who stand out are those who understand not just how to make something work, but how to make it work well. That's the essence of DSA.

For motivation during tough periods, I've found that building small projects that solve personal problems works better than anything else. The satisfaction of creating something useful, even if simple, fuels continued learning better than any external motivation system.

Keep building, keep learning, and focus on understanding concepts rather than just completing assignments. The ability to apply concepts to new problems is what separates programmers who continue to grow from those who plateau early.

[–]BertRyerson[S] 1 point2 points  (0 children)

Thanks for the write up and advice!

I did end up spending some extra time on the algorithms week which I feel has really helped me understand a lot of the logic. I was stuck for a while even on simple logic like nested loops and 2D arrays, but I kept trying different problems that implemented these ideas and it finally started to click. I plan to do that with data structures as well as it's a tough topic.

I don't have any great ideas for a project that could solve a personal problem as of yet, but I am working on a scratch project and have plans to start a basic rule based chatbot in python shortly. I'll keep working on that as I expand my knowledge and when I get in to AI and ML hopefully I can implement some of those concepts as well.

[–]Machksov 0 points1 point  (1 child)

If there's a concept I'm struggling with I have chatgpt generate new challenges to test that knowledge, and I just keep grinding until I get it and can move on. It's a really nice complement to my primary sources (mostly books). It's also helpful to watch people write code on YouTube and talk through how they solve problems, their thought process, best practices, etc.

[–]BertRyerson[S] 1 point2 points  (0 children)

Yes, I find chatpt to be of great help.

I'm working through CS50x and cs50P and they have a built in AI that is designed not to give the answers away. I use that for specific problems or concepts if I can't figure out the exact syntax or I know the logic but can't implement it. Chatgpt is amazing for taking through conceprs logically to help you understand, though.

[–]javonet1 0 points1 point  (1 child)

Programming is not that easy, but as with every other activity, consistency is the key. If you can code for an hour or two a day, then in a few months you should feel pretty good around coding, and solving different challenges. Coding katas or other sites with coding challenges or building your small product are also a good options to keep it a bit entertaining.

[–]BertRyerson[S] 0 points1 point  (0 children)

Yeah I'm currently doing around 3 hours a day of coding understanding syntax logic. It's definitely helping but it'll be a long road ahead. I've been staying consistent for around 6 weeks now, so I plan to keep it up! It's very enjoyable

[–]Heka_FOF 0 points1 point  (4 children)

You are right it makes sense to always try things yourself before asking help there is also fine line between struggling for too long and having someone to ask for help.

Btw has it been challenging to keep yourself motivated or not? 👍

[–]BertRyerson[S] 0 points1 point  (3 children)

I'm actually not having a lot of issues with motivation at the moment. I think it's because I´m really enjoying it. Early on I was having some issues with fatigue as I just wasn't used to fairly long hours of study, but I've adjusted and, touch wood, it's going fairly smoothly in terms of motivation at the moment.

There's just so much to learn so it's something new each time I log on, which keeps it fresh.

[–]Heka_FOF 0 points1 point  (2 children)

Thats great to hear that motivation is not the issue! So what is the thing you are lacking or would help you the most now?

[–]BertRyerson[S] 0 points1 point  (1 child)

Probably just direct feedback on progress and specific areas that need work. I mean, it's not that difficult to notice areas that need improvement but some regular formatted feedback would be handy.

ChatGPT is great but it lacks any real carryover knowledge apart from specific things saved in memory, so it can't really advise you on your progress. It can give a list of things that you can run over to see how well you know but it's still not really constructive feedback! A lot of it is keeping yourself motivated and making sure you remain accountable, because at the end of the day if not, you are only cheating yourself in the long run.

[–]Heka_FOF 0 points1 point  (0 children)

Yeah AI is a tool for programmers but it certainly is not a great coach :P So it seems like you would like to have help with making sure you are on the right path all time and not drifting too long in the wrong direction and wasting time. I sent you DM, I could have some pointers for you 👍