We strongly encourage students to answer questions and engage in dialogue.

At Flatiron School, we believe in the Socratic method for answering questions. In essence, lead each other to answers, don’t give away answers. Telling another student what to change in a line of code might be helpful to pass one lab, but the student will have missed out on learning a core concept. At times, it can be frustrating to engage in this type of conversation, but trust us, this will aid you in learning to code.

For example, let's say a student has the following code:

2.3.1 :001 > def my_method(arg1)
2.3.1 :002?>   puts arg1
2.3.1 :003?>   end
 => :my_method 
2.3.1 :004 > my_method("hello", "world")
ArgumentError: wrong number of arguments (given 2, expected 1)
	from (irb):1:in `my_method'
	from (irb):4
	from /Users/avidor/.rvm/rubies/ruby-2.3.1/bin/irb:11:in `'

You could immediately tell the student that they need to call their method with only one argument like this: my_method("hello world")

But this won't help the student the next time they run into this. It's better to ask the student questions like:

  • What does that error mean? to try and get them to understand that they should only be passing in one argument
  • What does arg1 equal when you call this method? Then what was set equal to "world"? to again try and give them the tools to reason through this on their own the next time they see this kind of error.

This kind of help enables students to more deeply learn and understand the material.

Did this answer your question?