For my final blog post, I want to reflect on my journey through OSU’s online CS program and talk about some of my favorite classes.
My number one favorite class in the program would have to be CS 493 – Mobile Development. It wasn’t necessarily the course content that I enjoyed the most, which isn’t to say I don’t enjoy mobile development, but it was the teaching style provided in the module lecture videos. Each module had a series of videos creating by Professor Yong where he would provide a tutorial on how to use specific features of Dart and Flutter. The best part of these videos is that Yong would explain in great detail why he wrote the code that he did. As he was coding, he would talk through what he was doing and discuss his design choices. For example, any time he needed a new feature in the program, he’d write the function call first, then he’d go back and write the actual function. So, if a feature was needed to obtain a list of all the planets in the solar system, he’d write a function call to something like ‘getPlanets’, then later, he’d go back and actually write the code to define this function. He described this as a ‘top down’ approach, and I’ve found myself using this method ever since I took that class. It’s a very useful technique that helps abstract lower-level code into higher-level function names, and helps me to organize the overall structure of my code prior to implementing any of the fine details.
I think my second favorite class would be CS 271 – Computer Architecture and Assembly Language. While this wasn’t a class that most people would consider “fun”, I found the concepts to be very useful. Understanding how bits are stored in a computer, how memory addresses work, what call stacks are, how a CPU works with RAM, etc… helped solidify concepts that I think are fundamental to computer science. Computers are often seen as these magical boxes that do cool things, but this class really demystified some of that magic and converted it into physical concepts.
Lastly, an honorable mention on my list would absolutely by CS 362 – Software Engineering II. Professor Ianni did a phenomenal job teaching and answering questions. The concepts of software testing that I learned in that class I am finding immensely useful during this project and other projects I have worked on. The first time that I caught bugs in my code by using a CI pipeline, which was a technique taught in that class, was an eye-opening experience that really solidified the importance of writing good unit tests.
Finally, a cat photo, as always.