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!

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

Taking Notes VS. Following Along in a Code Editor While Watching Videos?

What do you think is the best way to learn on Treehouse and what methods have worked best for you? I've been taking notes, but I find I have to constantly pause the video because I can't get enough time to write the notes down.

When it comes to learning Web Design/Development, do you think it would be better to just follow along in a code editor? Should I learn by experience instead of writing everything down?

9 Answers

Personally, I watch the video. Then I rewatch it and take notes. If I'm going to follow along and use a code editor as I go along and do the project I'd probably watch it again a third time. It's pretty redundant but if I really want to make sure I'm absorbing the info it's worth it.

When taking notes I only write down the truly important stuff so I don't have to dig around in my notebook for an hour to find what I need.

Watch the video and pause as soon as an instruction is presented in the video. Make sure you understand that instruction. When ready, play the video until there is another instruction, pause again.

Repeat until done!

Always ALWAYS do the projects and work in the text editor!!! Do you want plain old knowledge, or knowledge WITH experience?

I want both!

James Barnett
James Barnett
39,199 Points

The videos are for absorbing knowledge and the code challenges are for applying that knowledge.

Personally I think you should always just watch the video and take notes on the important concepts and the syntax of the code being taught.

Coding is about learning to solve problems not to transcribing code the teacher is dictating in a video.

I can speak from experience on this one!

I used Udemy.com and TheNewBoston for my initial learning (before I watched the Treehouse advert on youtube)

I would never take notes I would just open up a text editor and follow along. I did this for a few months until it finally sunk in that I actually was not learning as well as I should be.

After James posted in another thread about taking notes THEN applying what you have learnt and building something I started to take notes. After just 1 session of note taking and not touching a text editor I truly felt like I had learnt a lot more in a smaller time frame.

I would watch the video then re-watch it taking notes and then build something.

Justin Ramos
Justin Ramos
6,798 Points

Yes I tried watching the videos and following along in the workspace but I wasn't retaining much. Now I write down all of the example code from the videos and it's much easier to get through the challenges now. I think having more repetition and variations of the code challenges would preclude the need for note taking.

I followed along in the text editor for the first few exercises ('Become a Web Designer' learning adventure), however I had the same issue as some other people here (having to pause multiple times to be able to get the code down).

For now, I'm trying a new method of watching the vids first, doing the quizzes/code challenges and then every once in a while trying to do an exercise from scratch in sublime text. This is the real test to see if I've truly grasped everything. If I haven't, then I rinse and repeat.

Seems to be working fairly well so far.

This is how my usually flow is.

  1. Use the "View Code in Playground" feature to get my hands dirty (comment/uncomment to monitor changes)
  2. Watch the video / Take notes
  3. Do the quiz.
Sean Byram
Sean Byram
5,020 Points

James, if that is the prescribed method, Team Treehouse should really take the time to clue us in. Seems like it would be helpful info to have from the beginning.

James Barnett
James Barnett
39,199 Points

Sean Byram - I'm not sure if this is what the teaching team had in mind when they made the videos. However here on the forum it seems to be the consenus we've reached.

Rashid Saadman Karim
Rashid Saadman Karim
6,073 Points

I personally feel taking notes is really important and whenever I watched video tutorials before, I used to pause the video and jot down something on a doc file or a notepad. For the last couple of months I have taken a new approach to learning and that is to watch each video and then write it down in my code editor in my own perspective and put a comment for each code segment so I can later refer to it. Its working well for me so far.

Michael Kuntz
Michael Kuntz
5,815 Points

I have been watching the video, pausing to enter all the code and running the program, then I go to my notes and put in the code and literally type out step by step what the code does. This helps me to understand what is happening and if I have to go back, I can read my notes to figure out what was happening.

For example:

class Hello
  def initialize(name)
    @name = name

module SayHello
  def say_hello
    puts "Hello #{@name}"

hello = Hello.new("Jason")
hello.extend SayHello


First, we create a class called “Hello” (note: class name must start with uppercase letter). Next, we initialize the class with the argument name. We create an instance @name which = the variable name we receive from the initialize argument .new(“name”). Next, we create a module SayHello (note: module name must use CamelCase). In this module, we define a method say_hello. Put “Hello #{#name)” to the screen. Now, we want to instantiate an instance of Hello class by creating a variable hello = Hello.new(“Jason”) passing in the argument name Jason. At this point, if we were to try and run hello.say_hello, we would get the error undefined method ‘say_hello’. This is because the method say_hello is in the SayHello module and can’t be seen outside of the module. Therefore, we add hello.extend SayHello which extends the methods defined in the SayHello module so that they are accessible in the class. The SayHello method has access to all the instance variables inside the Hello class.

As you can see, I literally walk my way through the code so it makes sense what each line does and why I'm doing it. The bad part is, my memory sucks, so I am constantly having to go back and relearn basic stuff.