Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

How to Actually Learn?

I feel like I'm not learning much just watching the videos and writing code in workspaces. I have another text editor, and I guess I could use it somehow, but I don't know how? What is a good way to learn programming? I keep forgetting almost everything in the videos.

6 Answers

That's natural David. You will forget things, but you will also retain a lot too. What you will retain is a way of solving algorithms and a mindset that will carry with you for the rest of your life. If you want to really learn I would recommend maybe a data structures and algorithms book. The Language really doesn't matter, but Java or C is probably your best bet. After you have the basics down I can recommend a few routes to take based on what you want to achieve. Its not simple David, but you will get there. You don't need to know every word in the dictionary to write well, the same goes for programming. Don't sweat the syntax. Also, Notepad++ is probably the best text editor for beginners. Cheers!

Hey David,

My advice to you is to practice writing code outside of the Treehouse setting. Take what you learn or see in the course, even if it's just printing your name to the console, and repeat it until you have a firm grasp on how to write and utilize it. Write basic console programs or a program that will help you (Such as a calculator).

It's also important to truly understand what you're writing. If you're learning Java, do you know what a Java program actually is? What about a package? Ask yourself those questions. Understanding how a language works is more important than remembering the entire syntax.

Some helpful exercises I've mentioned in the past:

  • Hand-write programs on dry erase boards or on paper using crayons (It's kind of fun)
  • Write basic console programs
  • Take an old program and find a way to simplify the code
  • Read books and or blogs regarding the language

Hi David,

Like with other things, you learn by practicing. I suggest you use what you learn from Treehouse and apply that knowledge to small projects. During these projects you might have to google a couple of things or refer back to the Treehouse videos but that is totally fine. As long as you begin to understand the fundamentals of programming you should be fine.

Another resource you can use to get good at programming is to check out projects at github. Looking at other people's code and trying to understand it can help you in many ways.

Hope that helps and good luck!

trying to do projects on your own. Like finish like one entire section. Then trying doing your own project with what your learned.

You can always watch the videos 3 or how many times until you have it your head. But I highly recommend making your own project finishing each section. Plus it builds your portfolio and it shows you can apply what you have learned.

I hope that helps david.

Also try putting the code in your own words. Like what does this mean. How does for loop work?

// here i'm defining array movie, then i create two objects with properties title, true, and rating
var movie = [
        {title: "In brudges", hasWatched: true, rating: 5},
        {title: "Frozen", hasWatched: false, rating: 4.5}
    ];
// I iterate with forEach(function) create a variable result next if else statement that concatenates
    movie.forEach(function(movie){
        var result = "You have ";
        if(movie.hasWatched) {
            result += "watched";
        } else {
            result += "not seen ";
        }
        result += '"' + movie.title + '" ';
        result += movie.rating + " stars";
        console.log(result);
    });

Then result console.log out.

Don't be afraid to look in documentation for things you own. The best way I learn is have the question in my head then look for an answer online.

Or you can try to get a code buddy. Walk through each others code step by step. You'll have more fun that way. I hope that helps. ;)

Kristian Egebæk-Carlsen
Kristian Egebæk-Carlsen
9,809 Points

How do you learn? That really depends on your programming talent. Some people have a natural understanding of programming and only need to read, see or hear things once for them to implement it. Others, such as myself, need to put more time into the simpler things. I spent 3 years studying computer science and the first couple of years I really struggled to keep up with my peers on programming, this was because the learning curve was too steep for me. At some point I decided stop, and spend my free time doing the starter programming tutorials again, this helped me a lot, and by the end I got my bachelors and a nice job as systems developer. It is kind of like swimming, you all start out at the lower end where you can reach the bottom, and you start there with the very basics, at some point someone will make it out the the deeper end of the pool and swim around, but if you go out there too early, you will drown. I feel the same way with programming, if you do not get the basic concepts and you start looking at more complicated things, you will quickly be confused and loose motivation. I'f you feel like I did, then I would recommend you to do the starter courses of the different simple languages (php, python,java,C#, javascript,swift) not to learn the languages, but to learn to concepts such as variables, objects, loops and so on. This will make you work with the same concepts without seeing the same videos. Then as you progress with the simple things, start creating simple programs for yourself, like really simple. This could be a program that decides if a number is even or odd, a program that takes a number and divides it into dozens, a program that rolls 2 dices and give you a message if they have rolled the same. Simple things to get a hold of the concepts and the setup of your programming environment. Then when you feel comfortable you can choose from the languages you have worked with and try to get deeper into it.