Saturday, March 5, 2016

How to Master Skills

Recently, I watched a youtube video from Tim Ferris on how to master any skill.

He describes his process via an acronym called DiSSS:

  • Deconstruct (break the problem down)
  • Select (think 80/20)
  • Sequence (deviating from traditional order might be faster)
  • Stakes (create incentives for success or failure)
  • Simplify (less is more)

I had trouble remembering this acronym because there are too many 'S's. I thought of a better acronym that's easier for me to remember, which is DEQUE.

  • Deconstruct. Same as before.
  • Eighty/twenty. Replacing 'Select' with 'Eighty' gives me a nice vowel for my acronym.
  • Queer. I could be wrong, but when Tim suggests learning things out of sequence, I think he's actually suggesting to us to not be afraid of learning things in a seemingly odd or 'queer' way.
  • Uh-oh. Instead of 'Stakes', I think 'Uh-oh' captures the sentiment of "I need to learn this skill or else I'm screwed."
  • Enough. I think 'Simplify' is fine, but using 'Enough' makes my acronym flow a little better (in my opinion).

Unfortunately, another acronym already exists for deque (double-ended queue), but I still find it easier to remember than DiSSS.

Whichever acronym you go with, the more important part is applying it to the skill you want to learn, and it hopefully helping you master it. That is still to be determined for me.

Thursday, March 3, 2016

Week 6 of algorithms part 1. Hash table and final exam

The sixth and final week of my coursera algorithms course is done.

This week, we had lectures on hash tables, a set of exercises and a final exam. This was a little different from previous weeks where we would have a little bit more lecture material, two sets of exercises and a programming assignment.

The final exam had a lot of tricky questions, where the major obstacle was just reading the question correctly. I started it a few days ago, and didn't submit until today. Every day, after work, I read over the questions and answers to see if I might have been confused about anything.

I ended up getting an OK score, 9.13 out of 10. I can attempt it a couple of more times, but I don't think there's much point in trying to improve the score. It doesn't really mean anything, and I probably wouldn't learn much by doing it again.

It feels good to be done with this. It's great to finish anything, and this is something I wanted to try and finish years ago.

I signed up for part 2 of this course. After which, I hope to be well versed in all the basic data structures and algorithms that every software developer should know.

The next course starts in 2 weeks, so I'll have a little bit of a break, which is nice. Maybe I'll plan what I want to work on after part 2 of this is done - take another course? study some other way? reallocate time to something else?