My name is Ethan King and I graduated from McGill University on May 31, 2019 with a degree in Mathematics. Beginning in the middle of April, I became fascinated by the idea of a career in computer science and started to teach myself how to code in Python.
Thecodingjunkie.com serves to chronicle my progress, achievements, frustrations, obstacles and goals. I will post here what I’ve learned, programs I have made, problems I’ve encountered and small victories or accomplishments that I feel are worth sharing.
To give some context as to where I am in my programming journey right now: It is June 2nd, 2019 and I am auditing MIT classes through OpenCourseWare. I have just finished the last problem set, PSet 5, for 6.0002, an Introduction to Computational Thinking and Data Science. I have watched the lectures and completed psets for 6.0001 and 6.189. My plan going forward is to finish the last 3 lectures of 6.0002 and then take 6.009 (Fundamentals of Programming) and 6.004 (Computational Structures) concurrently.
Problem set 5 asked us to model data on the climate and evaluate which models best explained the data to make predictions about future temperature. Models were compared and evaluated by their R^2 value and generated from training intervals. I then implemented these models on testing intervals to see which model could best predict the behavior of new data. As I expected, the model with degree 20 had a great R^2 of .997 but badly overfit the data, leading to a high RMSE of 1.4. In other words – while the model with degree 20 did a fantastic job of explaining the data it was generated on, it did a poor job of explaining and making predictions for data it had not yet encountered. The best model, as determined both by how well it could explain the testing data (smallest RMSE) and its R^2 value on the training interval, was the linear model generated by looking at the five year moving average of yearly temperatures.