Algorithms - Basic
This algorithm exam covers basic programming skills, typically seen during the first half of the first year of an IT university curriculum.
One main global cross category objective of this exam is to determine the result of an given algorithm's execution.
Scope
The purpose of this topic is to gain analysis skills that let solve unexpected problems, and exams objectives cannot be an exhaustive list of "unexpected problems".
We give clear examples of possible algorithms that are good question candidates.
Other and similar examples could be taken to write questions, as long as:
- they are not too difficult (this is a basic level exam)
- they don't require too specific/obscure prerequisites (as advanced statistics/math skills).
Language
While the questions may contain Java fragments, they cannot contain any Java trick. Please put Java related questions in one of the Java SE exam.
For example, the sorting section cannot contain questions about the Java API for sorting arrays or collections.
Questions may also contain code fragments written in "natural English", but not in other computer languages than Java (no C, Smalltalk, Pascal,...).
Example of natural English algorithm:
i <- 10
While i is greater than 0, do:
..i = i-1
..print i
end-while
The master rule is that syntax must be clear for everyone and bring no trick to the question.
Prerequisites
- basic mathematical skills, as
- operations/functions log, sqrt, exponent, polynomials,
- notion of prime number
- calculating the area of a circle
- factorial
- greatest common divisor
- basic programming and Java skills: variables, for and while loops, branches (if), arrays, objects.
References
- Algorithms in Java (3rd edition) by Reobert Sedgewick.
Many points of these objectives are inspired from the book content which is a great study tool that will bring you much further than this exam level. - Wikipedia
- feel free to post a comment to this objective with good references to add here
Not covered
Please keep the level of this exam basic. What is not in the objectives below is not in the exam.
For example, these topics are not covered in this exam:
- Compound Data Structures (as multi-lists)
- Graphs
- non-trivial sorts (shellsort, quicksort,...) and bubble sort.
- complex tree manipulations
- cross recursion.
- non-recursion using a stack.
| Released | Beta | Frozen | ||
|---|---|---|---|---|
Elementary Data Structures |
|
|||
Array 3 questions
|
9 | 11 | 22 | |
Linked List 3 questions
The notion of "linked list" here does not refer to any implementation from the java.util collections. The convention is to use objects having a "next" attribute or method, to refer the next element of the list. |
8 | 10 | 19 | |
Abstract Data Types
Java provides many abstract data types, for example in the java.util package. This exam does not refer to the built-in collections, but to your own classes.
|
|
|||
Stack 4 questions
|
16 | 13 | 21 | |
Queues 2 questions
|
3 | 11 | 10 | |
Duplicate & index items 1 question
|
2 | 4 | 10 | |
Recursion 4 questions
|
9 | 37 | 21 | |
Trees 4 questions
|
15 | 20 | 22 | |
Sorting 2 questions
|
5 | 36 | 12 | |
Exam information
- 34 minutes
- 23 questions (346)
- 80% required
- +3 √
- - 12 points
- 15 day delay
- status: released



