Wednesday, 26 August 2015

Using Socratic Inquiry for Learning to Code

In a previous post we discussed how experiential learning can be used to teach programming. In this post we’ll cover another effective method for teaching and learning coding: Socratic Inquiry.

What is Socratic Inquiry?

Socratic Inquiry, also referred to as Socratic Method, Socratic Questioning and Socratic Debate, is a method of asking leading questions which are chosen to test logic and to stimulate critical thinking. Ultimately, the aim is to increase understanding and illuminate ideas through asking carefully designed questions. 

Where did it come from?

As you would expect from the name, the idea was developed by Socrates in 5th century (BC) Greece. At the time Sophist philosophy was popular and Sophists used dialogue to persuade their audience that their opinions were correct. Socrates turned their method of rhetoric on its head by using questions to expose flaws in their assumptions and arguments – he famously limited himself to only asking questions. In doing so, he forced people to critically examine their own ideas and in effect become their own teachers.

Modern Uses of Socratic Questioning

Socratic Method is used widely in modern day education – when leading questions are used to highlight flaws in arguments, test logic, challenge accepted facts or refute hypotheses it is an example of Socratic Method in action.
Of particular note is Law Education where Socratic Inquiry is used extensively. Teachers can ask a student to form an opinion about a case and question them about it, forcing the student to defend their viewpoint or change their opinion as a result of their own answers to these questions. By going through this process students gain an understanding of the logic behind legal principles.
This leads us to an important difference between classic and modern use of Socratic Method. Most modern uses of Socratic Inquiry are designed to guide a student to understanding through a series of little steps. The knowledge obtained by the student is foreseen by the teacher and their questions are chosen to guide the student to achieve some specific knowledge or understanding.
In comparison, most classic uses of the Socratic Method were open ended, without specific goals or outcomes in mind. Socratic Inquiry was used to try to come to new understanding, as opposed to leading the person being questioned to a pre-defined outcome.

Socratic Inquiry for Learning To Code

Socratic Method is well suited to learning to program because code is based on pure logic and Socratic Inquiry is an excellent way to test logic.
At Geekuni, the Socratic Questions come in the form of tasks which lead students to examine why they use code in a certain way and to critically examine their use of code. Doing so creates a thorough understanding which is far beyond that gained from watching a video tutorial or listening to a lecture.

Sunday, 16 August 2015

The Perl Community

I’m putting together a panel at YAPC::EU to brainstorm ideas for ways to expand the Perl community. But this question kept going around in my head:

What is the Perl community?