How to learn --

Hi, guys. I’m fairly new to the freecodecamp. I did the first sections in HTML and CSS, Bootstrap and jQuery. It all made sense but seemed to fly in one ear and out the other, so to speak. When I got to my first project, the tribute page, which I was really looking forward to, I found I couldn’t really remember some of what I’d learned so far. I’m thinking about going back through the lessons and this time take notes - writing out notes has always been the best way for me to process and remember information - before starting the portfolio project. Any other tips?



I can’t stress note taking enough. I still have an old notebook filled with HTML notes from back in the day. I don’t know, it’s something about rewriting the topics in your own words that just helps it to sink in better. That and repetition, I know “Practice, practice practice” might sound cliche but there’s truth in it. You might not learn every line of code by heart but you’ll at least do it so many times that the basics will become almost muscle memory. And with the rest, well there’s always your notes and google for that. There’s nothing wrong with looking stuff up, especially if it’s something you haven’t worked with in a while.

My advice is, go back over it and take notes and then do your own mini projects. Get your hands on a text editor (one with syntax highlight is awesome, I personally love Sublime 2). Start with HTML and work your way up.

Like make a menu out of an unordered list, now add some basic styles to it with some simple CSS. Boom you’re done. Next do something with paragraphs and images, play around with floats, text alignment, font sizes, responsiveness.

You can get a stronger grasp on document flow and how block level elements play with each other. How does relative and absolute positioning change the flow? How do floats change it?

How do I center 3 divs horizontally on the page? How do I make them all the same height regardless of the content in them? Stuff like that.

The more you mess around, the more you’ll not only remember it, but understand how to use it.

Another handy thing to is you can take any website and try to remake it. I would say start out with something simple and clean and work your way up, but it’ll give you a good idea what goes into making something like that. And don’t be afraid to look at the source code (or under the hood as I like to call it) and see how a page tics.


The single best strategy I’ve found for learning pretty much anything is to explain the concept you’ve learned. Talk out loud. Ask yourself questions, and find the answers if you don’t already know. I have a few that I ask almost every time, but you’ll likely think of more:

  • “Why does this matter?”
  • “How could this be done differently/Why are things done this way?”
  • “How does this differ from {similar concept}?”

Writing helps, and I like to put these questions into my notes. They’re not all always applicable, but most of the time they are at the absolute core of my understanding. In fact, if someone on the forums here or elsewhere has a question about some programming concept (or anything, really), I find that going to the questions can help clear up their confusion.

Keep in mind that you’re going to be confused and lost every time you learn something new. Embrace it.


A lot of stuff I’ve read about coding specifically says to type out the full code…

On a similar vein to what you post yourself: there were some studies I read in adult education a while back that suggested writing (the physical act) actually improves recall. Something about the kinesthetics of it. This was in comparison to typing…

…although I’d be interested to see if that is still so in 50 years when everyone only learns through videos or some kind of direct AI neural download and typing and cursive is the secret language of the mystics or sumptin’.

In anycase, focused learning is key. Actively engaging with the material. And doing what works for you, and doing it regularly (daily… or in some regular pattern rather than periodic cramming) etc etc

I posted in another thread a bunch of links about some of this here

keep at it, you’ll get there…

I second @PortableStick regarding explaining a new concept. Honestly sometimes I just stop for a second to explain it to myself. Huge help.

Writing some things down with pen and paper helps me too. It’s also much faster to draw little diagrams etc that help my mental model of the concept. Even code examples. Sometimes I write them rather than typing because I can draw arrows and cross stuff out and illustrate to myself what’s happening.

What you’ve described is a pretty classic scenario. People go through tons of courses and feel great but when it comes to the point of a blank text editor and making something - the mind blanks. Break your project down into smaller chunks that are less scary and start chipping away.

I’d really recommend a course like this: that will give you some insight into learning, focus, attention and all that. It will help you understand the best methods for you (because everyone is different), the value of breaks, changes in focus… It says 2 hours a week but I’d say that’s a high estimate that includes a lot of perusing the discussion forum.
It’s free unless you want proof you did it, so you’ve go nothing to lose and so very very much to gain. :slight_smile:

1 Like

I use a diffing learning algorithm comparing what I know with what I need to know, recursively, during which I archive notes of necessary inputs for command retrieval.

Most of what anyone of us know about anything at all in the world comes from repetition one way or another.

Repeating the same thing over and over again to stretch your memory doesn’t sound like fun but it feels very rewarding when you notice you can understand a concept with your memory alone.

In FCC this is really simple. To refresh your memory every day. Go to the map > Front-end Development Certification. and pick a random exercise from HTML and CSS. Without looking at the code click the reset button and do the exercise again. Next jump to the next section Responsive design with Bootstrap and again pick a random exercise, and so on. This mean that very time you get a taste of things you worked with before but need to stretch your memory and conceptual understanding just a little bit more.

1 Like

Great tip! thanks for sharing…

Thanks for your recommendation Unabashedley.:smiley: