Ok I’m going back to be earlier sections to find where I started to have trouble, then I’ll try my best not to look at solutions. If I’m really lost on a question after trying everything then I’ll have to look at the solution.
@am93 I am with you dude! I’m halfway through basic Java and I feel like it is all passing right through my brain. It feels like I’m in a foreign country without anyone speaking English. I’m glad to see your post and all the responses here. It’s helpful for me to see everyone’s advice on progressing through this challenging chapter!
Maybe your problem has been that you were in some kind of a race with yourself. You said that you’ve coded for two weeks and by the look of things, seem to have done a lot, but then, just because you took a breather for two days you are thinking that you’ve lost the flow! the whole period you have invested so far is kind of minuscule in the overall scheme of things when really learning something. It’s not about how fast you do stuff, is how much you actually grasp of what you are trying to learn. If I were in your shoes, I’d go back over what doesn’t seem to be sinching in and read, ask and try it a few times. Normally, when you really “get” something, similar things just seem to become easier.
Everyone is different and for me taking time off was not a good idea. Now I’m returning to review this old material and it’s just not enticing. I liked making progress and now i’s just a dull reviewing that’s lead to my procrastination.
If the curriculum would’ve just offered more problems to practice rather than giving one and expecting me to understand this 3 weeks later it’d be great. If I have trouble with one I’d like to press a button to “practice more like this”. So far I’ve done 200 exercises in js, each is it’s own concept. So 1 practice for about 200 concepts, it’s not enough to learn well.
If the goal is just to do it and it’s ok to learn at a very minimal level and it’s ok to forget 80% of it then I guess this works. But again this goes back to my initial issue of not being able to solve problems because I’m not retaining the concepts.
Honestly, it’s expected that you will forget stuff and need to look things up. That is how software development works. The retention comes from looking up the same thing a few times until you use it enough times that it sticks. Unfortunately, that takes time and lots of practice trying to make stuff.
The goal is not to ‘just do it’ and ‘learn at a very minimal level’, which is why we have the projects. Once you’ve covered the fCC challenges (without copying the solutions), I’d do the projects. Do our projects; do other projects from other websites; make up your own projects. Ultimately, practicing the core concepts of programming by doing things with them is the only way to learn.
The algorithms stuff is the heart of programming - previous challenges are all about syntax while the algorithms are about synthesizing multiple ideas to solve problems. The big idea is that these challenges are prototypes of problems you will run into in various full projects, so it’s important to work through how to solve problems like these well. The good thing is that you’ll keep seeing better ways to solve algorithms problems with more and more practice and practical experience.
Fortunately, we’re here to help if you get stuck. I’d encourage you to reach out on the forum when you hit a roadblock instead of going to the solution.
For problems like these, sometimes just starting to write out what you know and don’t know can be a huge help to moving forward, and we can help clarify murky points in what you write.
(By the way, in case I didn’t say - it is totally normal and ok to be frustrated with this stuff. Code is hard, and algorithms especially so. Frustration is totally normal.)
Ok thanks. I don’t know why it’s hard for me to keep that in mind. It feels like it almost goes against my wiring.
Definitely my issues with solving got bad at the algorithm part. Though I did look at the solutions before that as well after attempting to solve on my own, but with algorithms I couldn’t even really make an attempt. Maybe then I should just redo the basic algorithm section and ask question in the forum?
Yeah, I totally hate getting frustrated even though I know its a part of being a coder. I just want everything to work correctly.
The algorithms represent a huge step up in difficulty. I think its totally ok to ask the forum to chat for some thoughts on where to start. A huge step in making that helpful is being able to start the conversation by saying what parts of the question you understand and what parts you don’t.
If you feel like you understand the basic syntax but are having trouble putting those pieces together for the algorithms, I don’t know if repeating the basic algorithms part helps a lot.
One thing that really frustrates me is the fact that the console gives no feedback on what is happening. or why it doesn’t get the desired result.
All we get is :
“I want these answers, and I’m not getting them.”
when it should be something more like:
“I want these answers, but I am getting these answers. Here’s what I did to get these: …”
debugging is an hard skill to learn, but really useful.
I suggest you start taking the function falls from the failed tests and add them as last line in the editor inside a console.log() to see what’s returned. you can use console.log() anywhere in the code to check what is the values that variables have at that point
That’s something that seems like it should’ve been covered early on.
A full lesson or two on the basic concepts of debugging and proper use of console.log()
sounds really useful at the start of this chapter.
Agreed that would be great. They lightly cover how to use console.log in the debugging course but it’s only used in a minimal way. I’m also curious to get more practice on debugging, rather than just on how to do it on the final line of the code.
But like much of the other content it’s on us to learn after the fact or be aware enough to look it up as we go. That’s my takeaway from combining the helpful advice from @ILM@JeremyLT@ArielLeslie and @jwilkins.oboe – having this community is extremely valuable to me
When I have the time, I try to walk through my mental steps when pointing someone towards bugs in the code. Debugging is hard and can take some time to learn fully. It’s totally reasonable to ask someone on the forum why they knew to look at a certain thing when they are helping you.
There are different tools for doing it, but most of debugging comes down to checking your values at various points to make sure they’re what you expected them to be. It helps you find where in your code things are going wrong.
You’ve probably made more progress than me, so I’m not sure if you’ve tried these step but a combination of these steps has helped me:
Don’t set a hard goal for yourself – make your mental milestones easily attainable then grow from there (2,3hrs coding/day vs 5 solutions/day).
Comment out your mental thought process within the code and post a question using that code to get help when needed. I was hesitant to post many questions but this community is truly helpful. I’ve been posting a lot, as in 90% of questions I need help on…
Don’t look at solutions at all unless you’re certain you’re 95% of the way there and it’s a unique exception (don’t do this even 20% of the time).
Go back and redo sections you don’t feel confident on.
I haven’t gotten to js projects so I guess that’s where the real struggle will be at. It’s definitely tough to not be able to solve much completely on your own and to just accept that as an ok thing. It just doesn’t compute in my brain as being an ok thing but there’s not much else I guess that can be done other than the stuff I listed.