I officially received confirmation yesterday that all my coursework has been approved, and I’ll be graduating with my Masters in Computer Science degree (with a 4.0 GPA) on 05/11/2008. After several years of part-time study, I wanted to reflect on all I’ve learned through the program. Over the next few days, I’ll be posting about my courses and self-directed projects.
1. Analysis of Algorithms - this was my first class in the program, and I was initially concerned about my ability to succeed. Much of the course was intended to build on undergraduate courses in algorithms and discrete math, neither of which I had taken before. I spent the first few weeks trying to establish that foundation so that I could dive into the deeper level we were addressing in the graduate program. Although the course itself was tough, I was able to really understand the message behind the course. Whereas often undergraduate programs (and let’s face it, day to day work) focus on finding a solution to a problem, this course looked at finding an optimal solution (where viable). We learned to recognize certain types of problems to assess the benefits in working to optimize a solution.
2. Communication Strategies for Technical Professionals - It was in this course that I first met Roger Engle, who quickly became one of my favorite instructors of the program. Roger wasn’t teaching a class, he was teaching individuals, and he met with each individual to ensure his individual needs and expectations about the course was met. We did some writing and some presentations. I’m pretty sure that everyone came out of the class more comfortable and confident in his presentation skills, which was fantastic. One of our deliverables for the course was a whitepaper on a subject of our choice. I wrote about machine translation and natural language processing and generation.
While dramatic advances have been made in the area of natural language processing, the complimentary process of natural language generation is still in its infancy stage. The creation of unique, grammatical statements remains a human activity that can not yet be performed by computers in a meaningful way.
My first undergraduate degree was in Combined Languages (French and Spanish) with a minor in Linguistics. I selected this project because I was acutely aware of the challenges humans face in performing translations, and humans are able to “pick up” languages naturally! The idea that we can program a computer to such that it may generate meaningful, grammatically correct statements is quite ambitious. This project was really only scoped to illustrate how computers are not currently able to do perform such tasks.
My “experiment” was to use several online translation tools to translate a body of text to and from another language. We can not gauge how well the system was able to “understand” the input, but it is easy to verify that the output was often nonsensical and not grammatically correct.
One of the most interesting observations was when I translated the text to Russian and back to English. Some of the target text was not translated; in the middle of the Cyrillic output was “to and from following”. However, the original text had been “to and from the following”. Russian doesn’t have articles like English does, so I was really interested in the fact that the articles were dropped even though the fragment itself wasn’t translated. I wasn’t sure if this was simply a quirk of the translation program or if it was a sign of something more.
3. Theory of Computation - this course was incredibly theoretical, and incredibly interesting. Unfortunately, it is no longer offered at Franklin. We looked at computability, complexity and automata theory: what makes a problem easy or hard, what makes it solvable or not, and how we can apply mathematical models to computation. There were a few reasons I really enjoyed this class. One is simply that it was problem-solving. Because we were operating on a theoretical level, there was no way to really assess if our assumptions were right or wrong. Therefore, it was just about determining a plausible solution. Things were rule-based, which reminded me of Optimality Theory from my undergraduate linguistics classes.








I hate when colleges drop excellent courses. Depending on how things go with OSU I may be checking into Franklin, so I look forward to your course descriptions.
I’m still kind of pissed that they dropped their BA offering I was interested in.