Wednesday, October 26, 2011

Why Computer Science?

I'll be heading to the Grace Hopper Celebration of Women in Computing in Portland, Oregon in a few weeks so I thought I'll talk a bit more about women in Computer Science and my personal experiences. I'm hoping to write a few more blog postings about this so stay tune! I personally find it very interesting to talk to other women (or men at times =) ) about why we chose Computer Science and our unique paths that we took to achieve what we achieved so far. My story is not too amazing but I thought I'll share my experiences here on my blog.

Throughout my childhood, I was one of the very few kids that actually had access to a computer. I find myself very fortunate in the sense that I had a big head start compared to my other peers on using a computer but there were times that I felt being on a computer was a big waste of my time. When I was still in Hong Kong (age 5 and below), my family had a Windows 3.1 computer. I do recall playing Prince of Persia on it but I don't have much more memories. At the same time, I also had a SuperNES and Sega MegaDrive. One of my family games on my Sega was Sonic the Hedgehog 2 and with some cheat codes, I was able to unlock the debug mode where I could randomly add random objects from the game.(Objects? You see, I already was on top of CS when I was a kid!) Back then, I have no idea what the word 'debug' means or what that mode is used for. However, for some random reason, I had this odd question in mind as a kid on how Sonic was able to jump and walk across certain platforms but not on others. How is the console machine or game itself able to determine what is a walk stable platform or not? I never had an idea why until recently and I probably passed off that question as a kid thinking stupid things so I never took a second thought. I think this was the very first time I thought about CS without knowing.

Jump forward to a year to two, when I was in grade 3, I really enjoyed watching and playing Pokemon. With a little help from my sister, I was able to create a Pokemon website. Soon after, when I was in grade 5, I entirely created my own website called "All About Sonic" with Netscape Composer and Dreamweaver and hosted it onto Geocities. I recall being annoyed at the fact that my "All About Sonic" website was not searchable through Yahoo. My first programming book that I tried to read was on Basic but I didn't get anywhere. When I was in Grade 7, I had a teacher that proclaimed herself an IT teacher. One of the class projects was to create our own website. My website was one of the cooler ones because mine played randomized MIDI songs and had animated objects through using Flash (version 5). I can't believe that back then I actually opened the book on how to create Flash and did the projects inside. I was only 11 at that time but unfortunately, I did not keep up with the curiosity to learn. I spent a lot of time playing MMORPG games like Ragnarok Online and other games like GunBound and Bomberman Online. After a year or two, I stopped. I felt like living in this virtual world is meaningless and I do not want to tell my grandchildren that the most amazing moments of my life were unreal.

Not much happened after I graduated from elementary school. Other stuff took over my life and I became a very simple user of a computer. I took IT 11 when I was in Grade 12 but that class was a waste. We used Realbasic but I didn't knew what was a function or parameter. That class was very simple. All I had to do was read the tutorials (which I never did) and copied and pasted code. However, I did learn what variables are and how loops work.

IT class wasn't too bad as it was simple and easy. Since I was able to graduate, I needed to apply to post secondaries. I wasn't sure what to apply for. Since UBC Computer Science allows you to declare your major during the application process, for whatever reason, I decided to do that. After that, I just stuck with it and actually found out I am really enjoying this major. I was one of the few high school students that had a bit of background about Computer Science but I was still very unsure what the field was about. I think this is a major factor to why students do not choose this field even though it can lead to a decent career path. I hope this is something that can be changed in the future.

Monday, October 10, 2011

Online Education!

Since today is Thanksgiving in Canada, I got a much needed day off to do some work! The Stanford online database and artificial intelligence courses are now open and I got a chance today to start working on those courses! Stanford also provides Machine Learning but I don't have the time to do all 3 courses at once so I chose DB and AI. After some minor hiccups with AI, the servers are finally running and I got to watch some of the videos on the materials.

I've got to say, after spending a few hours watching DB and AI videos, these courses are quite well done. The videos aren't too long and they provide good examples and explanations to explain the materials. There seems to be some notes created by the general public too. Overall, I'm quite impressed. I'll see later how I do when the materials get a little harder.

As of right now, I'm also taking another distance ed course, EOSC 116 at UBC. Compared to the 2 Stanford courses, I am quite unimpressed with EOSC 116. Compared to the lecture version and distance ed version of EOSC 116, this online course provides no lecture notes other than a bunch of textbook like pages of material to read. There are a few videos but they are not made specifically for the course like the AI and DB Stanford classes.

My complaint is that this online course does not prepare students for the course at all. For example, I copied and pasted a module's material (to be done in 2 weeks of time) and it ended up being over 100 pages in Microsoft Word. Granted, these did include a lot of pictures so the reading material wasn't quite 100 pages. However, by giving students a bunch of chapters to read in textbook form, we would have to make our own notes in order to study. I think UBC expects students to spend 10 hours outside of a class per course and trust me, with that 100 pages, there's no way I can make notes, study the course, explore the material, ask questions, do practice quiz in 20 hours (aka 2 weeks of time). On top of that, some of the questions that are asked are so low level and pure memorization that are not even useful. An example would be, "Where did this occur?" Instead of asking high level questions such as naming a continent, near equator, a country, the answer was a specific small city in Australia. (I can't remember) I do not need to know this down the road if I would want to pursue a Earth and Ocean degree. The module test was open book I have to say, and hopefully these questions won't be asked in the final exam.

Another complaint I have is that in this online course verus a lecture course, without a professor, it's hard to know what to focus on. Usually in class, a professor might consistently reiterate a specific concept so students would know to pay attention to this or the professor specifically mentions to make note of this. The modules do have objectives but these objectives are very general and broad and so I don't find them useful either.

Somehow, the distance ed course at UBC is 40 dollars more expensive than the lecture class. If it wasn't for that I'm out on co-op right now and I'm not on campus, I won't even take a distance ed course. It is now too late for me to drop this course and so I'm stuck here. I'm definitely discouraged from taking another distance ed course at UBC. However, these Stanford online courses are quite well organized and I hope to have more opportunities to take courses with them in the future! I hear that they were also talking about a Masters online degree earlier.