Learn within a day


I just found a very cool post on Quora about the thing we can learn in a day. Here goes the list..

I would suggest (each at most a day)


  • Learn how to use Git and Github
  • Learn how to use SVN
  • Learn simple linux regular expressions
  • Find a site with a few interview programming questions, and practice going through the full answer, with code, for some of them (a few a day should be good; do them in a language you don't know well if you already can ace most).
  • Set up a crawler that can scrape some webpages and parse some basic data.
  • Set up a bigger crawler that has to fill out a form or two.
  • Program a basic linear algebra library (matrices, vectors, multiplication)
  • Add SVD to this library
  • Add matrix inversion to this library
  • Add least squares regression to this library
  • Make your library work efficiently with sparse data.
  • Learn how to use list comprehensions in python.
  • Read the freaking manual for your favorite language. In the past I've wasted hours in Python because I didn't know that the Counter data structure existed, and kept getting the bugs from using Dicts as Counters. There are many examples like this.
  • Get a stackoverflow account and learn to use the site. If you don't at least know that StackOverflow is an available resource, and you're an english-speaking programmer, you're doing it wrong.
  • Implement a simple Machine learning algorithm on your own, with a whole pipeline. I.e. you read a simple input csv, split it into training and test set, run a simple algorithm with readily-tuneable or explorable hyperparameters, and a simple output of relevant statistics.
  • Learn the how to make a simple line graph in Excel, and make sure you can do it right; i.e. properly labeled axes and tick marks, title and legends.
  • Learn how to make a simple line graph in something other than Excel. Make sure you can do it right (same requirements).
  • Get your eclipse installation fully pumped up: python dev tools, c dev tools, any other language you could ever write in, and make sure you can write a hello world successfully in each perspective. It'll save you time some future day.
  • Learn the basic functionality of a NoSQL database; (you can learn a big chunk of mongoDB in a day)
  • Learn the most basic functionality of SQL (you don't need to be a query guru,  but have a small clue about it).
  • Learn a tool for in-depth parsing of HTML and XML
  • Implement a list-of-lists graph data structure
  • Implement random walk, PageRank, clustering coefficient finding (#triangles over possible triangles) and common neighbor number finding.
  • Implement BFS, DFS, Shortest Path, topological sort and Minimum Spanning Tree (bonus for union-find version). Take a couple days if you have no algorithms background.
  • Make a simple java applet that has at least some interaction with listeners and not just buttons and such.


Quora post link for future reference and addition. Link

0 comments:

Post a Comment