I am going to college after this summer for programming and applications development. I have a little knowledge of C++ and very little C. I was wondering if anyone had some suggestions to some exercises projects that would give me a head start if you will, before I get to college.

What separates students in college is not their preexisting knowledge of a particular language, it's their problem solving ability (which is called creativity). Therefore, I recommend solving some problems with a language that doesn't have as much to come out and bite you. This will give you more experience trying to solve the problem you're solving, not the problems the languages C and C++ give you. Knowing different languages also causes you to think of different approaches towards solving a problem. So, I recommend solving some problems using the language Python. This will give you the best head start.

I don't know how good you are, so the following list will be in increasing difficulty. All these could be written using command-line style input and output. I don't expect you to complete all of them -- if you did, that would mean the list was too short.

- Write a program that asks for a person's name, then says "Hi, _____!".
- Write a program that prints the Nth Fibonacci number.
- Write a program that prints the Nth row of Pascal's Triangle.
- How many prime numbers are there between 1 and 10000?
- Write a program that tells how many prime numbers there are between 1 and the Nth Fibonacci number.
- Write an RPN calculator, with the functions +, -, *, and /.
- Add built-in functions that let you swap the bottom two elements of the stack, or rotate the bottom N elements of the stack, in the RPN calculator, and also remove the bottom element(s) of the stack.
- Add the ability to create your own functions and variables, in the RPN calculator (where a function is just a list of functions).
- Add a command that lets you run a function over and over again, until the bottom of the stack is zero.
- Write a factorial function in the RPN calculator itself, instead of Python.

These problems are relatively straightforward (assuming you're doing some learning on your own in between), until "write an RPN calculator," which is a huge leap ahead (and is not easy for the newbie, and you probably have to learn what an RPN calculator is, too. Which is educational in its own right). Then, the last three would be (if you do them) more interesting and challenging than anything you'll see in your first two semesters.

I hope you feel frustrated by these problems (because then you're learning).

The last three are not actually very complicated, if you think about them the right way. By the time you get to them, you might have thought of something else you'd like to do, instead, too.