Pablog

“Talk is cheap. Show me the code.” - Linus Torvalds

Day One of Classes with the Masses

So yesterday I did it. I worked up the nerve to walk over to the Facultad de Informática and tried to attend a few classes. I had been trying to decipher the mess of a class schedule online for a while, and it always resulted in me giving up frustrated and confused. Even though I’m only taking the classes “de oyente” (auditing), I still needed to find ones that seemed worthwhile and fit in my schedule. This past Monday I finally followed through and made some decisions.

First of all, I decided that I wanted to take subjects that I have not already taken in the US, because then I have the possibility of actually learning something, which makes me much more likely to want to understand. For this reason I chose from the classes that are “optativas,” which is to say, optional classes for upper level students to take.

The two that fit into my schedule and looked interesting were Teoría de la Programación and Programmación Concurrente (Programming Theory and Concurrent Programming, respectively). Here was my fatal flaw: on the schedule under “Cuatrimestre” (Quad-tri-mester? Don’t ask me; it works like semester.) both of these classes listed as “1º y 2º”. Silly me took this to mean that the courses were offered both semesters, but I was wrong, oh so wrong.

So yes, I spent yesterday waltzing into year-long classes on topics that are slightly over my head with students who have already been working on it for a full semester. It was awesome.

I struck up a conversation with the girl who sat next to me outside the Aula before class (”Am I in the right place? Oh thank God.” etc.), and she was very nice and helpful. She informed me of the Fatal Flaw and introduced me to the professor so I could ask permission to sit in on class. She also recommended another class she is taking as a better one to sit in on as it is more just talking (less theory and math) and also it is only second semester, so they just started. It’s called Cuestiones Sociales, Legales y éticas a cerca de la informática (Social, Legal, and Ethical Questions in Computer Science) and it sounds like exactly what I want to take.

Note: Here is where Paul works through everything he can remember from these classes to see if he actually understood anything. Apologies in advance for any headaches caused.

So anyways, I was completely lost in Programming Theory as the prof starts by writing this on the top of the board (in terrible handwriting, mind you):

whileor P=skip|x:=<|P1;P2|if b then P1 else P2|while b do P|P1 or P2

When he wrote “else” he turned to me with a half-smirk and said “here we say ‘el-say’, not ‘else’.” I think that this is a semantic (or some term like that) for a language (like all possible statements) and P stands for problem, b probably stands for boolean. They then discussed the difficult last question from their semester exam which was something like:

For whileor does there exist a P,s {s'|(P,s)→s'} that is infinite even though all its calculations are finite? Discuss and give examples.

If you’re at all confused, allow me to share with you that I think s stands for state. Does that help? No? Well, for those of you who aren’t experts in programming theory, the answer is apparently “yes, of course!” The prof explained König’s Lema: All trees with an infinite number of nodes have (at least?) one infinite path (even though the nodes themselves are finite). This applies to calculations and programs as well, and an example of this (I think) is trying to achieve a random number (x := random).

At this point I thought to myself: “Okay, barring lack of knowledge of the syntax and symbols involved, I can mildly understand this!”

Then they moved to whilepar (where par is parallel, I learned by asking the girl next to me, so P1 and P2 run at the same time). He told the class to develop a semantic for it and the students started writing a bunch of complex looking inference rules in their notebooks, then after 10 minutes the prof asked one student for what he had and they argued about it for a bit and then class was over. Suffice it to say: I was utterly and completely lost. Honestly, after spending 2.5 years in classes which were for the most part way too easy and dull for me, this was kind of a nice sensation.

Next up was Concurrent Programming, where this sensation continued. Now, in Operating Systems I learned the basics of this topic, and this helped me get my bearings a little bit. Also, another important detail. They talked about Semaphores and Conditional Critical Regions and Monitors, and I soaked in and wrote down what I could. This prof spoke even less clearly and had even worse handwriting, but he was very nice to me. When I introduced myself, he asked me if I wanted to come to his office after class to get a syllabus. He then said in heavily accented but very good English: “I would love to teach you Concurrent Programming in English, but unfortunately, because not everybody knows it, I can’t.” I found this very amusing.

After class, he was excited to speak in English with me so that he could practice his. We went up to his office where I learned that the textbook on which the class is based is actually in English. Apparently this is the case with most CS books, as the overlap between those who know Spanish & English enough to translate and those who enjoy CS is small. (So at least I know I have an exciting career option there if I ever need it.) Anyways, in his office the prof started to go over some of what they learned first semester… 15 minutes into this his office-mate (who was sitting on the other side of the room programming in Java on his Linux running laptop and had lived in the U.S. for five years) leaned back and said “Jeez, are you trying to teach a whole semester in one sitting? Give the kid a break!” This is the same guy who snorted when I tried to use the idiom “food for thought” in Spanish, turned around and informed me that it’s a no go in Español. So the prof wrapped up and I talked a little Linux with the other professor (I learned he was running SUSE and had a shelf full of distro-cds from Linux Magazine). They told me I was welcome back to the office any time (the prof said “if you ever are in trouble” and the other laughed again and corrected “if you have any doubts”).

All in all, a major success and a lot of fun.

Activity

5 total comments, leave your comment or trackback.
  1. Jenny
    Mar 1st 2007

    Felicitaciones, Pablo! …y no entiendo la idea de “cuatrimestre” tampoco.

  2. Glad to hear you branching out! That programming stuff looks terrible… here’s how that conversation would’ve gone in my mind:

    “Here we say el-sey, not else.”
    “That’s funny, because it looks like just every programming language in the history of EVER is in ENGLISH. NYAHHH!” … but that’s just me.

    Off to work! Hope all is well :)

  3. Aunt Peggy
    Mar 1st 2007

    Hi Paul,

    We’re following the blog with interest. Of course I have no idea what you’re talking about re: computer programming but from an Aunt’s perspective, I am astounded by your absolute brilliance! :-)

    Good to hear you’re feeling challenged and stimulated. And also glad you’re noticing the beautiful sunsets. That’s the balance I’m always looking for.

    Stay well and as always …. don’t forget to have some FUN.

    Auntie P

  4. This is one of the first posts where I get the impression that you are really excited about being in Spain. Not that you weren’t before, but, perhaps, you seem to have reached a point where you are not so overwhelmed and are enjoying it. It’s mind boggling to think that there are similar computer “geek” types all around the world, I guess it’s something I never realized.
    Miss you!
    -jessa

  5. Loved hearing about this! Of course I followed all the math. HA Soon we will see you in person! Hooray! love MOM


Leave a Reply


Search

The archives run deep. Feel free to search older content using topic keywords.