This semester was the first time all of my CS classes were upper division elective courses. It was giddying to have complete freedom after semesters of following a mandated path (even if it was an interesting mandated path). Two of the courses I ended up taking were Introduction to Data Mining and Introduction to Computational Linguistics (from the Linguistics Department).  Several weeks ago, I started noticing that a lot of concepts from the two classes were overlapping. My linguistics professor would mention a classifier that was used to categorize words from a body of text and then the next week I would learn how to implement a version of that classifier from scratch in my data mining class. This happened several times and one week we went over the same probability and statistics concepts in both classes in order to lay a foundation for other concepts we would be learning.

At first I found the intersections were delightfully uncanny. I wasn’t used to having classes coincide with each other. As the similarities continued to crop up, I realized that in the real world, concepts from data mining and computational linguistics frequently mingled with each other. Data mining techniques were applied to language and bodies of text all the time. The classroom walls started melting away. Up until now, I had been chopping my CS education into discrete, semester long, classroom sized chunks. And like a picky eater who compulsively refuses to mix foods, I had not let those chunks touch each other. But now, I’m starting to see why all these different subjects fall under the umbrella of computer science. Data mining and computational linguistics are like two facets of the same gemstone or two strands of an interconnected web. Starting to see how all the different subfields of computer science work together to solve similar problems has made the entire field more beautiful in my eyes. I thought I had understood computer science before, but now I feel like I’m truly seeing computer science as computer science for the first time and not  just a series of checklists on a degree plan or interesting classes.


The views, opinions and positions expressed by the authors and those providing comments on these blogs are theirs alone, and do not necessarily reflect the views, opinions or positions of UT Computer Science, The University of Texas or any employee thereof.