Algorithm Design and Problem Solving


Project 3: Programmer in real life



Hand-out: 12.10., deadline: 2.11.


Story: You should be an expert in brute-force, greedy, incremental and D&C strategy up to now but in theory only. You should also train these strategies in real problems and in real life.


  1. Take a problem from some of your favourite areas of computer science or its application (e.g., databases, networks, computer graphics...), analyze the problem and propose how it can be solved using a particular strategy of those mentioned above. For each of these strategies propose one particular algorithm or give reasons why this problem cannot be solved by that strategy. You should distinguish whether the proposed solution is an algorithm or a heuristic. You do not need to implement the algorithms, just think over whether they really solve the given problem and whether they are really an application of the given strategy. You will bring or send me this analysis and algorithms in some text file, according to its quality you will get 5-7 points.
  2. Take some real life problem which you usually do not solve by a computer and think over how you use some of already mentioned strategy to solve this problem. You should also think over how the solution of this problem would look like when using other strategies. Present a solution for all strategies. You should distinguish whether the proposed method is an algorithm or a heuristic and whether it really carries out the particular strategy. You will bring or send me the analysis and the proposed methods; according to the text quality you will get 4-6 points.