COMP203 Maple Projects

Your group should choose three of the projects below, ranked by preference.

Each group will be assigned one of the projects below to work on over the remainder of the semester and present during the final exam period. In order to get full credit for the project, your entire group should understand your solution. Your solution is expected to use iteration (for, while or recursion) and boolean logic (if or ifelse).

Use any source you like; cite your sources and understand what you have taken from them. Your grade will depend on your group's total effort, so a group which copies an online solution may receive the same grade as a group which reaches fewer conclusions but develops all their work from scratch.

These are open ended questions; you may not be able to answer them completely. If you think you've answered your question completely, think harder. It's better to end your presentation by describing one or two things you tried but didn't finish than to present an open and shut case.

  1. (Number Theory) Use Maple to find all the deficient numbers (numbers for which the sum of their proper positive divisors is less than themselves) between 1 and 500. What patterns do you notice? Do those patterns extend to 5000? Given two deficient numbers, when is their sum deficient? When is their product deficient? Summarize the results, including the calculations which generated them, in a Maple worksheet.

  2. (Factoring Polynomials) Write a Maple program which takes a list of (integer) coefficients of a polynomial as input and applies the Rational Root Theorem to find any rational roots of the polynomial (i.e. find any factors (x-q), where q is a fraction). Test your program on some examples for which you know the outcome, then test your program on some randomly generated examples. How were your random polynomials generated, and what percentage of them had rational roots? Summarize your results, including the calculations which generated them, in a Maple worksheet.

  3. (Calculus) Write a Maple program which accepts a function as input and then displays a list of the critical points of the function and (whatever you can determine of) their properties. Create a Maple worksheet which demonstrates your program on several examples, and which also discusses and gives examples of the difficulties you overcame while working on your program.

  4. (Calculus) Write a Maple program which uses the extremum test to determine whether critical points such as x=0 in the function y=x4 are minima, maxima, or points of inflection. Create a Maple worksheet which demonstrates your program on examples including maxima, minima, points of inflection, and a function whose first through third derivative is zero at a point. Your worksheet should also discuss and gives examples of any difficulties you overcame while working on your program -- for example, how does your program handle critical points of the function f(x) = 0?

  5. (Cryptography/Linear Algebra) Use Maple to encrypt and decrypt a message using one or more techniques; for example, you might use the Hill substitution cypher or PGP encryption. Create a Maple worksheet explaining the process and giving examples of messages in various states of encryption and decryption.

  6. (Number Theory) A Ducci sequence is a sequence of lists of integers. If [x1, x2, x3, ... xn] is a list in the sequence, the next list in the sequence is the list of differences [ |x2 - x1|, |x3 - x2|, |x4 - x3|, ... |xn - x1|]. Write a Maple program which accepts a list as input and displays its Ducci sequence. What different long-term behaviors can you find in these sequences -- do they converge or diverge? Create a Maple worksheet demonstrating your program on several interesting examples. Include any conjectures or conclusions you might have drawn in your worksheet.

  7. (Probability) Write a Maple program which accepts an input n and generates a collection of n random points inside a square, then uses the number of points within distance 1 of the square's center to estimate the value of pi. How accurate is this estimate for different values of n? Do think this is a good way to define the value of pi? Create a Maple worksheet summarizing your conclusions, presenting and explaining the Maple code used in your process, and displaying example calculations for different values of n.

  8. (Calculus) Write a Maple program which accepts a function and guess as input, then uses Newton's method to estimate the x-intercept of the graph of the function starting from the input guess. Test many different functions and inputs with your program and make a note of how your program performs in each case. Create a Maple worksheet displaying and demonstrating your program, describing the most interesting cases you tested, and discussing any difficulties you encountered and the criterion you used to decide when your estimate was "good enough".

  9. (Fractals and Complex Numbers) Given a complex number c = a + bi, consider the sequence recursively defined by:
    b0 = 0
    bn+1 = bn2 + c.
    If the terms of this sequence remain bounded (don't go off to infinity), then the complex number c is an element of the Mandelbrot set. Write a Maple procedure to test whether a number is in the Mandelbrot set. Research methods of using Maple to display pictures of the boundary of the Mandelbrot set and use these techniques to generate some images. Create a Maple worksheet showcasing your results and discussing any difficulties you encountered and the criterion you used to determine whether a number was in the set.

  10. (Applied Math) Start with photographs of one or more curves -- like the path of a baseball, an arch in a doorway, the swoosh on your sneakers, or the sign at a McDonald's. Use Maple to find an equation describing the curve. Create a Maple worksheet which includes the image(s) you analyzed, any data you collected, the calculations you used, and graphs of the equation(s) you found.