ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

Programming Challenges and Puzzles

Updated on March 1, 2020

A great way to hone your coding skills is by completing programming challenges and puzzles. Solving these is also one of the best ways to warm up for programming contests and competitions.

Challenges are presented for a number of different programming languages and some puzzles are actually completely language agnostic. So, you'll find puzzles you can complete if you're used to programming in popular programming languages like Java and PHP (or something more obscure like Clojure.)

It's important to note that programming puzzles are made for coders at all levels, so if a puzzle has you completely stumped, there are tons out there that may be more suitable for your skill level.

Project Euler

One incredibly popular site for programming puzzles is Project Euler. Here users can solve problems in any language of their choosing. Project Euler is heavy on math problems, so you might want to look over the site before joining if you're not strong in math. However, it's free to participate (Euler runs on donations) so if you want to give it a shot (and boost both your programming and math skills, go right ahead!

The site presents users with math problems and then a text field where users can enter their answer. (There's captcha so you can't *ahem* programmatically cheat.) Thus, you never have to show your code to Project Euler, making it perfect whether you want to program in C, Python, Lisp, Java, or whatever (or my personal favorite, Ruby.)

What's really cool about this site is that upon logging in, you're greeted with a number of personal stats. As you solve puzzles, you're given badges and little blips on a progress chart (see the image below.) This is a great motivator and just generally cool to look at. Your profile is completely private unless, of course, you add friends.

My Project Euler account showing off all Euler's goodies.
My Project Euler account showing off all Euler's goodies. | Source
A quick look at at the UVa Online Judge interface
A quick look at at the UVa Online Judge interface | Source

UVa Online Judge

This site has literally hundreds upon hundreds of puzzles for users to solve. While UVa Online Judge isn't as pretty as Project Euler, they do a really nice job of sorting and categorizing problems so that users like you can quickly find interesting puzzles.

One thing that is really cool about this site is they show a little statistics bar next to each problem. These stats show the number of users who have attempted a given problem and what percent of these users were able to correctly solve it.

UVa accepts answers written in C, C++, Java, and Pascal. If you've got a competitive streak, you may be interested in the contests UVa Online Judge occasionally hosts.

Facebook: Solve Puzzles, Get Hired

A really awesome place to complete programming puzzles is Facebook! No, I'm not talking about networking with a random computer science student and offering to do their homework. Facebook actually offers programming puzzles. On top of this, if you do well on their programming challenges, you can actually get a phone interview! It doesn't get much cooler than that!

There are two sections to Facebook's puzzle platform. You'll want to warm up by trying your hand at some of the problems on their puzzles page before getting serious with Facebook's Programming Challenge.

Solve problems, get an interview? Awesome!
Solve problems, get an interview? Awesome! | Source

Sphere Online Judge (SPOJ)

If UVa sounds appealing to you, but they don't support your favorite language, Sphere Online Judge (or SPOJ) might be right up your alley. While these problems aren't language agnostic, the number of languages SPOJ supports are astounding. In fact, SPOJ supports over 40 programming languages!

SPOJ's sorts their problems by categories such as classical, challenge, partial, and tutorial. Within each category, you can select the language of your choice to view the puzzles compatible with your language.

With a problem-set of over 6600 tasks, written in English, Polish, Portuguese, Vietnamese (and more), accessible 24 hours a day, SPOJ is a place where you can spend some serious time improving your coding skills. Like UVa, SPOJ also runs a number of contests!

Ruby Quiz

While Ruby Quiz was meant for the Ruby programming language, you can, for the most part, use any programming language of your liking. Some problems may require some tweaking to work with your programming language, but it's seriously worthwhile.

Ruby Quiz offers some really in-depth puzzles on real life situations you might run into in your career as a programmer. This website became so popular that a book was made, "The Best of Ruby Quiz" which is essentially a compendium of the most popular challenges on the Ruby Quiz site. Both the book and the website are worth checking out whether or not Ruby is your weapon of choice.

© 2011 Melanie

Comments

    0 of 8192 characters used
    Post Comment
    • tammyswallow profile image

      Tammy 

      8 years ago from North Carolina

      Oh my.. that is very interesting. I am afraid to take the quiz. If I fail, they might ban me.. LOL. I do know I love all the super smart geniuses who do these things and help the internet run smoother. Great job!

    • Daisy Mariposa profile image

      Daisy Mariposa 

      8 years ago from Orange County (Southern California)

      Melanie,

      Thanks for publishing this Hub. I have a friend who teaches programming. He was teaching in the Game Software Development department at a career college. He'll be teaching C++ at a community college beginning next week. I know he'll want to read this article.

    • brittanytodd profile image

      Brittany Kennedy 

      8 years ago from Kailua-Kona, Hawaii

      Awesome hub. I had no idea I could get a phone interview with Facebook so easily. Thank you.

    • BlissfulWriter profile image

      BlissfulWriter 

      8 years ago

      Programmers love puzzles.

    working

    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: https://maven.io/company/pages/privacy

    Show Details
    Necessary
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
    Features
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Marketing
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Statistics
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)
    ClickscoThis is a data management platform studying reader behavior (Privacy Policy)