I love Question sites like Stackoverflow and Quora. They have made some great people come together. Recently somebody asked a Question "What are some useful computer related technical skills I can learn within a day?" on Quora. A great answer came up. Listing it here for myself :)
NOTE: The updated version of the question is here
Awesome question: Promoted 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. Update 1: 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.
No comments:
Post a Comment
Post your comment here. If you want to say something about programming problems, scripts, software etc, please try to be as descriptive as possible.