What is your fondest memory of your time in the CS department?
I really enjoyed doing the programming competitions. Obviously, Prague and Shanghai were highlights, but it was a lot of fun doing the local ones at NMU and LSSU too. I loved the ‘aha’ moments when you figured something out, and I still remember in vivid details some of the problems we had to solve.
Going back even further, here’s the first big ‘aha’ moment I remember having, when I was a freshman: One of my first programming assignments at MTU was to create a simple program that would take a target number, say 1,000,000, and return all the series of consecutive natural numbers that would sum to that number. The naive way would be to use two nested loops. The outer one would go through all the starting numbers, and the inner loop would sum each number after that until it exactly equaled the target number, in which case it would print it, or continue until it exceeded the target. A better way would be to use a single loop, keeping track of the start and end numbers of the sequence and their current sum: if the sum was less than the target, add the number after the end number, and if the sum was greater than the target, subtract the current start number.
I believe most students did a variation on one of those two methods. I remember turning this problem around in my head walking between classes and realizing that these sequences could only occur in specific places: namely, if you divided the target by an odd number n, and the result was a whole number, then the sequence [target/n - (n-1)/2, target/n + (n-1)/2], and there was a similar case if n was even. You could start at n=2 and iterate upwards until target/n-n/2 < 0. It was so fast! What a rush!
How has your education impacted your career?
Generally, I feel I got a very solid understanding of a broad cross-section of topics in CS. I’ve only had a few jobs, but I’ve done very different things in those jobs, and I’m grateful that MTU didn’t box me in to a particular niche. Though current students may be dismayed to hear this, (technical) communication is so important in the real world, and I’m glad it was part of the CS curriculum.
Kyle participates in the CS1000 Alumni Assignment project where alumni correspond with first-year computer science students and answer questions they have about the school, the program, the industry, or just life in general at Michigan Tech.