Well after taking it easy on SICP for the month of September to read WACIG, it’s been a little tough to get motivated to return to SICP. But I’m not giving up yet. I’m determined not to become one of the next people on the internet to have a blog and declare they are going to work through SICP and then stop before the end of it. It may take me well over a year to make it through, but I am going to.
A few months ago I looked at my Netflix watching habit with the goal of significantly cutting back on my mindless video watching. So far, I’ve basically failed spectacularly in cutting back on that. For a while, I did better by putting music without lyrics on while I did other work. But that short lived exercies ultimately led back to video watching, with the discovery of Plex and a friends movie library.
I’m watching Stargate currently as I write this post.
So I need to find some motivation and energy to get moving again on SICP. Part of my problem is that the amount of things to learn can sometimes feel overwhelming in the tech space. SICP, without a doubt, is not about the Scheme programming language, and I’m sure that the long term benefits of reading about programming as it teaches it won’t be lost in the future. It isn’t a book about algorithms, or object oriented programming, or just functional programming. It’s really about the structure and interpretation of computer programs. It is a long book to really work through.
Working through it has kept me focused and has definitely helped me stop buying so many technical books on Amazon. It’s also spoiled me somewhat in what to expect of other programming books.
So overall I’ve been pretty happy with my focus to work throught it so far. Last week I made the decision to work through The Little Schemer before picking up in chapter 3 of SICP, but I’m starting to waffle on that.
I also noticed I hadn’t kept up with my blogging, so I figured I would write one of these reflective posts to get my thoughts organized and try to find the will to get moving again.
So here, in this post, on the public internet, on my unread blog, I’m recommitting to finish SICP and start working on chapter 3 within the next few days.
I may or may not finish The Little Schemer first, but if I do, it needs to be within the next few weeks to not hold up the SICP work too much. With the recursion in The Little Schemer and SICP I think pretty soon it will be impossible to not reason in recursion first, as the more you see it the more it lends itself to some elegant ways to solve problems.
So now that I’ve committed to SICP again, I’m going to pointlessly explore what I’m going to learn a little in parallel with SICP and after. I’m always torn with what to learn on my own. Previously it had been work related or focused on things that would help finding new jobs. But now it’s a little more driven by what’s interesting to me, and that’s still learning about and implementing some programming languages. SICP aligns well with this goal, especially the last two chapters which I will finish!
So in that effort, and to better understand some of the more advanced work in that area, I need to up my discrete math skills. So despite the cost I’m going to sign up for the Coursera course on discrete math. It’s about 79 dollars a month, but it looks promising and will keep me focused on it. I believe this will help me work through the book Types and Programming Languages.
However, I do feel that I should orient some of my learning to things that are career related, and that includees some “trendy” things. There are a lot of them out there.
Anyway, these things correlate fairly closely to what I had penned out in my learning plan after looking at it again. Once I finish the Discrete Math I’ll hopefully be into chapter 4 of SICP, so I’ll be in a better position to read Types and Programming Languages, and I’ll also be in a better spot to studying algorithms in depth again.
Oh I also still need to cut back on the “Netflix” watching. Season 2 of the Ozarks is pretty good so far…