End of First Week
It’s the end of my first week in Spain, and overall it’s been pretty enjoyable. I’ve walked quite a bit of the city for the time I’ve had, and I have to say that it’s rather beautiful. I’m probably first going to cover what happened in class, then probably roaming the city, then what I did to the blog. Also, after this one, posts will likely get a little shorter, as I’ll not be covering many days at a time.
On Wednesday, May 13th, we met outside Onix at 9:15 with Sabir (one of the program coordinators and instructors) and walked to the Metro. We rode the L1 train down to Espanya (Not España, mind you, this is Catalan), switched trains and got on the L3 and rode to Zona Universitária. From there it’s a pretty short walk up to the school. The whole ride takes about 40-50 minutes depending on walking speed and train timing. The Barcelona Metro (abbreviated TMB for Transports Metropolitans de Barcelona = Metropolitan Transportation of Barcelona. TMB Maps) is significantly better in pretty much every way to Atlanta’s MARTA rail system, other than the fact that MARTA has many more actual seats. Having fewer seats does allow for many more passengers, and the Metro is quite often crowded. Fortunately, Spanish people mind less about being touched, and willingly cram in.
Anyway, we had an orientation and terribly boring tour (sorry tour guide lady, not your fault, I just wasn’t in the mood to see all that). Afterwards, those of us who weren’t taking spanish left.
On Thursday, the first day of classes, I attended CS 3510 Algorithms with Merrick Furst and CS 4475 Computational Photography with Frank Dallaert.
Algorithms is probably going to be a decent class here (I can’t say the same for what I’ve heard about taking it at Tech). Merrick is rather engaging and stops at appropriate intervals to check that students are “tracking”, or following and understanding the lecture (Never heard that used in this context). We broke down mathematical addition into its smallest steps, and discussed Big O of the operations. Overall, it was a pretty enjoyable class, and it will probably be worth the trouble of waking up at 7:30 AM to get to.
Computational Photography was equally as interesting in different ways. The main things I remember at this point were that we all went to the front of the class and had our picture taken. Below is the average of all of our faces using the kinds of simple techniques we’re going to learn in the class. Click the picture to see it’s Flickr page. We were all required to have Flickr accounts for the class, so mine is peisenmann3 (If this isn’t right, check my about page for an update).
After that, we all downloaded Processing, split up into groups, and began to work on the assignment he gave to take a picture and separate out the red, green, and blue channels. My group was the first group finished, and we produced the following image:
Professor Dellaert was a little nit picky of code that was written. He gave one group a hard time about using a variable named orig instead of original, which I have to say is pretty close to the nit pickiest thing you could bring up. It looks like it’s going to be a good class, though, and I’m probably going to start my half of the group project tonight. My teammate is Kevin, the guy on the left in the above photo, and I think the others will be in my group permanently, but it was a bit hard to tell.
On Friday, I had Algorithms again where we expanded our talk to multiplication and some basic graph theory. Merrick posed a question to us that no one was able to answer effectively. The question is:
Given that you have N nodes and E edges in a connected, undirected graph, how can you go from an edgelist to an adjacency matrix for a cost of O(E). Also, the memory for the adjacency matrix is not filled with nulls or 0’s, as that would take O(N) time. Additionally, assume the graph is relatively spare (N is large, E is small).
So, the main trouble is that the matrix has any kind of nonsense in memory, and you need to be able to represent that there is a connection (remember, it’s undirected, so any indication of connection is fine) without it getting trampled on by garbage still in memory. Feel free to take this time to comment on this post your answer before reading what was provided to us, if you like.
The first mediocre answer someone came up with was:
If you pick a random 256 bit number, there are 2^256 or about 116 quattuorvigintillion (seriously, 1.16*10^77) possible numbers that could be. Thus, the chances that memory would contain this number are pretty low. If the average computer executes about 1 billion instructions per second (which Merrick says it does), then it would still take more than 7 * 10^63 millinea to hit all those numbers, not that that’s relvant. Since random is random, though, I don’t like this option because there is still the risk that your matrix would be wrong because of random not being unique.
Finally, Merrick shared with us this nugget of wisdom:
Add a stack. You have the address of the top and bottom of the stack. Every time you add an entry in the matrix, add an entry in the stack and move the top of the stack up. The entry in the matrix should be a pointer to the entry in the stack, and the entry in the stack should be a pointer to the entry in the matrix. This way, you know for certain that the stack has absolutely 0 junk in it. If the stack has no junk, then you just check does the matrix entry point to a stack entry, and does that stack entry point back. If any of that fails, then no connection on the graph, or if they pass, then there is. Pretty foolproof and nice as far as I can tell. The biggest downside I see is that now you’ve caused a storage system that was only optimal when nearly full and poor when sparse to now be poor when sparse and nearly as poor when full, since you’re doubling the entries.
So, that was kind of neat.
After Algorithms, Merrick went straight into Barcelona Leap, which is an entrepreneurship class with a computer related focus. We mostly spent the time talking about value, and Merrick got us to look both internally and externally for how to increase or realize our value. We all divided into random groups, then each group spoke about its members. Afterwards, each group wrote down how much they’d invest and in which group and for how much of that group’s shares (thinking of them like companies, 5% of their shares, 50%, 20%, etc). Merrick collected the results on paper, and only shared the totals that were obtained, but not which groups had which totals. One group had 10 votes, nearly half the votes of the class, and one group only had 1. Interestingly enough, Merrick said he would have picked that group over the others to invest in personally.
Lastly, in terms of classes on Friday, we had a specially scheduled Ethics class. This class was taught by Frank (same guy who teaches 4475). Normally, that class won’t meet on Fridays, but they thought it was important to have at least one meeting of each class this week, and that’s the only one that doesn’t normally occur on Thursday or Friday. The class is supposed to be divided into two parts, both of which seem like they’re going to be less interesting to me than his programming. The first part, ethics, we didn’t really cover much at all. The text book’s first chapter is mostly just an overview of technological improvements since around 1600, and that’s all we talked about in class. Grant, one of the TAs, drew a timeline, and Frank mostly filled it in with handwriting that I coudln’t particularly read. The whole thing took nearly an hour, and clearly I don’t remember most of it. There was a break, and we came back with the arguments portion of the class.
This part was a little better. We read a paper I’ll call The Gordon Adams Petition. The gist is that this guy, Gordon Adams, is 43, and he is pursuing a degree in law. He wants to be able to attend law school at a certain time, and given the requirement that he take certain math classes, he won’t be able to make it. He offers that he can take other classes in their place in order not to reduce the number of hours needed for graduation. He also offers the testimony of a couple professors and lawyers that he won’t need the math, and that he’s an architect of sorts, and doesn’t need the extra math. The class was divided into groups, and we talked about the problems at hand of whether or not to allow his petition. The first 3 groups to present said no to the petition, while the last 2 said yes.
If you have any thoughts, like before, you’re welcome to post them in a comment before reading on. Also, my group’s points won’t be in a spoiler box like before since this is more of an opinion kind of question anyway.
So, my group came to the unanimous decision to deny his petition on the following grounds. First and most importantly, if taking this math is going to cause him to graduate later than he wants, how is taking a different class going to help? He continually makes the argument that he doesn’t need the math, but doesn’t offer to take any kind of placement test to prove, and rather offers anecdotal evidence instead. If this is solely a time thing, he offers no evidence to that end, and it indeed has a strong feeling of a dislike of math rather than a lack of need. Additionally, he offers opinions of lawyers and professors as to whether he needs the math. The subset of people he’s asked are relatively small and relatively irrelevant. A thousand people might believe contrary, first off, and additionally those people did not decide the requirements; it would have been more appropriate for him to ask a college board member why it was required than random professors. In the end, all he offers is his word that he is good enough at math, and that he will not bring dishonor to the college when it clearly sounds like his distaste for math is more likely the motive of the petition.
You’re welcome to read the paper and disagree, as that is what arguments is all about.
As for roaming the city, both Thursday and Friday we walked back. On Thursday, we took a rather convoluted path back to Onix. We stopped to get food along the way, and the waitress was really nice and friendly. I got a lomo queso, or pork and cheese sandwich. The pork was more like thinly sliced porkchop meat than ham. For whatever reason, the waitress gave us each (there were five of us, Jason, Thomas H., Thomas L, me, and Kevin) what Krystal helped me determine (over the phone) was probably Apple Ice Wine. If that is the case, the stuff runs like $8 per shot, so we got a good deal on that. I’m still not sure what or who caused her to want to give us free drinks, but I guess free is free. Unfortunately, the long and winding nature of the path we took caused it to take nearly 3 hours, so Jason only had a few minutes to sit before having to leave again to Spanish. On Friday, we took the straighter path back and it was much less eventful. This time it was Brian, Vlad, Thomas H, Thomas L, and me. The only stop we made was in the Vodaphone store, but since I was the only one that needed to go, I decided to wait. Brian also encouraged me to see if I could unlock my phone from codes found online. It turns out that I was able to (it’s just a plain samsung, so I didn’t think it would be too hard). I later went back to a closer Vodafone store and got a Sim card and plan.
Thursday night was the night of the big Barcelona football game. Barcelona won 4 to 1 and tonight their victory of El Copa Del Rey was sealed as Madrid lost to VillaReal. Ben, Brian, and I watched the game in a hole-in-the-wall bar. We were far enough from Plaça Catalunya (Catalunya Plaza, more or less a giant median/park thing) where the game was being projected that we missed the ensuing riots. Riot police were called out to scatter the people after they’d had their time to celebrate. My roommate was there and got some pictures that hopefully I’ll be able to link to later.
Alright, time to wrap this up with what I’ve done to the blog. I’ve installed quite a few plugins, namely Advanced Spoiler, Akismet, All in One SEO Pack, Global Translator, Google Analyticator, jQuery Lightbox, NextGEN Gallery, ShareThis, WP Greet Box. All in all, I like the things I’ve installed, and I’d recommend all of them. As noted on the about page, my theme is no longer Barcelona Metro because it was not compatible with NextGEN Gallery as far as I can tell. I tried to make it work, but it wouldn’t so I gave up and installed a different theme instead. This one is called simplev. I might make my own eventually, but this will do for now.
























