As far as the importance of math courses, as has already been said, it really depends on what type of programming you do. Right now I'm doing a mix of interfacing with hardware, writing standalone PC apps, and some SQL. Some of this requires some basic integrals and derivatives, some simple arithmetic, some virtually no math (save the occasionally i++ counter in a for loop :) ) I was fine at Calc when I took the classes, but that was 4 years ago...I never really used it again until after I graduated. Fortunately I have notes, textbooks, and forums to refer to ;P
Ian Uy wrote:
The logical thing that I would do is run both algorithms in the same machine and get the total running time then benchmark the two algorithms.
Chris Austin wrote:
This would get you fired or put on code maintenance at a lot of places I've worked at. I'm not trying to be harsh...
I would agree with Chris on this one. Algorithm complexity is extremely important when you're concerned about performance. <rant> This is just a general rant here, not intended to insult anyone, I just been needing to get this out. One of my pet peeves when it comes to programming is people who just hack out code without thinking it through. IMHO, any decent team of software engineers will spend a good bit of time designing their app before they start writing code. Code should not be written on the fly to see if it works. You should know it will do what you expect it to do when you write it. If you need to, write some pseudocode on paper or a whiteboard to work out the ideas. Draw a bunch of pretty pictures to illustrate how you expect different objects in your code to relate to each other. I've a good bit of experience with this already in my first 6 months on the job out of college, not to mention my Senior Design project. We spent a good month just designing our program structure before we wrote a single line of code. And then the first week of "coding" was actually just filling in a whole bunch of comments to outline what we'd be doing. The last month and a half was spent coding, testing, and debugging. We knew exactly what we were trying to do and how we wanted to do it once we started coding. OK I'm done now :-D Sorry for the random jabber there, I just had to get that out. </rant>