Nymtech Challenge (2/3) Can I Learn Ruby Efficiently in 2 Weeks?

As I mentioned in part 1, learning to program Ruby through Code Academy would focus more on techniques than content, however, it should adequtely address content too. In order to efficiently use techniques, you need to have a base-level content knowledge.

Let me now demonstrate this with a simple example. The lines of code above seem fairly complicated to a novice programmer. However, there are two ways for you to learn how to do this. The first way is to look at purely from a technique perspective. Usually this involves rote repetition and a significant amount of practice. This happens often when we study subjects such as maths. We pursue a trial and error approach and learn the rules as we go along. For example, when I try solve 2(4y + 1) = 3y . I will go through the technique that I have spent years practicing. When there is a number outside the bracket, times it by the numbers inside, then try get the variable you want on one side etc etc. Do I actually know what the brackets are? what they can do? what can be done to them? what is a more specific version? Not really. Prehaps if I did, then learning maths would have made alot more sense. With that in mind, lets move onto the second way, which focuses on content first.

Using the Nymtech Semantic Studying Framework (SSF), you can see how I breakdown the the above example into 4 key concepts (Which are all Meronyms of Ruby by the way): Variables, Strings, Methods and Commands. Check it out:

I’ve included the SSF above incase you forgot the terms

Methods

Methods are built in abilities (Hypernym), which are part of object orientated programming (Holonym) and are associated with strings (Assonym). Quotation marks are part of methods (Meronym) while length, reverse, upcast, downcast, chomp, gets and gsub are all more specific methods (Hyponym). Furthermore, Methods can be called or inputted (Passivnym) and one its properties is the full stop before the method (Dimenym) while methods themselves can determine length, sort, reverse and downcast (Activnym).

I realise there is still room for improvement here and it isn't perfect, however, I now have a more complete picture and understanding of “methods” within Ruby.

As a result, I do not need to learn each type of method in parrot fashion and my studying has become more efficient. The same goes for string and variable but you can go through that yourself. Lets get back to the first picture:

Print and puts are the commands, “Whats your first name?” is the string, first_name is the variable, gets.chomp is the method. “#{first_name}” is the Hyponym of string — string interpolation. As a result, having a greater understanding of what each concept was, I was able to use the technique with significantly more fluidity.

A note on efficiency

You may have noticed that I have mentioned efficiency both in the title of my blog series and twice in the body of this text. I have done this deliberately. If Nymtech is not more efficient than conventional study methods, then it has no merit.

Considering that it has taken me over 7 hours to complete a 3 hour programs (Code Academy Units 1–3), I need more sticky notes and that I am running out of wall space, is Nymtech really more a more efficient way to study?

To answer that question, we need to take a step back and try to understand what efficiency actually means. Lets start with google’s definition:

Ok, so efficiency is a state, quality or action. Well that doesn’t help much. Let’s see what wikipedia has to say:

Ramble on wikipedia! I now have a better understanding but it’s certainly not complete and not particularly well organised. Lets try Nymtech:

Efficiency is an ability, state or quality (Hypernym) which can form apart of physics, economics and/or business (Homonym). Success and results form apart of efficiency (Meronym), however, its properies are time, materials, energy, effort and money (Dimenym). Efficiency can avoid waste, save energy, time, money and produce results (Activnym) while at the same time be measured, created, maintained etc (Passivnym).

So then, if Nymtech is a success and produce results, while at the same time avoiding waste and/ or saving energy, time and money, it is then more efficient.

Do you think this is the case? I’m not sure yet. Lets leave it up to the final post for a thorough analysis of efficiency.

This is the second in a four part series of blog posts documenting my journey learning Ruby using Nymtech. Just as a reminder, the purpose of these posts are fourfold:

  • Establish whether the Nymtech Semantic Studying Framework has value through self validation;
  • Reflect on my learning process using Nymtech and Ruby;
  • Iterate and improve on the the Semantic Studying Framework;
  • Use what we (Nymtech) have learned to develop our final product.

Please feel free to provide suggestions and feedback in the comments section below. The third post will be released next week.