You could mix your code and English a little better. It's one of those hassles that StackExchange has tackled pretty well. You could develop a system like here and highlight any text which is to be taken as code. Also, use a different color for mathematics, because
= means different things if the context is mathematics or C.
You have side lessons within the problems. In that second question you introduce and explain the mod op. Put that in it's own paragraph or link to an aside. Or, honestly, just link it.
The actual problems are kinda buried in those paragraphs. I read through a couple and when I got to the end I had no idea what I was trying to solve for. Feel free to have background explanation (which is, you know, the educational part), but try to clearly state the problem.
And things like: "You may search the internet for the appropriate equation to use." shouldn't have to be stated. Programmers have access to the Internet. Not letting them search for solutions is as archaic as expecting them to write their solutions in pencil.
A standard form for the incoming variables and expected results would help.
A personal nitpick is the use of vague and terse variable names. If you're going to teach programming, teach them to use variable names which make sense.
So, taking a crack at rewriting one of your questions:
Complex Numbers: In mathematics, the square root of a number is X if X times X results in the number. However, the square root of negative one is known as "i". i has the properties such that i*i = -1. Complex numbers are written as the sum of their real and imaginary parts. Thus, 3+2i is a complex number with 3 and an imaginary part 2i. These complex numbers obey standard algeberic rules for adding and multiplying equations with variables. Thus, (3+2i)*5 = 15*10i. Additionally, `(a+bi)*(c+di) = a*c + a*d*i + c*b*i + b*d*i*i, which simplifies to (a*c-b*d)+(a*d+c*b)*i. Further reading: "complex numbers", "multiplying imaginary numbers", "the FOIL method", "multiplying complex binomials"
Problem: Write a function that solves (a+bi)^2.
int realPortion; //Range: any value
int imaginaryPortion; //Range: any value
realPortion should store the resulting real portion of the equation.
imaginaryPortion should store the resulting imaginary portion of the equation.
//You do not need to create double a, or double b
The word is "declare". You declare variables. They're going to run into that later and it's good to stay consistent.
hmmm, something about these implied variable declarations still bugs me. I dunno, maybe you want to explicitly show the code that comes before and after?
(text box for students to type in)
Also, I think I have a philosophical issue with #7 which uses casting to an int to round off a double. I can't say it doesn't work. Or that it's wrong per se.
This would be above and beyond, but I imagine if you churn through enough impressionable youths you're going to hit those naturally gifted ones which plow through this. If you had challenging bonus questions you might be able to light up some inspiration and get them interested. Things like computing the Fibonacci sequence, constructing markov chains, a bot that can play checkers.
Best of luck. Teaching children to code is a daunting task and it's largely up to them. All you can do is lay out the path. Thinking back, there were an awful lot of pitfalls and hours of frustration. ...of course, that implies anything has changed.