Mathematically-troubled Computer Scientist?
-
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.
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 but, why even bother with a science degree if you are going to ignore the science aspect.
Sovereign ingredient for a happy marriage: Pay cash or do without. Interest charges not only eat up a household budget; awareness of debt eats up domestic felicity. --Lazarus Long
Because a science degree will get you a better higher paying job? (At least in this 3rd-world country)
It is said that the most complex structures built by mankind are software systems. This is not generally appreciated because most people cannot see them. Maybe that's a good thing because if we saw them as buildings, we'd deem many of them unsafe.
-
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. I realize that this is not the "scientific" way of doing this. One should be able to say that "My algorithm is linear while the other guy is quadratic". :doh:
It is said that the most complex structures built by mankind are software systems. This is not generally appreciated because most people cannot see them. Maybe that's a good thing because if we saw them as buildings, we'd deem many of them unsafe.
Well, running a bunch of benchmarks and timing them is okay. An even better thing to do, that I did when I took algorithms in college, is to actually count the number of times instructions were executed during program flow. While you can just run some benchmarks, sitting down and actually proving the efficiency of the algorithm mathematically, saves you from any surprises that may cause the algorithm to perform worse than expected in some unknown case.
Ian Uy wrote:
One should be able to say that "My algorithm is linear while the other guy is quadratic"
But to some, that just isn't going to cut it or make the grade. They'll want to see proof of it, and a bunch of numbers pulled up from benchmarking isn't going to hack it.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
-
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. I realize that this is not the "scientific" way of doing this. One should be able to say that "My algorithm is linear while the other guy is quadratic". :doh:
It is said that the most complex structures built by mankind are software systems. This is not generally appreciated because most people cannot see them. Maybe that's a good thing because if we saw them as buildings, we'd deem many of them unsafe.
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.
Because that doesn't give you the same information. An O(n) algorithm might appear faster than an O(1) algorithm if n is small and O is considerably larger in the second case. I've spent entirely too much time in the past few years cleaning up old code written to retrieve data with O(n) or worse characteristics. It presumably worked fine for a few years, then the sets of data being searched become non-trivial. Adding a system for indexing it made an immediate difference, but with close to a year of poor performance in the field while the old code was ripped out, updated, and tested; a better design up-front would have saved everyone a lot of headaches.
Citizen 20.1.01
'The question is,' said Humpty Dumpty, 'which is to be master - that's all.'
-
Sadly, I am one of those mathematically-troubled student whose taking-up Computer Science. I've barely passed all my math subjects (never failed one though) and I had a hard time in my Automata and Algorithms Complexity (Big o stuff) subjects. However, I aced all my programming subjects including Data Structures and Artificial Intelligence. I also aced all software development subjects. How important are those (Automota, Algorithms...., Mathematics) subjects in a Software Developers life? Am I doomed? Am I the only one who is stupid enough to take Computer Science when I know for a fact that I'm stupid in Math? :^)
It is said that the most complex structures built by mankind are software systems. This is not generally appreciated because most people cannot see them. Maybe that's a good thing because if we saw them as buildings, we'd deem many of them unsafe.
As long as you can understand .02 cents/KB is NOT $.02/KB, you're ok. :laugh: :sigh:
"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..." "There is no one who loves pain itself, who seeks after it and wants to have it, simply because it is pain..."
-
Because a science degree will get you a better higher paying job? (At least in this 3rd-world country)
It is said that the most complex structures built by mankind are software systems. This is not generally appreciated because most people cannot see them. Maybe that's a good thing because if we saw them as buildings, we'd deem many of them unsafe.
Not when they see you lack the basic skills.
Sovereign ingredient for a happy marriage: Pay cash or do without. Interest charges not only eat up a household budget; awareness of debt eats up domestic felicity. --Lazarus Long
-
Sadly, I am one of those mathematically-troubled student whose taking-up Computer Science. I've barely passed all my math subjects (never failed one though) and I had a hard time in my Automata and Algorithms Complexity (Big o stuff) subjects. However, I aced all my programming subjects including Data Structures and Artificial Intelligence. I also aced all software development subjects. How important are those (Automota, Algorithms...., Mathematics) subjects in a Software Developers life? Am I doomed? Am I the only one who is stupid enough to take Computer Science when I know for a fact that I'm stupid in Math? :^)
It is said that the most complex structures built by mankind are software systems. This is not generally appreciated because most people cannot see them. Maybe that's a good thing because if we saw them as buildings, we'd deem many of them unsafe.
-
You think you've got it bad - my whole kitchen still smells like it. Seriously tempted to try a BBQ breakfast... :~
jgasm wrote:
because of my obsession with food...someone's mind is in the gutter.
Hey, i assure you, my mind is on high and noble matters. My rich and tangy sauce, for instance.
Citizen 20.1.01
'The question is,' said Humpty Dumpty, 'which is to be master - that's all.'
Shog9 wrote:
Seriously tempted to try a BBQ breakfast...
You ought to. Its the bomb. We tried it once in college when we got paychecks. Totally worth the splurge. :cool:
Don't forget to vote if the response was helpful
Sig history "You're an idiot." John Simmons, THE Outlaw programmer "I realised that all of my best anecdotes started with "So there we were, pissed". Pete O'Hanlon Unix is a Four Letter Word, and Vi is a Two Letter Abbreviation
-
Sadly, I am one of those mathematically-troubled student whose taking-up Computer Science. I've barely passed all my math subjects (never failed one though) and I had a hard time in my Automata and Algorithms Complexity (Big o stuff) subjects. However, I aced all my programming subjects including Data Structures and Artificial Intelligence. I also aced all software development subjects. How important are those (Automota, Algorithms...., Mathematics) subjects in a Software Developers life? Am I doomed? Am I the only one who is stupid enough to take Computer Science when I know for a fact that I'm stupid in Math? :^)
It is said that the most complex structures built by mankind are software systems. This is not generally appreciated because most people cannot see them. Maybe that's a good thing because if we saw them as buildings, we'd deem many of them unsafe.
I don't think it's all that important, it depends on exactly what you're working on though. It's important in games nowadays with all the 3D stuff going on and it can be important in business software that deals with money, tax and so on. For a lot (probably most) of software development work it isn't really necessary though.
-
jgasm wrote:
turn on the tv "cooking for geeks! hosted by Shog"
Now maybe if some Food Network guys could get him on the air :)
"The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
-
Good one! :laugh:
It is said that the most complex structures built by mankind are software systems. This is not generally appreciated because most people cannot see them. Maybe that's a good thing because if we saw them as buildings, we'd deem many of them unsafe.
-
I won't ask if you have standard deviations. :rolleyes:
Visit http://www.notreadytogiveup.com/[^] and do something special today.
-
Sadly, I am one of those mathematically-troubled student whose taking-up Computer Science. I've barely passed all my math subjects (never failed one though) and I had a hard time in my Automata and Algorithms Complexity (Big o stuff) subjects. However, I aced all my programming subjects including Data Structures and Artificial Intelligence. I also aced all software development subjects. How important are those (Automota, Algorithms...., Mathematics) subjects in a Software Developers life? Am I doomed? Am I the only one who is stupid enough to take Computer Science when I know for a fact that I'm stupid in Math? :^)
It is said that the most complex structures built by mankind are software systems. This is not generally appreciated because most people cannot see them. Maybe that's a good thing because if we saw them as buildings, we'd deem many of them unsafe.
Don't worry one bit, I'm exactly (probably even more) mathematically challenged than you are and I've done quite well in the field. Just don't expect to do any work in engineering fields or computer graphics fields unless you can find plug in algorithms and understand the concept of which tools are needed etc. Math is as close to irrelevant a skill for *most* programming these days as basket weaving.
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
-
Don't worry one bit, I'm exactly (probably even more) mathematically challenged than you are and I've done quite well in the field. Just don't expect to do any work in engineering fields or computer graphics fields unless you can find plug in algorithms and understand the concept of which tools are needed etc. Math is as close to irrelevant a skill for *most* programming these days as basket weaving.
"It's so simple to be wise. Just think of something stupid to say and then don't say it." -Sam Levenson
John C wrote:
Math is as close to irrelevant a skill for *most* programming these days as basket weaving.
*pauses, the willow switch in one hand poised to intersect the gap between stakes* Waaaitaminute...
Citizen 20.1.01
'The question is,' said Humpty Dumpty, 'which is to be master - that's all.'
-
Sadly, I am one of those mathematically-troubled student whose taking-up Computer Science. I've barely passed all my math subjects (never failed one though) and I had a hard time in my Automata and Algorithms Complexity (Big o stuff) subjects. However, I aced all my programming subjects including Data Structures and Artificial Intelligence. I also aced all software development subjects. How important are those (Automota, Algorithms...., Mathematics) subjects in a Software Developers life? Am I doomed? Am I the only one who is stupid enough to take Computer Science when I know for a fact that I'm stupid in Math? :^)
It is said that the most complex structures built by mankind are software systems. This is not generally appreciated because most people cannot see them. Maybe that's a good thing because if we saw them as buildings, we'd deem many of them unsafe.
As a bunch of people have said, unless you have your heart set on building software that requires math knowledge, don't worry about it. I have been a business applications programmer for a long time, and I do 'way more string handling than anything else. Just know what you don't know, and seek help with it. As Dirty Harry said (through clenched teeth): "A man's got to know his limitations."
Someone's gotta be the last to know, but why is it always me?
-
Sadly, I am one of those mathematically-troubled student whose taking-up Computer Science. I've barely passed all my math subjects (never failed one though) and I had a hard time in my Automata and Algorithms Complexity (Big o stuff) subjects. However, I aced all my programming subjects including Data Structures and Artificial Intelligence. I also aced all software development subjects. How important are those (Automota, Algorithms...., Mathematics) subjects in a Software Developers life? Am I doomed? Am I the only one who is stupid enough to take Computer Science when I know for a fact that I'm stupid in Math? :^)
It is said that the most complex structures built by mankind are software systems. This is not generally appreciated because most people cannot see them. Maybe that's a good thing because if we saw them as buildings, we'd deem many of them unsafe.
I am mathematically challenged as well - this has not stopped me from being a successful DBA and writing image comparison, voice recognition etc applications. I have worked with Cambridge University mathematics graduates(who have 1sts!) and had no difficulty understanding complex algorithms they were designing and also, at times, surprised them with brilliant ideas :-\ Read my signature. Don't give up and most importantly find a way to find enjoyment in your work/study. Good Luck Guy ;)
Continuous effort - not strength or intelligence - is the key to unlocking our potential.(Winston Churchill)
-
Shog9 wrote:
i had pretty much the same attitude: "i'll never use this, so why remember it?"
Well, the same thing here. I figured I'd never need it, came across the need for all that good calculus stuff, popped open my old calculus book and it all came back. Just like riding a bike, once learned how, it pretty much sticks for the most part :rolleyes:
"The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
-
Heh, then you must have a better grasp of it than i do. :-O
Citizen 20.1.01
'The question is,' said Humpty Dumpty, 'which is to be master - that's all.'
I do have a better grasp on certain aspects of calculus now, than when I was in college. Could have used what I figured out about it when taking the exams back then :sigh:
"The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
-
Sadly, I am one of those mathematically-troubled student whose taking-up Computer Science. I've barely passed all my math subjects (never failed one though) and I had a hard time in my Automata and Algorithms Complexity (Big o stuff) subjects. However, I aced all my programming subjects including Data Structures and Artificial Intelligence. I also aced all software development subjects. How important are those (Automota, Algorithms...., Mathematics) subjects in a Software Developers life? Am I doomed? Am I the only one who is stupid enough to take Computer Science when I know for a fact that I'm stupid in Math? :^)
It is said that the most complex structures built by mankind are software systems. This is not generally appreciated because most people cannot see them. Maybe that's a good thing because if we saw them as buildings, we'd deem many of them unsafe.
I too am not very good at math, but I learn what I need as I need it. I feel you have to want to learn.
-
Oooh yeah, my current project is cryptography. However, by reading Schenier's "Applied Cryptography" I was able to understand the underlying math (Finite Fields and stuff) and cryptographic primitives. My problem is I can't relate other math subjects like Integral Calculus to programming. :^)
It is said that the most complex structures built by mankind are software systems. This is not generally appreciated because most people cannot see them. Maybe that's a good thing because if we saw them as buildings, we'd deem many of them unsafe.
I guess what I was really trying to say is that very seldom is the person who designs the user interface and the person who designs the library you use for a task going to be one in the same. Figure out what you are good at (or enjoy doing) and strive to be the best person on the planet in that subject.
-
John C wrote:
Math is as close to irrelevant a skill for *most* programming these days as basket weaving.
*pauses, the willow switch in one hand poised to intersect the gap between stakes* Waaaitaminute...
Citizen 20.1.01
'The question is,' said Humpty Dumpty, 'which is to be master - that's all.'
Shog9 wrote:
John C wrote: Math is as close to irrelevant a skill for *most* programming these days as basket weaving. *pauses, the willow switch in one hand poised to intersect the gap between stakes* Waaaitaminute...
He said "most," not "the highest paying" or the "most interesting" or even "the most challenging." Even if you use Laplace transforms in your work every day, most developers do not
Jon Smith & Wesson: The original point and click interface