CMSC 208 – Grammars, Languages, and Automata (Honors)
CMSC 208 is a class that I took as a split-section honors course. This course was taught by Dr. Julian Dymacek. CMSC 208 was unlike any other computer science class that I have taken at Longwood. CMSC 208 is a class that is entirely based on the theory of computer science as opposed to the application of concepts. I enjoyed the change of pace this class offered, but I can definitely say that I enjoy the programming courses offered in our major a little more. We covered topics including the concepts of grammars and languages in computer science, algorithmic efficiency, figuring out the complexity of a problem, and we talked about influential figures of computer science, such as Alan Turing and Alonzo Church.
One of the most important and interesting concepts that we talked about in CMSC 208 was the idea of algorithmic efficiency. The idea of figuring out how efficient an algorithm is will be very important when working in industry. While writing code, it is very important that your algorithms run in a timely manner, and it is important to know how to improve the time efficiency of your programs, both of which are skills and concepts that were covered in CMSC 208.
Linked above is one of my homework assignments from CMSC 208. This homework was largely based on the idea of using mathematical principles to create proofs. While this looks like it was a fairly straight forward assignment, there was a twist. This assignment was completed in the LaTex programming language. LaTex is a language that is used to format and create documents, and LaTex makes it really easy to embed math symbols and concepts into the documents. This assignment was the first time I had ever heard of LaTex, and it was honestly a little tedious to work with, but they may have been because I was so unfamiliar with it. Overall, I enjoyed working on the mathematics of this assignment, and it is always fun to me when I get to learn a new language and way of performing a task.