I've been considering writing a blog for a long time. Actually, that's not entirely true; I've been considering writing tutorial videos for a long time and only just considered starting a blog recently. Throughout my time in college I've had a lot of different ideas and opinions, most of which have been related to my field of work (software engineering, just in case that wasn't totally obvious by the title of this blog!). So, here I am! My master's thesis is due next week, and I'm blogging. Perfect...
Anyways, what do I hope to accomplish with this? For starters, it will be a place to talk about ideas that I come across that I find interesting. In general, these could range from ideas in mathematics and theory to specifics about different technologies to abstract design principles. Really just anything that I think is cool and that I think people should know about.
Here are some topics I hope to cover in my first few posts:
Differential calculus and why it is one of the most important mathematical concepts. I plan to review it formally and explain some of the theory behind. I also would like to talk about some applications and how it's influence effects modern development.
Big-O notation and asymptotic analysis. My nephew asked me about this recently. I strongly believe that a background in real analysis has done wonders to help me understand this. The plan is to explain some basic concepts of mathematical analysis to understand what big-O notation is and why it's really important in applications
The two most important concepts every computer scientist should know about: strings and algorithms. Strings are the fundamental building blocks used by modern computational models (i.e. basically every computer). They are the input to our programs. Additionally, algorithms are the programs themselves. They are the things that process strings. In understanding how both work, we gain a much deeper sense of understanding of the nature of computer programs.