The GRE is in less than two days, coming this Monday. I really hope I do well, because I don't want to have to take it again, both from a monetary and a time point of view. I definitely should have been spending more time on it over the last few weeks, but it's just so... blah. Any time I'm studying for it it feels like I'm wasting time. But, I haven't completely ignored it, and I also am planning to take a practice test tonight (perhaps just half of one, depending on how the time works out), and possibly tomorrow as well.
So with my "real" classes, let's see how much I've gotten done.
Progress:
- Stanford Programming Abstractions: completed the first problem of problem set 4.
- Yeah, it's really not a lot, but I've had to de-prioritize Abstractions in order to keep up with some of my deadline-containing classes. The main thing I want to solidify my knowledge of are pointers. While there are certainly many other important things included in these lectures, pointers are one of the fundamental topics of C/C++ programming and are essential to claim knowledge of the languages besides just syntax. So, I at least want to make sure I can get those, if not do a 100% on the full problem set as I have been (for the most part) on the others.
- Coursera Machine Learning: completed first programming assignment, watched through section 6
- I've been going back and forth on whether I should stick to the Coursera lectures or switch to watching the lectures from SEE (the original Stanford lectures). Those lectures are presented on a higher level (in terms of sophistication) and give a more thorough treatment of the subject, complete with discussions of probability, more derivations of equations, and so on. I think ultimately due to time constraints and mismatch of material covered that I will end up sticking with the Coursera lectures, and returning to the SEE class later. I wish that the Coursera lectures were presented with the same level of sophistication as the Stanford lectures, as the Algorithms course had been. But as is said in Japanese, しょうがない。
- Coursera Computer Vision: watched through section 4 (dynamic perspective)
- This class has definitely picked up from the post I made May 4th. In fact, I think that I neglected to include some progress I had made in the class in my previous blog post. Anyway, they have uploaded a good deal of lecture videos as well as an assignment (which I hope to do tonight or tomorrow). I still get the sense that the material has been somewhat awkwardly ported from a college course to the online lecture format, rather than having been built from the ground up to fit the MOOC paradigm, as for example the Udacity classes, and most other classes are. But that doesn't really matter too much to me; what matters is that the content is interesting, and it definitely is. I had never considered that the whole basis for what we understand as "how the world works" comes from mathematical properties of a 3D projection onto a 2D plane. It's really cool.
- Udacity Web Application Engineering: watched through unit 5, completed homeworks 3, 4 and 5
- It becomes clear how much has gone by since my last post when I note that I've completed 2.5 lecture sections and 3 homeworks in this class since my last update. This class is certainly the most practical class of all that I'm taking, and that's not a bad thing. There's a huge amount of useful, if not theoretical, information being given in these lectures and it's great. This week was a bit of a break compared to weeks 3 and 4, which were both a lot of content and quite a lot of frustrating work on the homework. While both of those took me several hours to complete, in contrast week 5 only took about an hour. However, the concept introduced in week 5 was that of how websites disseminate information (through e.g. JSON and XML) such that it can be easily parsed by web applications. This rather simple concept is really quite powerful, and explains a huge wealth of applications and potential applications that take advantage of the ability to read and analyze the informational content of a web page. Cool stuff.
- Udacity Programming Languages: watched a bit past the middle of unit 4.
- Wow; in stark contrast to the substantial progress I've made in the web course, with this one I've only gotten through half a unit in more than two weeks. Ouch. Unit 4 has turned out to be quite a drag. What had been an interesting and easy-to-follow course up until then took a sudden turn for the convoluted as Professor Weimer's explanation of parsers made little and less sense to me. I'm going to try to finish the class, but in some ways I'm wondering if I might not be better off jumping ship to the Compilers course. That course turned me off a bit by introducing the requirement of learning a new (and practically useless) programming language called COOL for which to write a compiler. While I'm sure that there are many benefits to constructing a language specifically for the purpose of making compiler design easy, nonetheless it's really irksome to have to learn a whole new syntax just for one class. It would have been nice if they had at least modeled the syntax on a well-known programming language so that it would be easy to learn. But then again I'm sure it wouldn't be a big deal if I just sat down and took the time. We'll see.
No-progress classes: Linear Algebra, Udacity Robotics... I'll get back to you guys when I have some more time! Sorry!