As graduation draws close I would like to take a moment to reflect on what I have learned throughout my graduate education. When I finished my bachelor’s I felt ill-prepared to enter the work force. How much of that was just impostor syndrome I’ll never know. After taking some time for myself and continuing my education I feel like I’ve come out a stronger programmer. I did not choose a traditional computer science path for my masters. Most people chose to study big data or security, the big money fields, but my interest have always been torn between programming and design. I understand that manipulating large databases and creating secure programs are important for every area of computer science, but they’re not the areas I personally enjoy working in. I’ve always been a visual person and I like being able to see what I program come to life on the screen. I think good web design is an art.
In the courses I took over the last two years I was introduced to many different technologies and ways for users to interact with programs, from the very traditional windows form applications to Virtual Reality mobile apps on the gear vr. I created my first Android apps using both Java in Android studio and C# in unity. In my creative automata class I didn’t even code at all, but we explored the ways that users interact with the world and how technology can be used to enhance those experiences. As a class we made our own small internet of things project that allowed interaction with static art displays.
This past semester I took a class in semantic web, something I had no previous knowledge in and I learned about all the ways that we can make it possible for not only users to interact with the web, but also computers. Enabling computers to be able to form connections between data and understand web pages from a semantic point of view can allow users to more easily find data on the web. There are billions of websites filled with unimaginable amounts of data and no possible way for humans to parse through all of the information to find what they’re looking for. Search engines are very powerful tools that help us to make the best use of our resources, and with the aid of the semantic web they are becoming more and more powerful.
Another field related to semantic web, in fact perhaps even the necessary predecessor, is artificial intelligence. Many of the tools used for semantic web came from the AI community; semantic networks, description logic, knowledge bases, etc. I took both classes the same semester, not realizing how intertwined they were and it was interesting to hear about these ideas from both perspectives. One particularly interesting field of AI is machine learning. When I signed up for machine learning last spring I didn’t think it was something I would ever have the opportunity to work with in the real world; I imagined robots and self driving cars, which all use machine learning, but it is much more than that. I learned about collaborative filtering, which we see on the web every day, any time you go amazon and you see suggested products to buy or Netflix suggests what movie you should watch next that is an example of collaborative filtering. When you start typing a search into Google and it begins suggesting search topics or even predictive text on your phone, these are all ways that we interact with machine learning every day. The more I learned about it, the more I realized that machine learning will soon be part of everything we do.
I think the most important thing I learned during my masters degree was how connected all areas of computer science are. Sure we all want to specialize in one small area, but you need every part to make a complete system. I think being able to see the big picture and how all of the parts work together is an invaluable skill as a computer scientist.