Archive for the ‘Tufts’ Category

Activists and Engineers

Tufts is an activist’s college. You can hardly walk across campus or read The Daily without encountering arguments about the Middle East, sexual assault, racial or class privilege, the LGBT movement, or any other social movement. Don’t get me wrong, these are worthwhile causes and injustices worth correcting. But nevertheless it becomes grating. Everyone at Tufts wants to save the world, and it’s tiresome. My housemate summed it up when she said, “there are eight sides to every coin”. My campus doth protest too much.

What if I’m tired of ambiguity? What if I just want to curl up into my own little corner of knowledge marked “Engineering” and make things that work? Unfortunately, I don’t get the choice.

Today was the final project presentations for my Visualizations class. The field straddles art and science. One one hand, we learn about the human visual system, the mathematics of multidimensional data, and the coding techniques behind certain graphics. On the other, there are many subjective design and aesthetic choices to be made. What questions do you ask of the data, and then how do you present them to the user? Success is cruelly defined by whether the target user can navigate and learn from what you produce, which is as definitive as any physical phenomenon but much harder to predict or explain.

Later in the afternoon I attended a colloquium by Mike Eisenberg (computer science and cognitive science, U Colorado). He spoke about education technology that does not involve traditional screens. He asked how we can design physical spaces and materials to be conducive to science and math education. My mind wandered upstairs to the electric engineering lab, where I had been the beneficiary of an obsessively-organized collection of resistors and capacitors in constructing a complex circuit for another final project. I then thought back to the machine shop where I built robots in heigh school, which was called “Chaos Central” for a reason. Tools did have their homes, mostly, but old robot parts hung from the ceiling and it was never truly clean. Much as I would like to fantasize about a large, organized workspace to host my own robot team years down the line, I realized that chaos is part of the equation, even (especially?) for engineering. Eisenberg read my mind, rather literally. He said that although math and science are rational disciplines, the paths into them are anything but. The apex of his talk used language quite similar to what I have previously used on this blog: if only we could find the perfect way to present material, the universal narrative, education would be a solved problem. But we can’t, because it’s idiosyncratic, subjective,  and personal. My head reeling, I wondered: how can we eliminate the stigma and misconception that the sciences are dull and austere? They are anything but.

Then, later that night, I attended a talk given by Daniel May, Director of J Street U. Try this one on for size: a Jew, speaking mostly to Jews, about the right of Palestinians to a state, because it was the right thing to do. (Liberalism defined). Some of the questions he fielded were from even further left. The conflict has been notoriously divisive, even by Tufts standards, so it was pretty jarring to hear reasoned and well-articulated criticism of Israel. The larger point was that this was not a utopian undertaking but rather meant to be merely a more perfect union, an improvement over the status quo.

I have nothing against those who take up advocacy of Cause X, but I realized tonight that it’s not my narrative. Zoom out enough and you get “righting wrongs”, a banner most college students will happy walk under. But zoom in just a bit on Tufts and you get “righting social wrongs,” and that’s not what I’m in to. I want to right intellectual wrongs. I want to change education, to end the stigma over science and math, and stop those who deny the ways in which we have made such tremendous progress. Homeopathy upsets me. The antivaccination movement infuriates me as much as any other activist trying to end the senseless deaths of children. And the fourth-grade “science” quiz that’s been circulating the internet makes me livid.

The secret to life is education. It’s really that simple. Yet I feel that my chosen institution of education, for all that I love about it, has a subtle yet core value not quite aligned with mine. Change doesn’t begin in a foreign country with one of the most intractable conflicts of human history. Luckily, Tufts realizes that engineering and education don’t take place in a vacuum. I can’t treat people as robots or build robots without thinking of people (although many do). On the other hand, I do not want to fight against every injustice every committed. There just isn’t time or energy. The political causes I support have objective grounding: if you can’t get someone to accept a fact, how can you ask them to accept a person? Everyone at Tufts wants to save the world, but maybe the engineers will actually make some headway.

Running to Maturity

Let me tell you about my day today.

Tonight is the first day of the Jewish new year, and my housemates are having a festival dinner. They didn’t ask me to make anything, but I decided to bake a desert my family traditionally makes for the holiday. I’m quite fond of the dish, a chewy honey and walnut rod wrapped in dough, and I thought it would be a good piece of home to take with me. My parents faxed me the recipe, I bought the ingredients yesterday, making a few substitutions. (It wasn’t worth buying a bottle of nutmeg when all the recipe needed was a dash of it.) Anyway, this being my first solo baking escapade, it went about as well as could be expected. I’ll spare you the details, but suffice it to say that the honey got slightly burnt, the dough was crumbly, and the result was merely edible.

As I was doing my best to preserve family history as a part of a three-thousand-year-old holiday, my housemates were recovering from an alcohol-drenched night out. (I had stayed in uneventfully.) As I called my family several states away, I learned that my older sister was flying across the country, from L.A. where she had a job interview and caught a stomach bug, to Boston where I was before driving up to New Hampshire. My mother suggested I should invite her over for dinner. I texted my housemate and asked if that was okay. It was not, she hadn’t prepared enough food, so I offered to make something and told her my sister doesn’t each much. At this point I received a number of … high-strung text messages from her. (I learned later that she had been in the middle of recounting the story of last night to a friend that had blacked out.) Meanwhile I was panicking about how the cores of my baked dish had turned out hard and burnt. I decided the best thing for my sick and tired sister was to go be a mature, married adult, and stay away from these collegiate shenanigans.

We all have crises, but how do we handle them? And then do we handle the next crisis differently? Continue reading

A new place of activists: math

This article originally appeared in the Tufts Daily on March 14, 2012.

Remember the unit circle? Of course you don’t. It’s a bunch of numbers lost in the fog of high school geometry. But it’s not your fault. It’s pi’s fault. Pi is wrong, and I want you to help make it right.

I don’t mean that pi is factually wrong; the ratio of a circle’s circumference to its diameter hasn’t changed. I mean that it’s the wrong choice of the circle constant because it leads to weird and unnatural situations. Let me explain.

Mathematicians don’t like to measure circles in degrees. They prefer radians, which are just a way of making every circle look like the unit circle, regardless of size. Because the unit circle has a radius of one, its diameter is two and its circumference is two−pi. Therefore, every circle has a circumference of two−pi radians. Pi radians is only half a circle. That’s all the math you need. I promise.

So, in classic textbook tradition, let’s apply math to a real−world situation where you would never actually need it. Say you’re cutting up your favorite circular fruit−filled pastry and your friend wants a mathematically precise amount. Where do you cut? The problem is that one pie isn’t one−pi — it’s two−pi. If you want an eighth of a pie, it’s a quarter pi, measured along the crust. It’s also really confusing, measured from anywhere.

Continue reading

Right in concept, right in practice

The classroom had two chalkboards with a column protruding between them. On the far left on the left chalkboard, the professor wrote “RIGHT IN CONCEPT.” In the middle of the left board, he wrote “RIGHT IN PRACTICE”. “Many of you have been in situations where the gap between ‘right in concept’ and ‘right in practice’ is relatively small,” he says. I wasn’t quite sure what to make of this. “How many people met the spec on the homework?” he asks, and then scrawls a zero with a line through it on the board.

“The spec says ‘groups shall be separated by blank lines’. Most of you interpreted this to mean ‘print a newline after each group’.” He then makes a big deal about the single blank line after the last group that the second definition would print that shouldn’t be there. The unspoken response of the class was it’s the right concept and a person can tell the difference, stop making mountains out of molehills. But no. Since many machine-level programs interact only with other programs, he explains, it must meet the spec exactly. He rewrites “RIGHT IN PRACTICE” on the far right of the right board, some forty feet away from its counterpart. “In the real world ‘right in concept’ and ‘right in practice’ are very far away, and there’s a big bump between them!” He slams the chalk on the column for effect.

Continue reading

Otis the Debugging Dog

Hello everyone, I’m alive! I’ve just been really busy, in part with a very work-heavy machine-level programming course. I dropped by the professor’s office hours yesterday. His cramped office was in the annex of the computer science building, with a whiteboard on one wall, a shelf full of very technical books occupying another, and a window out into the gray rain taking up a third. A desk piled with papers and a peculiar keyboard separated us, and made the space even tighter. For his part, the professor was was wearing a New England Patriots jersey. After some discussion about bit shifts, I asked him what may seem to be a peculiar question: “What is Otis the debugging dog?”

Continue reading

Computer science is about computers…

…to the same extent that astronomy is about telescopes. ~Edsger Dijkstra (attributed)

Which is to say, computers are tools that allow us to explore what already exists. A stack isn’t contained in the code; it’s “out there” wherever the rest of mathematics is. If there’s a Platonic world with a perfect equilateral triangle, there’s also a stack there. Oh, a stack is just a bag that always gives you the last thing you put in it. The ancient Greeks could have worked with stacks along with a lot of “computer” science. So it’s not about computers at all. Next question: is it a science? In the process, we’ll go through my courses this semester.

My Psych 1 class goes to great length to claim that’s it’s a science, to the extent that the textbook is called “Psychological Science” and spends the first chapter explaining why that’s not an oxymoron. Most of the way through the course, I don’t buy it. Every single finding in psychology is couched in statistics. If I bring a magnet near a piece of nickel, it’s not probable that they’ll attract; it’s absolutely certain. But if I’m manipulated in a certain way, there’s only a likelihood that I’ll behave as the theory predicts. Psychology is a reverse engineering of the human mind. You can examine the chemistry of an action potential, the parts of the brain, the inputs and statistically likely outputs – but none of that tells you what’s actually going on, the rules the mind is using, the source code, if you will. Freud’s iceberg of id, ego, and superego is a nice representation but ultimately they’re just homunculi.

Next, chemistry. This is the opposite problem: yes, you can find mole fractions and partial pressures and bond angles, and these models is a very close approximation of real life. But who cares? It’s meaningless information to me, the properties of chemicals I don’t handle and can hardly pronounce. On the other side of science is my astrophysics class. (Sure enough, no telescopes directly involved.) We work with equations that are approximate, that assume celestial objects are circular when they’re not or an observed rate is steady over time when you have no way of knowing. Sometimes we use an empirically observed constant, a magic number in the middle of a formula for no apparent reason. That said, the answers we get are still accurate (at least to an order of magnitude) and always match observed results. The value of the Chandrasekhar limit, the maximum mass of a white dwarf, may only be known to a tenth of a solar mass (10^29 kg), but any white dwarf that gets that big will explode. (And if it’s not that massive, it won’t.)

So science models. That means that there is slop in the system, both in terms of observed data and the model itself (a real gas is never completely ideal). A good model is quantitative; it has numbers and equations. Or failing that, it gives a qualitative conceptual reason why equations can’t be used. Science walks a line: not so abstract as to be perfectly predictable and not so empirical as to helplessly phrase findings in statistics. The former is mathematics; the latter is….well, it’s not science.

On to mathematics. Essentially, it’s like science except the models don’t have to represent anything physical, and therefore, are perfect. I don’t believe that Platonic forms physically exist; they exist in the shared conscious created by education. Except that’s not quite right; these forms are defined by the axioms in ways that aren’t immediately apparent. I can’t imagine a triangle whose sides add up to something other than 180˚ in Euclidean space. It doesn’t exist. Similarly, a complex definite integral has only one value, even if evaluating it is non-trivial. But that’s way beyond the scope of this post.

So computer science is closer to a branch of mathematics than a science, and prior to the last half-century was completely mathematical. But now, with computers, we can evaluate programs basically instantaneously. I can write code, see output in about ten seconds, go back into the code, change one character, wait another ten seconds, and the exact changes I thought I made, were made. So it’s closer to writing proofs than integrating. Except not really.  So I guess the reason the term “Computer Science” persists, despite being such a misnomer, is that no one really has a better name for it. It’s an emergent field; we haven’t explored the possibilities yet. (By contrast, the 1600s haven’t changed much in 300 years.)

I’d like to point out that while a stack may exist in abstraction, actually modeling it is a different thing altogether. You can program a stack in one of many different ways of storing the data. In science, these would be competing theories, and either one would be right and one wouldn’t, or they’d have complementary strengths and weaknesses. But in computer science, a program that simulates a stack isn’t a model; it’s an implementation. It’s a perfect model, but not the only one. If you get your code to work properly, and ignore that some methods are more efficient than others, and standardize the syntax (details, details) – every implementation of a stack is interchangeable. There is just the right combination of certainty and freedom, constraint and ambiguity, coupled with – for the first time in history, for any subject – nearly instantaneous feedback.

And while there may be a perfect stack that I can implement, an actual program involves design choices. These are subjective decisions that can only be made by a human. A perfect database or game does not exist, even in theory. There’s an art to it. The art of writing extremely explicit instructions. But in a language that’s more intuitive for a computer than a human.

I will not be a computer to a computer.

And that is why I am a computer science major.

Though it sounds contradictory, comp sci is the class where I think least like a computer. Any class with a problem set (chemistry, calculus, astrophysics) devolves into trying to find the preprogrammed path: correct equations, correct numbers, correct manipulation, correct answer. It’s right or it’s wrong. Do what they want you to do. 

Psychology feels similar, though there’s not an equation in sight. The tests and quizes are all multiple choice. Oh, you could write an essay, but that’s the ethically required alternative if you opt-out of six hours of being a guinea pig. They sit you down at a computer and try to implant false memories, or make you feel like a racist jerk, or generally manipulate you using buttons you didn’t know you had.

And then, there’s computer science. I’m studying data structures, which basically means boxes inside of boxes with directions that lead you to other boxes. Where a math or science problem asks you to reinvent a solution, a comp sci question asks you to rediscover a solution. How does one find the first box in the second half of a list? How does one print out the contents of every box in a tree in numerical order? These ideas and processes are abstract and general enough that I’m not digging up something buried by the professor, but rather by the way the universe works, and the interaction between simple ideas.

Or alternatively, the professor gives you a set of quantitative criteria – rather than a number to find – and lets you find your own way to get there. There are lots of complicated (and subjective!) design choices in a program of even 100 lines. And – here’s a novel concept – he trusts you to find your own solution. Computer science is the only class where there’s more than one way to do it.

Further reading