Nice problems, but problem is that in some regards even those can be complex and push beginner programmers away. I know that when I started out and got problems like that I was intimidated by them and didn't know how to get help (the kind where they give advice and not just post the answer) so I just avoided them. Have to be really careful as programmers come with all different understandings and what is simple to one may be overly confusing to the next.