Posted in University life at 11:23 pm by ducky

I went skiing on Saturday, which was a lot of fun despite it being 9 years since I skied last, despite not being used to skiing in powder, and despite being 42 years old. But that’s not what this post is about.

It was busy enough that a (very nice) couple crashed our table at lunch. Making smalltalk, they asked us where we were from, and I didn’t know how to answer.

Let’s see… my Mom lives in Bellingham, WA, where I’ve never lived. I grew up in Illinois. I’m registered to vote in California. Our car is registered in British Columbia. I live in Vancouver. Most of my stuff is in Blaine, Washington. My passport says US. We will probably go back to California, but that’s not 100% certain.

So I’m not sure where I’m from.


Differences in universities

Posted in University life at 9:26 pm by ducky

It’s been interesting to watch the changes in university life over time. I’ve been able to see “snapshots” with ten-year gaps, since I’ve gone back to school a few times.


In 1984, when I got my BS in engineering from the University of Illinois at Urbana-Champaign (UIUC), students didn’t use computers routinely. I only had a few assignments that the teachers insisted be typed, and I only saw computers in my one computer science class or as a whizzy novel cool demo of emerging technology.

Answering machines were highly unusual. I heard a lot of people complain that they were very uncomfortable using answering machines, and a fair number of people thought people who used answering machines were rude. There was a deep suspicion that people just got answering machines so that they could screen calls.

Libraries were difficult to use. The card catalogue was cumbersome.

Email had been around for about ten years by this point, but the vast majority of the population was completely unaware of it.


Ten years later, when I started my MS in engineering (again at UIUC), computer use was routine. Teachers expected papers to be typed. I had one engineering class that relied heavily on Excel and another that relied on Matlab. We had to buy Excel for the former class, but at the student rate it was sort of like buying a textbook.

Libraries were easier to use. The card catalogue had moved online.

Email use was not unusual, but also not universal. Many students had email, but many did not. In computer science, students were guaranteed to have email access, but I think even in engineering, there were occasional students who did not have email. It certainly was not universal outside of the engineering college. And, since if one student didn’t have email, it wouldn’t be fair for the instructor to communicate with the others via email, so instructors didn’t.

Web use was not routine. It existed (barely!), with quite primitive search engines and much more limited content. Most students (and most profs) didn’t know about it.

Cell phones existed but were not routine. I didn’t have a cell phone, and I think only two of my friends did. There was a deep suspicion that people only got cell phones to make themselves look important.

With no cell phones, if you wanted to rendezvous with someone to study, you had to be very very explicit about the exact place and the exact time. “At the library” wasn’t good enough: you had to state “at the library, on the third floor, on the east side reading room, near the window that overlooks the big sculpture”.

Answering machines were routine. People were completely comfortable using answering machines, and thought people were rude if they didn’t have answering machines. There was a suspicion that if someone didn’t have an answering machine, it was because they thought they were too important.

Again, there was no real way for instructors to send information to students except in class, but now students could phone the instructor’s office and leave a message. (I think it was rare, but it happened.)



In late 2004, I took two classes part-time at San Jose State University. SJSU was an economically challenged school. Its budget had gotten cut significantly, and the students came from lower economic strata than the average college student.

While laptops were not routine, cellphones, email access, and Web access was routine. I got my assignments via the Web and grades via email. While I didn’t email the instructor all that often, I probably emailed him four to six times over the semester (he taught both of my classes). I don’t remember him emailing us, but am quite happy to believe that if there was a mistake in the assignment as written, he would have emailed us.

Students took notes with paper and pencil at SJSU.


In the first two quarters of 2005, I took two classes at Stanford. Stanford had everything that SJSU had, plus fantastic computing resources for the students. The resources were so good (or perhaps tuition so high?) that most CS student undergrads did not have laptops.

For four of the five Stanford classes, the lectures were videotaped and archived on the Web. The lectures also had extensive notes that were passed out on paper to the students. (This is probably not representative of Stanford classes, but an artifact of me being enrolled mostly in the “distance education” courses.) In those four classes, most students basically didn’t take notes, or very few notes. (I did, mostly out of long-standing habit.) In the other class, a stats class that did not have extensive notes posted, students did take notes on paper.

I started at the University of British Columbia in the fall. UBC has everything Stanford does, plus probably about 20% of the CS undergraduates have laptops.

Teachers and teaching assistants at both Stanford routinely communicate with students (and students with each other) via BBSes. (At Stanford it was Usenet newsgroups; at UBC it’s WebCT.) I’m currently a TA at UBC for an undergrad, and it’s hard for me to imagine a course without being able to communicate constantly with the students.

In the undergraduate class that I TA, the lecture is given as PowerPoint, and the students basically don’t take notes. For my three grad classes, one lecture is presented by video from the University of Toronto, one lecture is a PowerPoint presentation, and one is on a blackboard. People take notes for the blackboard one, but only minimal ones for the PowerPoint presentation and none for the video one. (It’s in a dark room, which makes it difficult. Even I don’t take many notes in that one.)

Library buildings are sort of irrelevant. Everyone looks papers up on Google or Google Scholar, and grabs the PDF.

Distance learning / distance education is becoming much more common. I now will occasionally meet random people who are taking distance education classes, and ten years ago people didn’t even know what distance education was. (“Oh, you mean like correspondence courses?”)

What’s next?

VOIP and video chat exist, but are not common. IM is common, but not universal. Different VOIP/video chat/IM applications don’t interoperate, which is slowing adoption.

Blogs are common, everybody knows what they are, but not everybody has one.

Wikis are common, but not everybody knows how to use them.

I expect that ten years from now, everyone I know will be reachable by VOIP, IM, and video-chat. I expect that everyone will know how to use a wiki.

I haven’t heard anyone making snide remarks about adopters or non-adopters of VOIP, video chat, IM, blogs, or wikis yet, but give it time.


UBC trip report

Posted in Canadian life, University life at 9:41 pm by ducky

My beloved husband and I just got back from Vancouver, British Columbia, where we explored the University of British Columbia as one of the options for a MS in CS. The other option is Stanford, which unquestionably has more prestige, but everyone says that Vancouver is a great place to live, UBC seemed like a reasonable university, and we have family just across the border in Bellingham.

We were very impressed with UBC.

Grad student interaction

One place that I think UBC really shines over Stanford is in interactions with other students. At Stanford, it is quite possible to get a MS degree without ever seeing another student, thanks to their strong distance learning program. Not only that, but apparently a lot of the on-campus students don’t bother actually going to class in person when the lectures are available on the Web.

Furthermore, at Stanford, the MSCS is a short, terminal program. While you can do research, it’s not the normal path. This means that the students are not part of lab groups, and I think therefore much more isolated.

At UBC, by contrast, all first-year masters students, who usually are not yet doing research, are given a desk and a SunRay thin client in a room secured with key-card access. After the first year, MS students start on their research, at which point they get a desk in a lab with other students in that research group.

Graduate students are also woven into departmental governance much more than I could ever imagine at any of the universities that I have known. There is a grad student on every departmental committee, including grad admissions, including faculty recruiting, including even the committee that chose a new department head. Barry Po, a PhD student who was my principal contact, apparently had been and is still very involved in getting the new building constructed — up to and including negotiating prices for computer equipment!

CS Department facilities

The facilities there are outstanding. They are JUST moving into a big new, well-laid out, well-equipped building. UBC is a state school, and the winds of political favor happen to be blowing in the University and Department’s favor right now. (UBC is building lots of residence halls right now, in part because of the upcoming Winter Olympics in Vancouver in 2010.)

I like the usability of the new building much more than I like Gates, Stanford’s CS building. (And it’s not just the name I don’t like.) At Gates, you have quite long sight-lines down the corridors, but the ceilings are at normal heights, so it gives an optical illusion of being cramped. In the UBC building, the ceilings are quite high.

At Gates, the doors don’t have windows in them — not even the ones leading in and out of staircases or classrooms. (I’m always nervous that I will whap someone in the face as I go through or that someone will whap me.) The faculty offices have a thin, tall window next to their doors that IIRC is frosted. That helps a little, but is nothing like at UBC.

In the new building at UBC, the faculty doors are mostly glass. They are frosted for privacy, but you at least get the natural light filtering through. Meanwhile, the labs — where the grad students live — have clear glass doors, so you can see people bustling. It feels alive.

There is a snack-bar-ish area in Gates which you can discover if you walk through the entire building (as I did). However, it isn’t at all obvious. They are also experimenting with a small student lounge — big enough for about three overstuffed chairs and a ping-pong table.

At UBC, there are two different lounges in the new building. There is an undergraduate lounge on the first floor of the new building in a very obvious place. It’s quite large — there are about four sofas and about ten tables, with lots of handsome chairs (with “cs.ubc.ca” carved in the backs), and some vending machines. Then, on the top floor, with an absolutely stunning view of the ocean and mountains, is another lounge that is more for faculty/staff/grad students. (I don’t know if undergrads are restricted, but they probably wouldn’t go up there.) It felt bigger than the undergrad lounge, had a sink, and I bet it’ll have a fridge and a microwave at some point.

At Gates, I have the sense that most people keep their doors closed. (Either that or nobody’s ever there!) In the CS department at UBC, it seemed like people kept their doors open. It was a much friendlier environment. (Note that this is probably in large part because Stanford has such prestige. People probably bother Stanford profs a lot more than UBC profs.)


We stayed at Saint John’s College, a grad student/postdoc dorm that has a few couples’ suites, and that was a good move. We got to meet a number of the students, who gave us good info about the CS department, residences, culture, etc. Saint John’s has a mandatory meal plan, seminars, and various events that happen frequently. For example, next week one of the guys we ate dinner with is going to give a talk on a particular composer.One woman showed us the suite that she and her husband have at Saint John’s; it is very small by the standards we are used to, but livable.

Saint John’s is interesting in that it has a strong international theme to it. Another, similar residence hall called Green College has more interesting architecture and a strong interdisciplinary theme.

There are also two apartment complexes that we could live in on-campus. These are much more stand-alone: no meal service, no seminars, probably minimal socializing.

If we go to UBC, we think our first choice is to live in Green’s or Saint John’s if we can get in.

Trailing spouse

Canada is MUCH more accommodating of trailing spouses than the US is. Not only would there be no problem with Jim living in a student dorm, but there would be zero problem with him working up there. He basically just has to fill out a form.

They want me!

UBC is recruiting me very aggressively. They want me. They say they think I’d be a valuable addition to the department. They are reimbursing us $500 of the cost of this trip, regardless of whether or not we decide to move there. Barry Po has spent a significant amount of time wooing me when he should be preparing for his thesis defense next week. I had a full day of tours, meetings with faculty, etc.

Stanford doesn’t really seem to care. I have the sense that if I went to UBC, Stanford would just offer my position to one of the other highly-qualified students with nary a backwards glance.

They are friendly!

People were genuinely, sincerely, actively nice up there. For example, I was wandering around the halls of the old CS building to get a sense of the place. (I like to look at cartoons and posters on doors, see what flyers are pinned up, etc. to get the feel of a place.) Alan Hu, one of the CS faculty, saw me wandering around and asked if he could help me find something. I explained who I was and what I was doing, and asked him a few questions about the department. (It’s always good to talk to people that weren’t hand-picked to talk to you!) He ended up spending an hour or so in a very engaging conversation with my husband and I comparing Stanford (where he got his PhD) and UBC.


UBC acquitted itself extremely well. Now I need to go see if I can bend the Stanford experience into one that would give me as rich interactions with other students (and, to a lesser extent, faculty) as UBC would.


Why study?

Posted in University life at 10:54 am by ducky

After working in the computer biz for fifteen to twenty years and being around computers for about thirty-five, I have finally started to take computer classes.I mentioned this to some of my colleagues, who went on a rant that CS classes taught nothing that was useful in the real world. They felt that the way you learned to write code was by writing code.

I decided to go to grad school in computer science anyway, and can articulate three reasons:

  1. to learn what is possible
  2. to find different ways of thinking and talking about problems
  3. to develop shared context


The very next day after my colleagues went on a rant about CS education being useless, I was in a meeting where one person suggested using a hash table.

I knew what a hash table was: a function that operates on data to spread it out into different buckets. I had also heard that coming up with a good hash function was hard.

There was a crucial detail about hashes that I had only learned a few days earlier in one of my classes: the hash function doesn’t need to give a different bucket for each and every data value. (This is called a perfect hash, and is, in fact, very difficult.) It turns out that instead, you make it so that there are only a few items in each bucket, and use one of a few pretty simple techniques for resolving conflicts.

I had never even tried to write a hash function because making a perfect hash looked so hard. In this case, formal schooling showed me what was possible.

Another example of something I had never known possible was Kruskal’s algorithm. Suppose you wanted to find a route through seven towns that went through each of them exactly once and had the smallest possible distance. Kruskal’s algorithm says that you can iteratively take the shortest path segment that connects two cities, and if it connects a city that hadn’t been connected before, keep it, otherwise throw it away. At the end, you will have a path of minimum distance. That you could make decisions on local conditions (i.e. the distance between two cities) that would end up being the minimum overall just blew my mind. (Those are called “greedy” algorithms.) I never would have attempted something like that without having taken that class.

Clearer thinking

At the same meeting where someone mentioned hashing, someone else silenced a discussion by pointing out that because WebDAV stored data as a tree and our repository was a graph, we would never be able to fully map our repository into WebDAV. People had been sort of saying that for a few minutes, but his putting it into more formal, precise language made the issue much more clear. In this case, formal schooling gave him a clearer way of thinking about the problem.

Shared context

Every once in a while, colleagues will make references to Turing machines over lunch. I sort of knew what a Turing machine was: it was a simple version of a computer with storage. I however, had never understood why Turing machines were any different from regular computers; nobody had ever explained the how limited Turing machines were. The neat part of Turing machines is that despite them being limited in the instructions that they can execute, they can simulate all the operations of any computer.

Now, in reality, Turing machines are not very useful in day-to-day coding. I can tell that. But they do come up from time to time in lunchtime conversations and watercooler discussions, and knowing what they do makes me part of the tribe.

Already, I have learned things from my classes that I didn’t know. Already, I have learned things that will be useful in programming in the future. I have confidence that taking classes is the right thing for me to do.

« Previous Page « Previous Page Next entries »