This has been a really great semester overall, I was able to take four classes and all four were computer science related. While taking my classes I was also hired on by an IT professor to be a research assistant writing software for him. I got to work with a guy from India who has became a really great friend and I was able to brew my own beer this semester. This post will mostly be about the topics on the classes I took, and if you aren’t into computers or coding I’m going to try my hardest to make this understandable for everybody.
Software Engineering, the big capstone class for all computer science majors. For this class we were assigned a client our professor found and we had to write some software that this person wanted, honestly really simple. Our project was making a website for our campus Film Club. The hard part was learning to work in a large team, we had 7 people. Communication over Google Hangouts chats worked alright for the most part, but everything was there, I wasn’t able to sift through the chat for certain topics that pertained to me. Source control, for those of you who do code start getting comfortable with it, is something that can’t be overlooked. The issue was that we had a Github repository, the place you store your code for everybody in the group, and then half of the group used the actual website to store the code. The issue with using the website is that when somebody imports a file onto the website it doesn’t merge the files into one, it only takes the most recent. Meaning somebody who just posted something could delete the previous persons work and then they would have to check to see if they had a backup on their computer to manually make the file contain both parts. It was a headache, and with having to deal with previous family medical issues, this class was probably the hardest. However the professor was great, and in class we mainly talked about the life cycle that code follows for big projects.
Computer Architecture, for those of you who have watched Shrek it’s like Ogres and onions, layers. This class started about where computers came from and the progression to where we are now. After the midterms we switched to working with Android devices and the architecture it uses. If you know me personally I really don’t like Java, but that’s what we had to code in, oh well. This class wasn’t that bad, and I really don’t have much to say about it honestly, we just talking about onions and layers really. The professor though, super smart definitely, he worked for Google and Microsoft, was very hard to follow. He was very eccentric and odd, randomly stopping in the middle of sentences to yell nonsense for literally no reason. Very strange guy.
Systems and software assurance, we learned how to look at big picture and learn how to fix issues, not really any coding for the first half. The second half was about secure coding, my favorite. Anything security based I’m very interested in and the professor for the second half is my favorite. The professor really reminds of House from the doctor TV show. Whenever I take one of his classes I learn so much more than I’m really paying for, plus his personality is great, super opinionated, does everything his way and a genius. Some people don’t like him, because they think he’s rude or very arrogant, but honestly if ever talked to him outside of the classroom he is very down to earth and a really interesting guy. Again I don’t really have much to say about this class, other than I still hate Java and even more now, but that’s a very technical topic I’ll probably leave till another day.
Data communication and networking, a very interesting class for something people really don’t think about at all. Honestly the internet is very complicated and to communicate between different networks so much is done behind the scenes to make everything work. Again the way things work on the internet is like onions and Ogres again, there are layers, namely the Open Systems Interconnection model or OSI model for short. When using the internet information goes through the OSI model to be formatted to travel on a network then back through to OSI model to be presented on the other side. The complicated issue to understand what happens at each layer and all the differences that can be within each layer. For people not interesting in technology stuff, just know it’s complicated but also really interesting.
Overall I had a great semester I really learned a lot, but also a lot about myself. I’ve found better ways to learn and how to actually use documentation. Really learning how to use documentation was huge, afterwards I feel like I actually understand why and how something works instead of just copying and pasting from Stackoverflow. I’ve grown as a dad and definitely as a husband. I’m really excited about the summer and next semester since it’ll be my last.