Hey there! I am finally serious about coding and it seems as if I’ve hit a roadblock.
First, let me state that my attention span was heavily maimed by video games over 10+ years. Even though I don’t play games anymore, my mind does not really like reading text.
Even though I have made progress on taming my mind to actually read the text and not skim scan it (should have never played mmo’s while I was young, too many text to skip and too many video action to enjoy) while completing free code camp challenges, I realized that I actually forgot some of the definitions made within those challenges.
Example: I am not really sure how I should reference an id attribute on style element, was it . or # ?
And I am about to complete CSS flexbox challenges.
I plan to do w3 schools exercises of HTML and CSS before responsive design projects, in order be sure about learning what is necessary (definitions etc.)
Did this happen to you as well? Is it because I am not really familiar with the terminology or is it just way too new of a subject for my mind? Or is this about difference between deductive and inductive approach of teaching?
Sorry for the long post, just wanted to know how you people got over this if you have had faced with a similar situation.
When you first started playing video games, were you great and dominate everyone? My guess is probably not and that it took lots of practice to get better at each game. Sometimes you might have forgotten about a special move you could make with the controller and then had to Google it to find out how to do it again.
The same thing applies to programming. You are just going to have to practice writing code and when you come across something where you can not remember the syntax to use, you just have to look it up. The more you practice, the less you will have to look up the things you use the most.
All of us have things we look up from time to time. This is especially true when trying to learn some new feature of the language or a new library.
Just stick with it and at some point you will wonder why you ever struggled to remember certain things.
And beauty of FCC website, it resets those codes in challenges you’ve passed before, if you go to curriculum back. That allows me to redo the challenge on my own again. Though I’ve done it so many times, I still have doubt with flexbox, grid, animation, @media rule, bazier-curve and so many things. However, I have passed the challenge and went forth but I go back in those challenges (even if I know the solution). And now am going even slower because I am looking into solutions from Hints and trying to understand (there are upto 4 different solution from different approach sometimes.). Hope doing this might help you too. Otherwise, may be more or less than how much you memorize but everyone has problem of forgetting things overtime (human error… lol).
This post is very short by my standards no worries
There are a number of things I don’t even try to commit to memory. Things like some API specifics, and CSS definitions. I personally rely on tools such as TypeScript and powerful editors like VSCode to take some cognitive load off of the exact specifics of how to do something, so I can focus on the general idea behind doing it.
I have a terrible memory, to the point I really never try to memorize anything, because its a lost cause. When it comes to learning by reading something it isn’t about remembering the text that you read, rather its about remembering the concept in general. What I mean by this is if your learning something, like how “CSS selectors work”, its less about remembering exactly how you do it, rather its about remembering you can do it, and knowing what it is called. The reason for this is simple, if you can remember the term “CSS selectors” then you can get all the answers you need leveraging Google. (or any more specific resource like mdn)
Looking up everything isn’t very practical, its great for a refresher for something you don’t usually work on, but for things you work on daily, you will naturally start remembering something the more you use it. The best way to remember something is to simply practice practice practice. For example, I’m sure you don’t need to Google how to tie your shoes every time you need to put them on.
Finally I want to point out that learning HTML and CSS is very much about understanding the available standard that defines both languages. Both are pretty expansive, change for each browser (and can even change for each version of the browser), so don’t expect to learn everything or expect to. Its very possible you will need to learn different techniques for what you want and that is all.
I play a lot of video games as well (Nintendo Switch is my current obsession) though I am not sure if it affects my attention span to a significant degree.
With that said, I do have my frequent bouts of weak attention span and most of the time it’s because I’m intolerant of boredom and frustration from doing something difficult.
What I find useful is to work in short bursts and one famous technique for this is the Pomodoro. At times, I can’t amass enough concentration and motivation to do any work so I might do work for a measly 5 minutes. After those 5 minutes, most of the time I find myself more attentive as I’m riveted by the things I do so I work longer. If not, oh well, I’ll have a break and try another 5 minute work session later.
For remembering stuff, I think it’s okay for you to actually forget things. That’s a sign that you just need to get back to the source material and read again; that’s a fairly normal thing to do.
Though, some concepts just don’t stick well so you might want to resort to more than just reading.
Doing projects that require you to specifically use concepts you just learned can be a good start; with that said, you’ll need to plan your projects because sometimes we think our the projects we are doing helps us to improve our skills but the reality is we’re only picking something we’re comfortable with and never go beyond.
And projects require reading too but it’s not full-on reading since you’ll be coding too; maybe that’s a better fit for your learning style.
For certain theoretical concepts - eg. the workings of the JS engine, closures,etc - flashcard works great. Flashcards work even better if you mix in practical activities.
Repetition is the key here and ideally, the repetition materials should be varied.
I’ve just realised that I’ve been rambling so that’s it for now. Hope that helps.
i also have that problem sometimes, that’s why i write down notes on my computer so i can go over it if i forget something, even if you’re not good at taking notes you should at least try , trust me it really helps, you can write something like: you reference an id attribute on style element with # , just really simple notes to remember . Practise also helps , in my free time i try to use what i learnt , i made an HTML file just to stylize it with CSS and just screw around with it for fun , it helps remembering what i did in the challenges since i’m actually using it.
I used to have this habit of not trying to memorize mathematical formulae when I was at school. What I used to do is practice from the example and exercised in the textbook which uses the particular formula. Later, it is set in my mind. Same can be applied (with the note taking part included from @wiwita63) and it will come to you as if it is your instinct. Or even download cheatsheets and go over it while making different project.