Practice Computer Programming Problems

The only way to learn a language, whether it is a spoken language or a computer programming language, is to practice. My favorite way of practicing a new language, such as Java, is by visiting one of the many sites designed to present challenging computer programming problems, and write code to solve those problems.

Project Euler
Project Euler lists fun and challenging mathematical and computer programming problems for all levels.

One of my favorite programming problems sites is Project Euler. Project Euler has 100’s of problems with creative titles like Jumping Frog and Under the Rainbow. Project Euler’s stated goal is to provide fun and recreational problems for you to solve. They succeed.

They give a solved-by count, so you can see exactly how many people have solved the challenges. Presumably, the less people that have solved a problem, the more difficult it is.

StackExchage Code Golf and Programming Puzzles
StackExchange’s Code Golf site has thousands of computer programming puzzles.

Stack Exchange has a massive number of user submitted programming puzzles on their code golf site. They range from the outright boring to fairly interesting. So now they are not only a great site for finding answers to programming problems, but they’re good for making your life miserable, too.

Code Abbey
Code Abbey presents computer programming challenges ranging from Rubik’s Cube to Algae Robot.

Code Abbey has a couple of hundred practice problems to use your budding programming skills on. Code Abbey presents computer programming challenges ranging from Rubik’s Cube to Algae Robot.

Rosaland
Lists of bioinformatics problems you can practice computer programming by solving.

Rosaland has a list of exciting bioinformatics problems to try out. Topics include alignment, combinatorics, computational mass spectometry, divide-and-conquer, dynamic programming (one of my favorites), genome assembly, genome rearrangements, graph algorithms, graphs, heredity, phylogeny, population dynamics, probability, set theory, sorting, and string algorithms. Each topic of problems contains anywhere from three to twenty-six problems.

Sphere Online Judge (spoj)
Sphere Online Judge (spoj) has over 22,000 computer programming puzzles to challenge you.

Sphere Online Judge (spoj) has around 22,000 computer programming problems to choose from. That will keep you busy for a while.

Reddit Daily Programmer
Reddit Daily Programmer has programming challenges ranked as easy, medium, and hard.

Reddit’s Daily Programmer has hundreds of computer programming puzzles. Monday’s puzzles are easy. Wednesday’s puzzles are medium difficulty. Friday’s are supposed to be the most challenging.

Programming Praxis
Programming Praxis has over 400 computer programming exercises.

Programming Praxis has about 500 interesting programming challenges. Praxes are examples for practice, in case you were wondering.

Summary

You can study Java (or any computer programming language) without learning to program. I’ve seen many computer science college graduates that couldn’t write a simple fizz buzz to save their lives. All they needed to do was practice regularly and they would have learned to program instead of learning about programming. Programming computers is a ton of fun, so check out these sites or other similar ones and pick out programming exercises to practice.