dcsimg
CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 15 of 15

Thread: Does one have to be good at programming to design algorithms?

  1. #1
    Join Date
    May 2011
    Posts
    0

    Does one have to be good at programming to design algorithms?

    Sorry if that sounds like a stupid question, but I'm new to programming. Background: i'm in a math graduate program, and since that doesn't allow a lot of job offerings after graduation, I decided to pick up algorithm design. The problem is, I only know two programming languages (java + python) at their most basic level, which is an intro course (one textbook) + a few self learning projects.

    I'm not aiming to be a good programmer, but what does one have to have before designing algorithms for a company?

  2. #2
    Join Date
    May 2008
    Posts
    36

    Re: Does one have to be good at programming to design algorithms?

    Everything in computer is about math, just because a coder doesn't see it right, it doesn't mean what he is doing is not about math, he is just not smart enough to realize it IS math.
    Java and Python ? Amazing !!! I know only one, C++. and am trying to be an expert, (I am at an average level now)
    You might not believe me, but jobs are all over the place, it's just about your choice and decision, do you accept a low salary ? do you accept a job that is not quite about math major ? do you want to travel far for a low paid job ? a lot alot more conditions of yours and surroundings to think of.
    Now I suggest not to put yourself in situation that claims " Dang it I must have a job or tommorrow I'll die of starving! I don't want to beg anyone for any money, I am not going to accept any offerings from humanitarian service groups.."
    That's what I think about for you right now.

  3. #3
    Join Date
    Jun 2010
    Location
    Germany
    Posts
    2,675

    Re: Does one have to be good at programming to design algorithms?

    Well, for instance, I really admire Euclid's brilliantly simple and efficient GCD algorithm (see http://en.wikipedia.org/wiki/Euclidean_algorithm). And I somehow doubt that guy had any computer at all, probably not even a programmable calculator...

    However, I never heard of a company employing people for solely developing algorithms. Though this of course doesn't necessarily mean that there aren't some that actually do that, I assume these jobs are really rare and precious then.
    I was thrown out of college for cheating on the metaphysics exam; I looked into the soul of the boy sitting next to me.

    This is a snakeskin jacket! And for me it's a symbol of my individuality, and my belief... in personal freedom.

  4. #4
    Join Date
    Sep 2004
    Location
    Holland (land of the dope)
    Posts
    4,123

    Re: Does one have to be good at programming to design algorithms?

    No. But it helps a lot.

  5. #5
    Join Date
    Dec 2009
    Posts
    145

    Re: Does one have to be good at programming to design algorithms?

    Yes, algorithm totally relates to mathematics, but it is not a generalised or derived form of some particular mathematical area. That is, mathematical branches of advanced level provide concepts that are generalised from practical problems for its sake of ease to pass down generation to generation. I don't ever think a problem at hand need a generalised, algebraic properties to be resolved. It's a wrong way to think about high level mathematics. Instead it 's better to understand what comes first and what comes next. Devising an algorithm needs logics and tests. Logics is your mathematics skills, and tests require your programming skills to decide how correct your logical understanding is. Therefore, you will show your employers your programming skills with results of the algorithms you made or joined to implement. Algorithm is more related to academic research, especially operation research, bioinformatics, network optimization...aka the newest advances, because companies tend to need practical solutions within their budget and to be in time delivery of their ordered products.
    Last edited by Ledidas; May 26th, 2011 at 04:18 PM.

  6. #6
    Join Date
    May 2009
    Posts
    2,413

    Re: Does one have to be good at programming to design algorithms?

    Quote Originally Posted by Visorjohn View Post
    I'm not aiming to be a good programmer, but what does one have to have before designing algorithms for a company?
    You need a good understanding of the properties of a digital computer.

    In principle it boils down to two things; Any algorithm must be mathematically finite and it must be computationally tractable. If you can take concepts of high mathematical sophistication and make them programmable in this way you'll be a success even if you never lay down a single line of code yourself.

    In my experience there's a great demand for math graduates in many companies. Lots of programmers are at the math level of a high-school drop-out who can hardly count to ten. If they don't have someone to guide them through the math jungle they're totally lost. So don't sell yourself cheap.

    I wish a had a stronger math profile. Someone has said something to the effect that "everytime you pass up a math course you can hear the sound of doors closing". It's so true.
    Last edited by nuzzle; May 31st, 2011 at 03:29 AM.

  7. #7
    Join Date
    Jun 2005
    Location
    JHB South Africa
    Posts
    3,772

    Re: Does one have to be good at programming to design algorithms?

    The reverse statement is true..

    Does one have to be good at designing algorithms to program? .. YES ....

    If you cant formulate an algorithm, even on paper then how can you expect to program....
    Articles VB6 : Break the 2G limit - Animation 1, 2 VB.NET : 2005/8 : Moving Images , Animation 1 , 2 , 3 , User Controls
    WPF Articles : 3D Animation 1 , 2 , 3
    Code snips: VB6 Hex Edit, IP Chat, Copy Prot., Crop, Zoom : .NET IP Chat (V4), Adv. ContextMenus, click Hotspot, Scroll Controls
    Find me in ASP.NET., VB6., VB.NET , Writing Articles, My Genealogy, Forum
    All VS.NET: posts refer to VS.NET 2008 (Pro) unless otherwise stated.

  8. #8
    Join Date
    May 2009
    Posts
    2,413

    Re: Does one have to be good at programming to design algorithms?

    Quote Originally Posted by GremlinSA View Post
    The reverse statement is true..

    Does one have to be good at designing algorithms to program? .. YES ....

    If you cant formulate an algorithm, even on paper then how can you expect to program....
    You're defining algorihtm design and programming to be equivalent. If they mean the same the whole question of whether one is needed for the other is reduced to a trivial tautology. To be meaningful one must assume they're not fully overlapping.

    My take on this is that a math graduate very well can learn how to produce excellent and useful algorithms for computers without being very good at programming and even without being especially interested in programming. It may even be an advantage.
    Last edited by nuzzle; June 4th, 2011 at 03:17 AM.

  9. #9
    Join Date
    Jun 2005
    Location
    JHB South Africa
    Posts
    3,772

    Re: Does one have to be good at programming to design algorithms?

    Quote Originally Posted by nuzzle View Post
    You're defining algorihtm design and programming to be equivalent.
    NO !! .. I'm putting that Algorithm Design is a SUB SET of what is needed to be a programmer.

    Same as Fundamental Maths and Logic's is needed to be able to be a programmer..

    They definitely are not equivalent...
    Articles VB6 : Break the 2G limit - Animation 1, 2 VB.NET : 2005/8 : Moving Images , Animation 1 , 2 , 3 , User Controls
    WPF Articles : 3D Animation 1 , 2 , 3
    Code snips: VB6 Hex Edit, IP Chat, Copy Prot., Crop, Zoom : .NET IP Chat (V4), Adv. ContextMenus, click Hotspot, Scroll Controls
    Find me in ASP.NET., VB6., VB.NET , Writing Articles, My Genealogy, Forum
    All VS.NET: posts refer to VS.NET 2008 (Pro) unless otherwise stated.

  10. #10
    Join Date
    May 2009
    Posts
    2,413

    Re: Does one have to be good at programming to design algorithms?

    Quote Originally Posted by GremlinSA View Post
    NO !! .. I'm putting that Algorithm Design is a SUB SET of what is needed to be a programmer.
    So in your view algorithm design exists only as a subset of programming? It implies that you can only be good at algorithm design if you're good at programming.

    I don't share this view as I've explained already.

  11. #11
    Join Date
    Jun 2005
    Location
    JHB South Africa
    Posts
    3,772

    Re: Does one have to be good at programming to design algorithms?

    Quote Originally Posted by nuzzle View Post
    So in your view algorithm design exists only as a subset of programming? It implies that you can only be good at algorithm design if you're good at programming.
    NO !!!!!

    IT DOES NOT imply that you can only be good at algorithm design if you're good at programming.

    It States ... That you can only be good at programming if you're good at algorithm design...

    Go back to School and Study Sub sets ......
    Articles VB6 : Break the 2G limit - Animation 1, 2 VB.NET : 2005/8 : Moving Images , Animation 1 , 2 , 3 , User Controls
    WPF Articles : 3D Animation 1 , 2 , 3
    Code snips: VB6 Hex Edit, IP Chat, Copy Prot., Crop, Zoom : .NET IP Chat (V4), Adv. ContextMenus, click Hotspot, Scroll Controls
    Find me in ASP.NET., VB6., VB.NET , Writing Articles, My Genealogy, Forum
    All VS.NET: posts refer to VS.NET 2008 (Pro) unless otherwise stated.

  12. #12
    Join Date
    May 2009
    Posts
    2,413

    Re: Does one have to be good at programming to design algorithms?

    Quote Originally Posted by GremlinSA View Post
    Go back to School and Study Sub sets ......
    I suggest you do that because then you may realize that algorithm design is not a subset of programming. They intersect. A subset of algorithm design is a subset of programming.

    Or do you think one must be good a linear optimization to be good a programming. And genetic algorithms. And fast fourier transforms. And optimal networks. And triangulation of surfaces. And differential equation solvers. And AI heuristics. And ...

    No? Then you have selected a subset of algorithm design and claim that one needs to be good at this particular subset to be good at programming. Without specifying what this subset might be you're just saying that one needs to be good at what one needs to be good at to be good at programming.

    In short your statement is a meaningless tautology.
    Last edited by nuzzle; June 7th, 2011 at 09:05 AM.

  13. #13
    Join Date
    Jun 2005
    Location
    JHB South Africa
    Posts
    3,772

    Re: Does one have to be good at programming to design algorithms?

    Algorithm design!! Check your FACTS ......

    Nuf Said..
    Articles VB6 : Break the 2G limit - Animation 1, 2 VB.NET : 2005/8 : Moving Images , Animation 1 , 2 , 3 , User Controls
    WPF Articles : 3D Animation 1 , 2 , 3
    Code snips: VB6 Hex Edit, IP Chat, Copy Prot., Crop, Zoom : .NET IP Chat (V4), Adv. ContextMenus, click Hotspot, Scroll Controls
    Find me in ASP.NET., VB6., VB.NET , Writing Articles, My Genealogy, Forum
    All VS.NET: posts refer to VS.NET 2008 (Pro) unless otherwise stated.

  14. #14
    Join Date
    Jun 2011
    Posts
    2

    Re: Does one have to be good at programming to design algorithms?

    Yes of course. How can you design if you don't know anything about it..it's like an army in a battle without any weapon at hand..,^_^

    Keep on keeping on...

    http://www.freelancefacts.com

  15. #15
    Join Date
    May 2009
    Posts
    2,413

    Re: Does one have to be good at programming to design algorithms?

    Quote Originally Posted by GremlinSA View Post
    Check your FACTS ......
    Sure, first locate the facts and then check them.

    Pretty nice algorithm you designed there didn't you. You must be a very good programmer. Especially if you also know how to turn it into an efficient computer algorithm because that's the kind of algorithm design a good programmer masters.

    In my view algorithm design and programming are intersecting areas. If you look at the intersection in isolation you're right. Both implies each other there.

    But say you're a genius physicist interested in quantum computing. You're great at designing algorithms for quantum computers but does that necessarily make you good at programming an ordinary computer? Or say you're the highest paid quant on Wall Street. You're very good at designing all sorts of fancy algorithms to calculate risk and the correct price of assets but does this automatically turn you into a good programmer? I doubt it.

    So what you have are areas of algorithm design that are well outside the realms of programming (for more examples see my previous post). Being good at this doesn't make you a good programmer. And the other way around. Being good at programming doesn't make you a good designer of algorithms within say quantum physics or financial mathematics.

    In short you're wrong. One needs only be good at a subset of algorithm design to be good at programming, namely what falls within computer science. It's quite easy to define it. In principle it's what Donald Knuth covers in his classic The Art of Computer Programming:

    http://www-cs-faculty.stanford.edu/~knuth/taocp.html

    Now the good news for the OP is that he doesn't have to open this book because he doesn't need to become a good programmer to utilize his math knowledge even in a software company (see my first post).

    Thanks for this Chit Chat.
    Last edited by nuzzle; June 16th, 2011 at 12:39 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Windows Mobile Development Center


Click Here to Expand Forum to Full Width




On-Demand Webinars (sponsored)