Also I came across this site http://apcentral.collegeboard.
In this there are some team problems to be solved using computer science,

Here is a list of the problems.
- Averaging Numbers: Write an algorithm for averaging
a list of numbers. Focus first on the problem of knowing when the user
is finished entering the numbers.
Objective: To make students think about this standard algorithm before they develop a program for it in subsequent classes or labs
Prerequisite knowledge: How to input and output numbers; For and While loops
- Putting Numbers in Ascending Order: Draw a
flowchart for the problem of arranging three numbers in ascending order.
Then trace the flowchart using a given set of test data.
Objective: To have students develop the if-then-else logic required to solve this standard problem before they write the code for it in subsequent classes or labs
Prerequisite knowledge: How to draw a flowchart with input/output and decision symbols
- String Searches: Apply a "brute-force" method
to determine if a given string is contained in another string. Then
apply the Boyer-Moore algorithm to the same task and note the reduction
in the number of steps.
Objective: To have students apply a search algorithm that is not part of their regular classwork
Prerequisite knowledge: How to use a pointer to move through a string; comparing characters
- Swapless, Pushless Sorting: Develop an algorithm to sort a list of integers into descending order without swapping any values or pushing values up or down.
Objective: To have students create a sort algorithm that is more efficient than the ones they have learned to code (e.g., Shuttle-Interchange, Bubble)
Prerequisite knowledge: At least one sorting algorithm, so as to understand the idea of comparing numbers in a list and swapping those that are out of order
- Dealing Cards: Develop several algorithms for dealing a deck of cards and storing them in the computer's memory.
Objective: To have students develop multiple approaches to a problem that underlies numerous card games, including poker and solitaire
Prerequisite knowledge: How to store data in one- and two-dimensional arrays; random number generation; if-then logic
- File Compression: Apply the LZ algorithm to recreate a file from its condensed version and to condense a given file as much as possible.
Objective: To apply a compression/decompression algorithm to "unzip" and "zip" files
Prerequisite knowledge: Understanding of the concept of file compression and the LZ algorithm
- Seven Segment Display: Apply the techniques of
Boolean algebra to design circuitry to run a seven-segment display for
one digit (as used for calculators, cell phones, etc.).
Objective: To apply Boolean algebra techniques to a "real-world" problem that students are familiar with
No comments:
Post a Comment