Friday, October 23, 2009

Programming Contest

It is required from me in technical writing subject to select a topic
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.
It is the report , may be it will be useful for you:
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.
Solving this problem requires a lot of practice in order to get used to this
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.
Why you need to participate in this contests because :
  • 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.
If you don't know a lot about programming , first you should learn the basic concepts of programming to be familiar with programming languages.
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
• To be experienced in this field just keep practice and practice.