What language(s) will you develop in? If you are flexible, I recommend Matlab, python and R as good candidates. These are some of the more common languages used to develop and evaluate algorithms. They facilitate rapid algorithm development and evaluation, data manipulation and visualization. Most of the popular ML algorithms are also available as libraries (with source).
I'd start by focusing on basic classification and/or clustering exercises in R2. It's easier to visualize, and it's usually sufficient for exploring issues in ML, like risk, class imbalance, noisy labels, online vs. offline training, etc. Create a data set from everyday life, or a problem you are interested in. Or use a classic, like the Iris data set, so you can compare your progress to published literature. You can find the Iris data set at:
One of its nice features is that it has one class, 'setosa', that is easily linearly separable from the others.
Once you pick a couple of interesting data sets, begin by implementing some standard classifiers and examining their performance. This is a good short list of classifiers to learn:
- k-nearest neighbors
- linear discriminant analysis
- decision trees (e.g., C4.5)
- support vector machines (e.g., via LibSVM)
- boosting (with stumps)
- naive bayes classifier
With the Iris data set and one of the languages I mention, you can easily do a mini-study using any of the classifiers quickly (minutes to hours, depending on your speed).
Edit: You can google "Iris data classification" to find lots of examples. Here is a classification demo document by Mathworks using Iris data set:
http://www.mathworks.com/products/statistics/demos.html?file=/products/demos/shipping/stats/classdemo.html