| If you are an experienced programmer and want to | | | | competitions. If you are currently enrolled in college, |
| test your knowledge, there are multiple ways you can | | | | look for local ACM chapter competitions or take part in |
| do this. Such ways are going to websites that give | | | | the worldwide ICPC competition. These are great |
| you challenging problems, participating in programming | | | | ways of getting great practice in. You can also go |
| competitions, and just working on various, tough | | | | online and try competitions like TopCoder and Code |
| algorithms. These types of ways of giving your | | | | Jam. These competitions all have many of the world's |
| knowledge a test looks great to potential employers | | | | top programmers competing in them, with tough |
| and on the resume. | | | | problems. However, in programming competitions, the |
| There are some websites out there that give you a | | | | language you can use is often limited. |
| chance to test your programming skills. If you are | | | | Lastly, one of the best ways of practicing |
| interested in making money too, you can try out | | | | programming and testing your knowledge is writing |
| websites like Rent a Coder and Hire a Freelancer. If | | | | some common, useful functions and algorithms. You |
| money is not what you are interested in, then other | | | | should always practice ones like reversing a linked list |
| websites like Project Euler works too. Project Euler | | | | without a stack, Dijkstra's algorithm, sorting, and |
| lists various tough math programming problems for you | | | | dynamic programming. Mastering all of these can is |
| to try. You can work in any language and you simply | | | | great practice for most programming job interviews, |
| come up with a program to solve their math puzzle. | | | | and is something that any expert programmer should |
| Such puzzles could be like solving large numbers, and | | | | know. |
| finding perfect squares. All of the problems require | | | | These three methods of testing your knowledge is |
| some sort of logical and analytical thinking with | | | | something that all programmers should look into. If you |
| difficulties ranging from very easy to very hard. | | | | have an interest in programming, then load up your IDE |
| Another way of practicing is trying out programming | | | | and start coding away. |