Final Year First Semester Conclusion

Everyone who knows me knows I always (unconsciously) put my life in university on a thread, so it didn't sound quite surprising to them that I took four elective courses last semester, not to mention I also had to to work on my final year project and try to finish an online degree. In fact , they were quite supportive the whole time, because it was fun and I quote, "to watch a dumb guy suffer for three months." Still, thank you for the support! And to make sure my fellow CS folks from CUHK won't make the same mistake, here's my experience last semester so far and opinion on the elective courses I'd taken.

Before you continue

Aside from the courses, I also have been studying for an online degree in Udacity, and spending time on the research I started in UW. Full disclosure, I did feel a bit stressful and frustrated, but it was because of the final year project I was working on with Angus. For a couple reasons (which are not relevant here) I ended up doing most of the work and the situation was so bad that I'm still trying to find the possibility that we can still work together this semester (but I believe in second chances).

Artificial Intelligence (3230)

This course is incredible! Just incredible! I already started skipping class two weeks after school started because I just simply couldn't understand what the prof was trying to say, and apparently I wasn't the only one who thought the same (link). My plan B was to cram lecture notes instead, and it didn't work out either as they were really lecture notes, designed for LECTURES! I was pretty sure I was doomed, then suddenly something popped into my head: when I was trying to talk my old colleague, Jacky, into joining our team for Cyberport's IdeaJam, this UC Berkeley alumni told me about an AI course he took. So I figured instead of traveling back and forth for two hours to listen to a prof saying something I couldn't comprehend, watching the lecture videos by another prof called Pieter Abbeel might be a better option (YouTube). I started to find AI interesting and fun thanks to them. But beware, the videos didn't include topics like knowledge base and first order logic, which was a main topic here. I learnt most of the stuff by myself and checking out some videos from this guy (YouTube).

Regarding assignments and project, there was a programming assignment which we had to write a simple scheduling program using Prolog. As far as I know, majority of my classmates had difficulty learning it. Also, I had some problem understanding the task because I think it didn't make any sense at all. Still, I managed to learn it (and throw it away) and finish the assignment in one day (GitHub). It was not because I was smart (obviously), but because someone made this awesome video (YouTube). Then there came the project, which I ended up spending my Christmas on. In short, I had to design a neural network on a dataset. No matter how many neurons I used, how many layers I tried, the accuracy was still terribly low. I Googled about it a little bit and found  the dataset was supposed to perform poorly (link). Dammit. I finally managed to improve my score to fifty on Boxing Day, which was still quite behind the ideal score, which was seventy-something out of a hundred according to the TA.

Simply speaking, I was totally on my own for the whole course, but I still learnt a great deal. If you ever want to enroll this course, just remember you may have to spend a lot of extra time to understand some of the topics. And the lectures? I probably shouldn't say this, but I suggest you skip them and do something more useful.

Computational Photography (3290)

I wasn't as lucky this time. Before I chose this course, I already asked AC about it. He told me it was a difficult course, the things being taught were hard, but the assignments were quite interesting. He was 100% right.

The first couple weeks were quite awesome, but things started falling apart when I started learning Gradient Image Processing. Thanks for the help from Ryan (my friend who's a Physics major) and Shan (my old colleague in ASM) for help, the situation improved a bit. Still, half the time I just sat in the classroom thinking about life, or stuff like why things matter, or why we exist, because I was really confused by the math.

The assignments were quite fun though. For instance, my first assignment was to combine the glass plates of Prokudin-Gorskii to make a color picture (GitHub). I also finished an assignment that I had to transfer the color, tone, whatever you call it, of a photo to another one (GitHub, you may have to figure out the usage yourself, as I named my files in swear words and I already forgot which is which, I'm not sorry).

The project, well, was really interesting too. If I didn't have to work on the AI project too I would spend more time on it. It was a Google Cardboard app project (GitHub), and I had so much fun doing it. I'm thinking about covering it more with another blag.

This course (and the AI course) cost me my Christmas. Also, it may be a little bit too much even for a guy who likes math. Someone showed me a post in FB which quite accurately explained the struggle (link). If being haunted by the ghosts of Gauss, Laplace, Poisson, Bayes and Lagrange everyday is something you're okay with, this is the course you're looking for.

Mobile Computing & Application Development (3310)

This course is a waste of time. There, I said it. Basically I learnt nothing from it. If you think this is the course that teaches you all the basics about writing apps, that's what I thought either, and we're wrong. This course is so terrible that I don't even wanna write another word about it. All I learnt was some superficial intro for app design principles. In the lecture notes, I seldom saw code. By the time I started this course, I had already learnt the fundamentals of writing Android apps, so I am sure the way the prof taught how to write Android apps wouldn't work. Even a person with common sense can tell trying to teach iOS, Android and write apps for both using a middleware in three months is something even Tom Cruise can't pull off. I was stupid enough to fall for that. 

There were enough programming assignments for you to work onthough, the catch was you had to learn everything yourself. At first I wrote a 2D game using Corana, I finished it in a weekend. Then I had to write a calculator iOS app. For the first part I just needed to follow the tutorials from a professor in Stanford, which was fine. Then some more stuff was added to the spec, tasks that I still don't understand even to this date. Since I don't own a Mac, I had to use the machines in the computer lab. I spent three days there and I only thought of smashing the computer with a hammer a thousand times. I'm not saying Swift and Xcode were bad, but Xcode always froze and the iPhone emulator always crashed. Turned out it was a problem in the machines of the lab. I really hated to wait eight minutes to build such a simple app and run the emulator. To be fair, the Android assignment was okay.

The date of the exam was also very terrible: it was too close to my FYP report deadline and presentation date. In short, after trying to stuff all the lecture notes into my head for two days without any effort of understanding it, I still thought I was doomed anyway, but I got a B+, not bad.

Intro. to Cloud Computing and Storage (4180)

This course is quite good. The prof recorded his every lecture, which was a life saver. He also allowed us to bring cheatsheets for the exam, awesome! I really really hate studying. The materials covered were really interesting and fun, but might take some time to digest. I quite enjoyed the course. 

Result

This couple months had not been easy, but I survived. I quite enjoyed the ride, but I would never do it again. All the projects mentioned above were designed for students to work in groups, I decided to work on my own to earn some extra marks. I also forgot to mention I also had to work on another FYP, which was a requirement from my college Chung Chi. This is the one course that I gave zero fucks.



Final Year First Semester Conclusion Final Year First Semester Conclusion Reviewed by Kevin Lai on 9:31:00 AM Rating: 5

No comments:

Powered by Blogger.