CSCE 478/878 (Fall 2008) Prerequisite Test

Assigned: August 25, 2008

Due: September 3, 2008

No collaboration is allowed, but you may use any resources you wish, so long as you cite them. Show all work and state all assumptions. Submit your solutions to all parts (in a single pdf file) via the web-based handin program. If you do not know the definitions to some terms, consult the instructor, Mathworld, or some other relevant resource.

  1. (10 points)
    1. Define the divide and conquer approach to algorithm development.
    2. What are the main steps of a divide and conquer algorithm?
    3. Give an example of an algorithm that uses divide and conquer. In this algorithm, identify the steps from part (b).

  2. (5 pts) Consider the set of numbers A = {1, 3, 4, 5, 8, 9}. What is its mean? What is its variance?

  3. (5 points) Given the set A = {a, b, c}, what is 2A (called the power set of A)? In general, if a set has n elements, what is the size of its power set?

  4. (20 pts) Write a brief (2–3 pages) essay on any advanced computer science-related topic that you are familiar with, e.g. virtual memory, Ethernet, NP-completeness or any other topic covered in a 4XX/8XX computer science or applied math course (if you have not yet completed a 4XX/8XX computer science or applied math course, then choose a topic from the most advanced CS/Math course you have completed). Assume that the reader of this essay has a basic computer science and math background, but is unfamiliar with the topic that you are writing about. Thus you want to convey the fundamental ideas and applications of this topic, but do not overwhelm the reader with enormous amounts of detail! Cite all references you use in a style such as that found in any ACM or IEEE journal. Do not simply copy the material from these sources, but instead write this in your own words. Only your presentation and writing style will be graded, so have someone proofread this for you before handing it in.