Friday, December 26, 2008

Nikon D60

Merry Christmas to you and to me! I scored the most awesome gift ever this year, courtesy of my thoughtful husband. The way he put it: "Well, my hobby [of brewing craft beer] seems to cost me a lot more than your hobby [of scrapbooking with dollar store stickers]. I figured it's about time you get something nice to use for your hobby."

I love my shiny new Nikon D60. It's a digital SLR that seems to have come out fairly recently as an attractive entry level camera. I have wanted one for a long time.

So what does this have to do with computer science, you ask? Funnily enough, understanding photography has had a lot to do with my thesis lately. While trying to match panoramas, which have a rather small focal length, and regular photographs taken with a more standard focal length, I have had to get a more intuitive feel for such phenomena as perspective distortion. Fortunately for me, one of my two new lenses supports a wide-angle focal length (though it's not terribly extreme), so I can continue to get a feel for things.

Wide angle test

Take the above photo of my camera Santa, for example. The standard focal length's field of view would only be Andrew himself, but this wide angle shot contains much more of the scene. Things look pretty normal at first glance, but some objects may look a bit distorted when compared to a a shot at a regular focal length. (Based on the fact that I am not describing things very well yet, I have much to learn!)

I'm very much looking forward to playing with my new toy and learning all of its settings. I have no doubt that it will come in handy as I continue my grad school journey.

Monday, December 22, 2008

Google Christmas Social

Google's Campus Ambassador Program seems to be getting even bigger and better this year. For the first time since I've participated, we're starting to see some real collaboration between the many university ambassadors. I've set up a web page this year so you can all track upcoming events and check out photos from the past.

Although the money we get is still the same as in previous years, I took the increased enthusiasm and decided that I wanted to reach out to a broader spectrum of students. More specifically, I wanted to ensure that Carleton engineers would benefit along with my classmates in computer science. The Christmas social I organized at the beginning of December accomplished this fairly well.

The Google Christmas Social invited four engineering and computer science student groups - CSES, CCSS, CU-WISE, and IEEE-WIE - to come together and learn about the events activities each is hosting, all while snacking on delicious bakery-fresh treats. I wanted to provide a forum for collaboration, since all these groups have activities relevant to the others.



I'd say the event was a success. Although many people signed up and then didn't attend, the event was held between the end of classes and the beginning of exams (I had little choice based on when I received the program funds). The food was delicious thanks to the Richmond Bakery, and my CU-WISE girls were very helpful in setting up and cleaning afterward (thanks girls!). A rep or two from each group said a few words about what they've done this year and their plans for the next semester.

What kinds of events do you like the most if you're a student at Carleton, or what kinds of cool events has your Google Ambassador done so far? I hope that the winter semester will be the best one yet for this program.

Wednesday, December 17, 2008

Jean Bartik and the (Almost) Lost History of the ENIAC

I first heard about Jean Bartik some time ago after a few Systers were lucky enough to attend an event with her at the Computer History Museum in California. I forgot about it for a while until the official Google blog made a post about the event. From there, I was able to watch a video (embedded below) capturing the informal conversation with Jean, and I followed a link to a website devoted to the ENIAC Programmers Project. I feel so privileged to get a glimpse into the amazing history of the six young women who programmed the ENIAC, but whom history almost forgot.



Nobody really knew much about the women standing in front of the intimidating 8-foot tall black metal machine that was the ENIAC; in fact, many were told they were just "refrigerator ladies" modelling for the cameras. Luckily, Kathy Kleiman didn't buy it. When looking for role models as she herself became a programmer, she discovered the truth and sought to bring the ENIAC programmers' stories to life. With the help of an award winning producer, these women's stories were recorded and are now being transformed into an inspiring documentary.

One of the many wonderful tidbits in the video above is a story about Grace Hopper, who we all know and love as the namesake of the Grace Hopper Celebration of Women in Computing. As you may know, Grace developed one of the first compilers for a programming language. She was once having problems with a compiler and couldn't figure out what was going wrong. She asked Betty, Jean's pair-programming partner on the ENIAC, for some help.

Betty determined that the tape used to record data onto was the source of Grace's headaches. The tape would be used in one direction, then the direction would be reversed and data written again. The problem was that, even though the same amount of data is written in both directions, the tape didn't always end exactly where it started. Physical markers were used to indicate the beginning and had to be repositioned each time. Betty determined that Grace hadn't done this repositioning. Well, apparently when this problem was solved, Grace was ecstatic, and called Betty the best programmer she ever knew. :)

I think this video is a must see for every computer scientist out there, male or female. I know that I, for one, will be very much looking forward to the documentary when it's released.

Wednesday, December 10, 2008

Girls, Computer Science, and Games

The December 2008 edition of SIGCSE's newsletter inroads is finally up! And that means that my first published paper - Girls, Computer Science, and Games - is finally available online. I'm officially in the system. Seeing my article listed almost brought a tear to my eye!

Check it out for yourself. You'll need access to ACM's Digital Library to see the whole paper, though I plan to post a copy on this mini-course page whenever I finally get the chance to update my portfolio.

Tuesday, December 9, 2008

Featured

My blog has been featured in two notable places recently. The first deserves a link-back, and the second was a big surprise, discovered only because of Google Alerts!

I found Chick with PhizzleDizzle after the author commented on one of my recent posts. Her "About Me" says it all:
I am soon going to be a chick with a PhizzleDizzle in Computer Science. W00t!
I really liked the list of Science Chicks on her sidebar (and hope to borrow that idea as soon as I have some free time). I noticed FemaleScienceProfessor, whose blog I also started reading recently. Both women write wonderful blogs that capture many of the same feelings a lot of us ladies in the sciences encounter.

Anyway, Ms. PhizzleDizzle was kind enough to mention my blog in its very own post. Thanks, I really appreciate it! :)

Now for the surprise. Google Alerts sends me an email every time it sees a link to my blog somewhere out there on the 'net. Usually, this just ends up being from Mugshot or some other obscure blog aggregation service. This time, however, I noticed it was related to ACM.

My blog was found on a page titled Surfing the Net for Software Engineering Notes, which contains all the links mentioned in a column by Mark Doernhoefer, found in ACM's newsletter for the Special Interest Group on Software Engineering. Check out the November 2008 issue if you have access to the digital library.

As you scroll down to find me, you'll notice that many well-known blogs are listed first, including Joel on Software, Coding Horror, and even the O'Reilly blogs! When I saw all these well-respected offerings, I started to wonder if my own would actually be in there.

But of course it was. So without further ado, here is what was written about The Female Perspective of Computer Science:
I mentioned that blogs allow the blogger the opportunity to create their own community of interest surrounding a specific topic. This blog illustrates this point by featuring one person’s (in this case a graduate student in Computer Science at Carleton University) view on her experience as a women in the world of Computer Science. It’s an excellent resource for various conferences and projects that focus on women in computing. The blogger, who only goes by her first name, Gail, publishes announcements on events such as the Grace Hopper Celebration of Women in Computing, and the CONNECT project for the social networking of computer scientists. Gail writes very well and manages to maintain an active blog in addition to her class work. In addition to women in computing, other blog articles discuss computer animation and use of animation in video game design and engineering. This is another blog hosted out of the Google Blogger site where, after free registration, you can start your own blog.
Today has been a good day.

Wednesday, December 3, 2008

Dijkstra and Teaching Computer Science

I was skimming through Edsger Dijkstra's "On the Cruelty of Really Teaching Computer Science" (or the typed version) when one particular paragraph caught my attention:
We all know how we cope with something big and complex; divide and rule, i.e. we view the whole as a compositum of parts and deal with the parts separately. And if a part is too big, we repeat the procedure. The town is made up from neighbourhoods, which are structured by streets, which contain buildings, which are made from walls and floors, that are built from bricks, etc. eventually down to the elementary particles. And we have all our specialists along the line, from the town planner, via the architect to the solid state physicist and further. Because, in a sense, the whole is "bigger" than its parts, the depth of a hierarchical decomposition is some sort of logarithm of the ratio of the "sizes" of the whole and the ultimate smallest parts. From a bit to a few hundred megabytes, from a microsecond to a half an hour of computing confronts us with completely baffling ratio of 109! The programmer is in the unique position that his is the only discipline and profession in which such a gigantic ratio, which totally baffles our imagination, has to be bridged by a single technology. He has to be able to think in terms of conceptual hierarchies that are much deeper than a single mind ever needed to face before. Compared to that number of semantic levels, the average mathematical theory is almost flat. By evoking the need for deep conceptual hierarchies, the automatic computer confronts us with a radically new intellectual challenge that has no precedent in our history.
Wow. No wonder students find computer science - in its pure form - so hard. It does seem that few are capable fully understanding the big picture. I include myself in this. Though one of my strengths is to understand a problem from a bird's eye view in the beginning, then work my way down into the details, this still works at a much smaller scale than the ability to inherently know the whole hierarchy of computing.

Later in the article:

In the long run I expect computing science to transcend its parent disciplines, mathematics and logic, by effectively realizing a significant part of Leibniz's Dream of providing symbolic calculation as an alternative to human reasoning. (Please note the difference between "mimicking" and "providing an alternative to": alternatives are allowed to be better.)

Needless to say, this vision of what computing science is about is not universally applauded. On the contrary, it has met widespread --and sometimes even violent-- opposition from all sorts of directions.
There are several examples provided that aim to prove that pure computer science is not being widely accepted. I'd like to comment on these examples (skipping the zeroth) based on my experience since entering the field more than 6 years ago.

(1) the business community, which, having been sold to the idea that computers would make life easier, is mentally unprepared to accept that they only solve the easier problems at the price of creating much harder ones.

I'm reminded to my co-op terms at Corel and Ross Video. I had the privilege (?) of speaking or hearing from customers at both companies. Between these users and the business managers making the calls, it was amazing what they thought would be trivial to implement, and how little time they figured it should take

(2) the subculture of the compulsive programmer, whose ethics prescribe that one silly idea and a month of frantic coding should suffice to make him a life-long millionaire

Ah, the dreams of the young and fresh of mind. Of course, these days, we've seen a very select few who have accomplished this (or at least come close, since most things do seem to take more than a month code). This further fuels the dream. Of course, this whole process seems to have little to with computer science and more to do with an entrepreneurial spirit.

(3) computer engineering, which would rather continue to act as if it is all only a matter of higher bit rates and more flops per second

Some of my engineering friends (who I should note are not computer or software engineers) often ask me about the difference between computer science and engineering. In some ways this sentiment is a good description. I don't mean this as a slight to the engineers at all, because the world needs us both.

(4) the military, who are now totally absorbed in the business of using computers to mutate billion-dollar budgets into the illusion of automatic safety

...and they're still trying. On the other hand, the monetary support the military does put forth has resulted in some pretty darned cool research.

(5) all soft sciences for which computing now acts as some sort of interdisciplinary haven

I'm not entirely sure whether I understand this point, but I suppose it's a comment on such marriages as that between psychologists and computer scientists? Personally, I love the interdisciplinary nature of computer science. I think it allows people to find motivation for solving difficult problems (once they've seen the application).

(6) the educational business that feels that, if it has to teach formal mathematics to CS students, it may as well close its schools

What a shame this would be. Some schools like the University of Waterloo do give computer science degrees under the math department, so there is hope. But even at my school, students demand a "useful" degree, and as such want to learn things they will use directly in the field. Since schools need students to make money, and they need money to provide education, the world of computer science degrees has evolved to allow a practical, rather than theoretical, approach to those who want it.

That leads into the paragraph following the examples:
The problem with educational policy is that it is hardly influenced by scientific considerations derived from the topics taught, and almost entirely determined by extra-scientific circumstances such as the combined expectations of the students, their parents and their future employers, and the prevailing view of the role of the university: is the stress on training its graduates for today's entry-level jobs or to providing its alumni with the intellectual bagage and attitudes that will last them another 50 years? Do we grudgingly grant the abstract sciences only a far-away corner on campus, or do we recognize them as the indispensable motor of the high-technology industry? Even if we do the latter, do we recognize a high-technology industry as such if its technology primarily belongs to formal mathematics? Do the universities provide for society the intellectual leadership it needs or only the training it asks for?

I invite you all to read the rest of the article (and the beginning in its entirety, for that matter). We don't always get an opportunity to think about what we do in this way.

Monday, December 1, 2008

Information Overload

This video was shared by a friend; he noted that it is "kind of trite, but its nice to get a sense of perspective every so often." True that.

More from NCWIE

We've had some busy writers contributing to the CU-WISE blog lately, and for anyone who was interested in what I wrote about the National Conference on Women in Engineering, there are a couple of different perspectives about the event.

First you can hear from my co-presenter and fellow CU-WISE executive member Barbora Dej. She gives a great summary of both our talk and some of the other events we participated in.

Then check out a delegate's point of view, written by one of our CU-WISE Officers. You can really feel the enthusiasm she experienced when collaborating on women's groups, as well as her favourite talk and thoughts on networking.

If you enjoy articles like these, I'd highly recommend subscribing to the CU-WISE blog feed. Everyone is working very hard to keep it fresh by adding at least one new post per week, and we write about a wide range of topics.