10 Puzzle Websites to Sharpen Your Programming Skills Solving programming puzzles is a fun way to develop your logical and problem solving abilities. Also, when you’re familiarizing yourself with a new programming language, solving puzzles for that language can help speed up the learning process. Here are the top 10 popular programming puzzle sites that will help test your thinking and improve your programming, problem solving, and logical thinking skills. 1. Programming Praxis Programming Praxis is a blog that includes a range of interesting problems with solutions usually available in several different programming languages. 2. CodeKata is a blog of programming puzzles written by Dave Thomas, who’s most famous for the groundbreaking book, Pragmatic Programmer. 3. TopCoder is an active programming community of developers who love to solve puzzles. 4. 5. Facebook has a collection of very challenging programming puzzles that–should you manage to solve them–could result in you getting a job at Facebook! 6. 7. 8. 9. 10. 99 Prolog Problems
8 Online Programming Contests Today, many companies take advantage of the drawing power of contests to draw out the power of the crowd. We have taken a look at photo contests and design contests before. Then there is Google with its lineup of contests you should keep an eye on. One of the contests Google hosts is CodeJam; its annual programming competition. So, if you fancy yourself with a programming language, brush off the cobwebs, be mindful of your intellectual property rights and dive into some contests that are held in the online world. Top Coder TopCoder is the world’s largest competitive software development community spread over 200 countries and 272,348 members. Codechef Codechef is a noncommercial programming community that’s Indian in origin but global in scope with nearly 25,000 members. Calling All Innovators Nokia’s worldwide contest covers eco-friendly applications, entertainment, productivity, and life improvement. Apps for Development Facebook Engineering Puzzles HTML5Contest Bitwise Image: Shutterstock
UVa Online Judge - Home Learnable Programming Here's a trick question: How do we get people to understand programming? Khan Academy recently launched an online environment for learning to program. It offers a set of tutorials based on the JavaScript and Processing languages, and features a "live coding" environment, where the program's output updates as the programmer types. Because my work was cited as an inspiration for the Khan system, I felt I should respond with two thoughts about learning: Programming is a way of thinking, not a rote skill. Thus, the goals of a programming system should be: to support and encourage powerful ways of thinkingto enable programmers to see and understand the execution of their programs A live-coding Processing environment addresses neither of these goals. Alan Perlis wrote, "To understand a program, you must become both the machine and the program." How do we get people to understand programming? We change programming. Contents A programming system has two parts. The language should provide: Wait.