I realized that I haven’t blogged in quite some time. My blog posts on Summer 12, which were to be a two part post, stands with only one part on my blog and the other part in my head. I’ll get to it eventually, maybe during Thanksgiving Break.
I think the main reason I haven’t had the time to blog is because of my 18 credit hours workload this semester. The last time I’d taken 18 hours was during first semester freshman year and the classes were nowhere near as hard
I’m not complaining though: the level of the classes I’m in this semester is absolutely fantastic. I think my favorite class right now is Distributed Systems (CS 425). It’s something that I’ve been interested in for quite some time and learning about the various algorithms, concepts and existing systems has been excellent. The coding assignments in this class are great too. So far I’ve worked on a distributed log querying system and a group membership system with failure detection and no SPOF. I’m pretty excited for my next assignment which involves building a simplified version of HDFS. My Java skills improved by leaps and bounds this Summer at LinkedIn, and this class is only making me better. I’ve had a chance to work with Futures, Timers and lots of Threads. Designing a system from the ground up and having it work is an extremely rewarding experience.
Natural Language Processing (CS 498) is pretty awesome too. All the concepts I’ve learnt in that class so far seem intuitive and the math seen so far (mostly probability) isn’t too bad. Plus, the coding assignments are in Python :D.
Machine Learning (CS 446) is definitely my hardest class. The concepts are much more involved than my other classes and the math is much harder. But the feeling you get when you tweak a few parameters of your algorithm and watch the accuracy jump up 10% cannot be described. Even though it’s a really hard class, it’s also a great class and I would recommend anyone to take it. We’ve gone over some really interesting stuff so far (Perceptrons, PAC, SGD, Kernels etc.) and there’s a lot more cool stuff left for the rest of the semester.
My other classes, namely Ethics, Software Engineering and Italian are also really good.
Overall though, with all the work from these classes, I really don’t have time for anything else apart from school work. In other (maybe related) news, coffee is now my new best friend.
Wow. I guess I’m a senior now. Feels a bit strange to be honest. I’ve grown a lot these past three years, and I can’t wait to see what my last year at UIUC holds. I feel that my next two semesters are going to be as crazy as Spring 12 was. I’m pretty sure I will be taking 18 credit hours each semester, and am also looking to do some research.
Let’s talk a bit about Spring 12. CS 473: Algorithms was AWESOME. It was a lot of hard work, but the material that I learnt in that class is invaluable. My favorite topics had to be Greedy Algorithms and Dynamic Programming. There is just something beautiful about these two topics that appeal to me. In CS 440: AI, I enjoyed our discussions about Bayesian Networks and HMMs tremendously. I’d come across these terms before but could never fully understand what they meant, or why they were used. 440, and it’s book, changed that. I also improved my Python skills in this class since I did all the programming assignments in Python. CS 421: Compilers was another great class. I came into the class not caring much about compilers in general, but along the way I developed an appreciation for language design, parsers, interpreters and compilers to such an extent that I’m considering taking more advanced compiler classes before I graduate.
The only thing that disappointed me about Spring 12 was that I didn’t have the time to learn a new language/framework/database etc. Hopefully, I shall make up for that this Summer.
Finals have started here at the U of I, and I just got done with my CS 411 final yesterday. 3 more to go: Math 415 8.00am on 5/9, Phil 102 at 1.30pm on 5/9 and CS 241 at 8.00am on 5/13. I’m heading to California after that to begin my internship with Riverbed Technologies, Inc. Yay! I’m going to be working at the Sunnyvale, CA office. I can’t wait for Summer :)
<emotional> I just realized that this semester will be over in just under a month. Soon I will be a Junior. A JUNIOR! I can’t believe how fast time seems to be moving. I’m having an amazing time at UIUC so far: I love my major, I’ve met wonderful people and I’ve learnt a lot about life in general. I can’t believe this will all be over in two years. </emotional>
“But what about the title of this post?” you ask. I have to finish a group project for Phil 102, a group project for CS 411, a homework and programming assignment for CS 241. And catch up in all my classes. And start prep for finals.
Installed node.js and MongoDB on my computer yesterday. Might play a bit with that over Spring Break. Another goal of mine is to finish my CS 241 programming assignment(implementation of malloc) and catch up in all my classes. And work on the CS 411 project.
Check out this amazing CSS 3 demo!
First: http://kathack.com/. Absolutely amazing.
Need to finish my CS 241 programming assignment that’s due on 3/14. To the vim-mobile!
Finally done with the 3 exams I had this week. Only a Philosophy midterm and a CS 241 programming assignment to finish before I had to California for Spring Break.
I also started work on the “great idea” I mentioned a couple of posts ago. And I discovered this gem that will prove to be extremely useful during the dev process. Can’t wait to build this!
It’s not been that long since I started this blog, and already the frequency of posts is decreasing. I think I am going to make a conscious effort to start posting more; I used to enjoy writing when I was younger and feel that I should continue doing so in the future.
I found out today that I’ll be having two midterms and a final in a row after a week: 3/7 is my Physics 214 final, 3/8 is my CS 241 midterm and 3/9 is my CS 411 midterm. Hopefully I won’t have a hard time if I start studying like a week or so earlier.
The CS 241 programming assignment (sorting and merging numbers in files using threads) took me slightly longer than it should have: I made s stupid mistake while coding that was leading to disastrous race conditions between my threads. I guess I learned my lesson about not coding in the middle of the night while sleep beckons. On the plus side, I did learn about helgrind and used it to debug my code. I learned a lot doing that assignment and overall it was a great experience.
I also came up with, what I think is, a brilliant idea for a website that Sam and I will be building soon. I even went and bought the domain for the website. My plan is to build it during Spring Break and launch it within the end of this semester. More details to follow.
2/1/2011: All classes after 5.00 pm cancelled.
2/2/2011: All classes cancelled.
The blue car in the picture is my roommate’s car. And yes, it is pretty awesome.
Started doing some coding in Python today. Learning Ruby over Winter Break really helped me get right in and start coding without worrying to much about the syntax.
So I decided to drop my CWL 114 class, not because I didn’t like it, but because I realized that I do not need to take two gen-eds this semester to graduate in time. Following the advice of one of my friends, I mapped out my tentative schedule for the next 4 semesters and came to the conclusion that 18 credit hours this semester is not required. I am now back to a happy 15 credit hour schedule :)
Consequently, I now have my Tuesdays and Thursdays (almost) free. I plan to invest that time into expanding my current technological skill set to include(as of now) Python and possibly Django. I also want to spend more time with Ruby and Ruby on Rails and possibly build an application using it.