This is an advanced course for computer science programming or computer engineering. It can also be used in an advanced math class for grades 11 and 12.

The unit deals with different algorithms and problem solving techniques. Plus, it contains a lot of information about various kinds of sorting algorithms.

Each lesson contains a problem set along with a solution set--useful for improving problem solving and testing skills.

The basic prerequisites of the course are as follows:

1. Knowledge of any one programming language like (C, C++,Java)

2. Knowledge of Data Structures.

3. Optional: Discrete Mathematics.

- Career & Technical Education > General
- Career & Technical Education > Technology
- Mathematics > General

- Grade 11
- Grade 12
- Higher Education
- Graduate
- Undergraduate-Upper Division
- Undergraduate-Lower Division

Select and use appropriate tools and technology (such as computer-linked probes, spreadsheets, and graphing calculators) to perform tests, collect data, analyze relationships, and display data.

Identify and communicate sources of unavoidable experimental error.

Recognize the usefulness and limitations of models and theories as scientific representations of reality.

Analyze situations and solve problems that require combining and applying concepts from more than one area of science.

describes, analyzes, and generalizes relationships, patterns, and functions using words, symbols, variables, tables, and graphs.

determines the impact when changing parameters of given functions.

knows that performance testing is often conducted using small-scale models, computer simulations, or analogous systems to reduce the chance of system failure.

knows that scientific knowledge is used by those who engage in design and technology to solve practical problems, taking human values and limitations into account.

Use a variety of problem-solving strategies, such as drawing a diagram, making a chart, guessing- and-checking, solving a simpler problem, writing an equation, working backwards, and creating a table.

Decide whether a solution is reasonable in the context of the original situation.

Use recursive and iterative thinking to solve problems, including identification of patterns, population growth and decline, and compound interest.