Study Guide for First Exam
CS 300 Applied Symbolic Computation
Instructor: Jeremy Johnson
Exam date: (In class on Thur. Apr. 27)
Students are responsible for material in Chapters 1-3 of the text along
with the Maple worksheets and materials for Lectures 1-5. Students must
be able to use version 10 of Maple including the worksheet interface and
basic computations as presented in the lectures and posted worksheets.
You should be able to use Maple to explore properties about integers
and the number theoretic algorithms (Euclidean algorithm, extended Euclidean
algorithm, trial division, sieve of Eratosthenes, modular arithmetic and
fast powering) that were discussed in class. You need to be competent in
the basic programming constructs of maple (loops, conditionals, procedures,
packages), data structures (sequences, lists, sets, arrays), and builtin
functions for integer arithmetic and number theory (isprime, igcd, igcdex,
ifactor, ithprime, nextprime, numtheory[phi], numtheory[pi], rand, Power).
You should also be able to do simple proofs using induction related to the
number theory concepts and algorithms that were presented.
You should be able to do the problems following chapters 1-3 in the text,
though a few of the problems (e.g. Pythagorean triples and irrationality of
sqrare roots were not covered in lecture and hence will not be in the exam).
Those problems that involve programming and empirical investigation should
be done in Maple and are representative of some of the problems that will
occur in the exam.
There will be four problems (problems may have multiple parts). You will
need to use Maple (if you do not have a laptop with Maple, you will be
provided one).
- A problem that uses Maple to investigate properties of prime numbers.
- An inductive proof.
- A problem related to the Euclidean algorithm.
- A problem involving modular arithmetic and Fermat's (Euler's)
theorem.
Exam Rules
- You will need Maple to take the exam.
- The exam will be given as a Maple worksheet. Some of the problems
can be completed entirely in the worksheet, while those requiring a
proof will be handed in on a separate piece of paper.
- You will have the full class time to complete the exam.
- You may use a copy of the text and the posted lecture notes. No
other materials are allowed.
Practice Problems
- Use induction to prove that x^n-1 = (x-1)*(x^{n-1}+...+x+1).
- Solve the recurrence T(n) = 5*T(n/3) + c*n, n > 1, T(1) = c. Use
induction to prove your result. You may assume that n = 3^k.
- Use the Euclidean algorithm to prove gcd(2^n - 1,2^m - 1) =
2^gcd(m,n) - 1. What is gcd(x^n - 1,x^m - 1) for an arbitrary positive
integer x? Prove your result.
- Write a Maple program to investigate the probability that an integer is
a pseudoprime to different bases. Compare this probability to the probability
that a number is prime.
- Write a Maple program to search for Carmichael numbers (look in the book
if you forgot what these are)? How many can you find? How frequently do they
occur?