I found that the time I was able to commit to this project was well worth it over the course of this semester. The chance to work some interesting and original mathematical work created a nice break from the reflections and lesson planning that took up most of my time in last year.
My 10 Original Questions.
1. Does Mathematica have enough built in tools to do this task?
Yes. Once I started to dig into Mathematica I found that it had a wealth of built in functions. Most of my struggle has come from selecting the correct tool to use when their is more than one available.
2. Does my knowledge of C++ transfer to Mathematica?
Not as much as I had hoped it would. The built in functions actually move me away from the structure and design of C++. I found that designing an algorithm in Mathematica is much more time consumming than in C++. Usually I ended up finding a function that would effectively do what my own algorithm design would have done, just much faster.
3. How long will it take to get competent with Mathematica?
I'm still not competent with Mathematica. I can graph functions and generate series and lists quickly now, however I still struggle with the deeper material. I still have to look up most functions to remember all of their components.
4. How difficult is it to create functional algorithms in Mathematica?
Around medium difficultly. The process isn't that bad, but you need to have a strong foundational understanding of exactly what you want the algorithm to do. I found that I had much more success piecing together algorithms in C++ than Mathematica because of the structure of the language.
5. Are there coding considerations I should be aware of when working with Mathematica?
Not as many as C++. They both have similar coding requirements for their built in functions so you can't be that loose with the code structure. However the list focus of Mathematica is different than C++ so some of the array operations have been drastically simplified.
6. How difficult of a task have I set for myself?
I think that the problem was actually really appropriate for me. If I had focused on this problem a little more during the semester I could have probably finished the first 100. Instead I only finished 38 problems by the end.
7. Are there classes of problems that are more difficult with Mathematica?
Yes. Going through the problems I found that most of the problems that start with a long list of numbers were more difficult. The problems were generally simple once I got them into the computer with the right format, however getting them to that point was harder than I expected. Usually it took a lot of work to get it input into the system correctly.
8. Can these problems be adjusted for use in the classroom?
Yes. Some of the problems have a nice structure to them and are easily understood. They fall into a category of problems that generally have a low entry requirement. Many of the problems have a repeating structure that can be easily grasped at first, finding the final solution usually takes brute force or mathematical trickery.
9. What mathematical fields are covered by this project?
I have found that most of the problems in the first 50 are strictly combinatoric in nature. I have seen later problems that deal with calculus however in the first 50 it's mostly about counting.
10. How much does Mathematica cost if I decide to keep using it after this project?
$235 or $135 per year.