Things I’ve Learned About Programming

I may have previously mentioned how my days typically consist of programming. I have problems that I have to solve, I then have to think about how to solve them, then write some code to do just that. In my last post I mentioned how I was working on writing some MCMC code, and was finding it difficult to keep it very general so that it is highly reusable. Yesterday I got that code working and began doing so more intensive testing which revealed that there is another feature that I need to add, but it should only take a few minutes to do that thanks to the parameter file parsing library I’ve created. This got me thinking this morning about the things I’ve learned since I began programming, and I thought I’d share some of those as they may be useful to others. Continue reading “Things I’ve Learned About Programming”

It’s hard to write good code…

I’m sitting at my desk trying to write some very general Markov Chain Monte Carlo (MCMC) code. I’m aware that there are libraries out there which could be used, but when I investigated them they were all so difficult to use that it just made sense to write my own code. At that time, I just wrote some code that was very specific to one problem. Now, I’m trying to generalize that code to be applicable to any problem. That is where things get hard.  Continue reading “It’s hard to write good code…”

Ways I wish my education had been different: Part 1 – Programming

From time to time, I look back on my years of education and note that many things could have been done to better prepare me for where I am today. I could reflect on things that could have been done better in elementary, middle and high school, but at this point that was so far in the past that things have probably changed substantially. Instead, I would like to comment a bit about my college education, both undergraduate and graduate, particularly the lack luster way I was taught programming. Continue reading “Ways I wish my education had been different: Part 1 – Programming”