I have recently studied and
write 2 paragraphs about it
- The first paragraph is directed to my colleagues who has a background of the subject.
- The second paragraph is directed to my friend outside the faculty of engineering.
Programming Contest
It's complicated programming challenges with time and memory constrains.Most probably programming contest be in teams and your team compete with
other teams to solve problems as much as you can and as faster as you can.
Problems in this contests are of special kind :
- Your program must run in determined time.
- Your Algorithm should thoroughly handle all the special cases of input.
- You should get the solution and submit it before the other teams to get a higher score.
problems.
You will find this practice in a lot of on-line judges, which are on-line sites.
This sites provide problems and enable you to test your solutions whenever
you want.
All this sites are for free:
Also there is sites which hold scheduled on-line contest to enable you to
compete with other contestant ,like:
- Code jam : which hold annual contests.
- Top Coders : which hold scheduled contests.
- ACM national,regional and international contests.
- That will improve your skills in problem solving.
- Improve your debugging skills.
- Get an algorithm,implement it and debug it quickly.
- Manage your work with a team.
In programing contestant you will find complicated problem from life ,and you are supposed to solve it using a computer program.
Programming languages represent the tool that you will use to solve the problems.
Simply your program is the ordered procedures (algorithm)that will solve the problem so before anything you should be familiar with at least one programming language.
Your program should get the answer in a short time ,that depends on how your algorithm is smart enough to get the solution from the shortest way (that is the challenge).
So you will need to study some topics that is related to algorithms and problem solving
You will find that is very hard but after a short time you will understand the concepts and you will find it very interesting.
This field is useful in the practical life ,and has a lot of applications
- Find the shortest path between two points.
- Solving geometric problems.
- Represent networks and it's operations