Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I checked the post (Where can I find programming puzzles and challenges?) where there's a lot of programming challenges and such, but after checking several of them, they all seem to be about algorithms and mathematics. Is there a similar site for purely logic/functionality-based challenges? For example:

- Retrieve data using a web service
- Generate output X from a CSV file
- Protect this code against SQL injection
- Make this code more secure
- What is wrong with this code (where the error is in logic, not syntax)
- Make this loop more efficient

Does a challenge site like that exist? Especially one that provides hints and/or correct solutions. That would be a very helpful learning site.

share|improve this question

closed as not constructive by gnat, Walter, Matthieu, Ryathal, Jim G. Sep 15 '12 at 3:16

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

1  
These are not challenges, but general and straightforward tasks. Any tutorial will do, to learn these things. (except may be the last). –  user1063963 Sep 12 '12 at 8:49
    
Math/algorithm tasks are not about logic? –  phant0m Sep 12 '12 at 8:54
    
Lacking a better word for it :) But the example tasks above have hardly anything to do with mathematics, hence the question. –  Juha Untinen Sep 12 '12 at 9:36
    
You might like pythonchallenge.com –  MatrixFrog Sep 13 '12 at 3:58
add comment

2 Answers

The closest thing I can think of to your requirements is Udacity. It's completely free.

From the FAQ:

What is a Udacity course like?

Udacity courses include lecture videos, quizzes and homework assignments. Multiple video short video sections make up each course unit. Each video is roughly five minutes or less, giving you the chance to learn piece by piece and re-watch short lesson portions with ease. Quizzes are embedded within the lecture videos and are meant to let you check-in with how completely you are digesting the course information. Once you take a quiz, which could be a multiple choice quiz, a fill in the blank quiz or a programming quiz, you will receive immediate feedback. Quizzes don't count towards your grade, and you can try them as many times as you want.

Are there assignments?

Yes. To learn any subject, it is important to solve progressively more challenging problems on your own. Each course includes a number of problem sets. There are no due dates for these problem sets. The problem sets will be similar to the in-class quizzes and mostly cover material from that week's unit. You will receive instant feedback on these questions and you can try them as many times as you like.

share|improve this answer
    
That sounds interesting, I'll check it out later. –  Juha Untinen Sep 12 '12 at 8:25
add comment

+1 @deadly for recommending Udacity.

  • USA Computing Olympiad has training pages with hundreds of hours of free instruction and practice problems to improve your programming and problem-solving skills.
  • Coursera's computer science courses. These courses have challenging real world programming assignments and projects. For example, in Algorithms, Part 1 you will learn and use many important sorting and searching algorithms to solve real world problems with very little math required because the emphasis of the course is focused on programming using the various algorithms provided by the class's resources. And best of all, they are all free.
  • edX is very similar to Coursera.
share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.