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).
  1. A problem that uses Maple to investigate properties of prime numbers.
  2. An inductive proof.
  3. A problem related to the Euclidean algorithm.
  4. A problem involving modular arithmetic and Fermat's (Euler's) theorem.

Exam Rules

  1. You will need Maple to take the exam.
  2. 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.
  3. You will have the full class time to complete the exam.
  4. You may use a copy of the text and the posted lecture notes. No other materials are allowed.

Practice Problems

  1. Use induction to prove that x^n-1 = (x-1)*(x^{n-1}+...+x+1).
  2. 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.
  3. 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.
  4. 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.
  5. 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?