<p>So I’m a computer science major, but it’s not what I thought it was. A semester has gone by and all I did was learn C/C++, a bit more java, and been tasked to make stupid GUI programs and other junk like that. Future courses don’t offer much hope. I don’t really see why I need to learn how to design operating systems or techniques on programming for multi core processors.</p>
<p>I find that boring. </p>
<p>I’d like to solve some kind of theoretical problem. Something engaging I suppose. Yet I have no idea what is out there for pure computer science. I could find little information about big problems in computer science other than P=NP which I am most likely not smart enough to solve. Is this a sign of obscurity or a sign of little other research available. I know there is logic in computer science and we did some stuff with ‘Big O notation’ in a course. Is there research going on with that stuff? Right now, I don’t feel like I’m really learning anything that could be called a science.</p>
<p>You can get an idea of current research topics by looking at the publications of your professors.</p>
<p>The only areas in which I have a remote idea of what’s happening are artificial intelligence and graphics/computational geometry. Let me talk a bit about algorithms in graphics. You might know that in 3D computer graphics and animations, surfaces are typically represented by a huge number of tiny triangles. We need a way to go back and forth between smooth surfaces and triangulations. </p>
<p>When constructing a triangulation for a surface, the triangles should be as close to equilateral as possible for a high-quality picture. The currently best algorithm only guarantees minimum interior angles of 22 or 23 degrees. An efficient algorithm that could guarantee a higher interior angle would be greeted with open arms! Or suppose you have a number of points in space, and you want to fit a smooth surface (i.e. a smooth-looking triangulation) through those. How do you go about doing that so that the resulting surface approximates the surface the points were initially taken from? This problem is known as smooth surface reconstruction.</p>
<p>Outside of graphics, this problem comes up when constructing a map of mountain terrain, for example. We can only measure the height of the terrain at discrete points. How should one go about interpolating between those measurements? It is not as straightforward as it sounds. You can position 4 points in space so that it is impossible to decide if they represent a valley or a mountain. Can you come up with a good sampling strategy that avoids this problem? Even if you cannot tell with 100% certainty what the terrain should be, which outcome is most likely?</p>
<p>Here is an up-to-date collection of open problems in computational geometry in case you are interested: [The</a> Open Problems Project](<a href=“http://maven.smith.edu/~orourke/TOPP/]The”>http://maven.smith.edu/~orourke/TOPP/) Most of them are accessible by undergraduate students, in the sense that the problem statement can be understood with a fairly elementary background. Of course no one knows how much sophisticated math and CS is required to solve them. Maybe you can give one or two of them a try?</p>