Algorithm implementation vs Algorithm Design
Show older comments
Hi,
I wrote a code in Matlab using the examples provided by Matlab for an application to solve a problem. The code is a combination of examples and my individual input. Then, did I just implement the algorithm for the application or did I design and implement the algorithm to develop the solution?
Also is there a difference between code development and algorithm development?
Regards, Nish
6 Comments
Adam
on 11 Sep 2017
What to implement and how depends entirely what problem you are solving. I'm not sure I really understand your question.
Nishari Nanayakkara
on 11 Sep 2017
José-Luis
on 11 Sep 2017
You can simplistically view it as:
- Design is pen and paper.
- Implementation is actually coding it.
You can design an algorithm in your head, you cannot implement it there.
Depending on the problem design and implementation sometimes merge together in that you implement a design off the top of your head as you go along, although technically the design is still what is in your head as the logical steps of how you solve the problem and the implementation is Matlab syntax to actually make that happen. Or, as José-Luis says, more often, perhaps, you will put those design ideas down on paper first - those will be the logical steps, they may be in pseudo-code (i.e. not any specific language, just some generic language that is understandable and looks code-like in structure, but not burdened by language-specific syntax). Alternatively it may be sentences or diagrams, whatever you prefer to help you understand what you want, but either way it is conceptual, not a program until you implement it.
Nishari Nanayakkara
on 11 Sep 2017
Edited: Nishari Nanayakkara
on 11 Sep 2017
It depends what you are talking about here really. If you are talking about intellectual property and whether you can claim an algorithm as your own then that is a minefield I don't want to get into personally other than to say be very careful with picking up someone else's code, making 'some changes' and then claiming the solution as your own. At the very minimum you need to credit the work of the original author.
If you are just trying to understand the process then the separation is still that of logic vs physical code that makes the logic happen. If you are modifying an algorithm then your modifications will have a logical purpose (design) which you will then implement in addition to the original implementation.
Answers (0)
Categories
Find more on Software Development Tools in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!