RSISE Buliding 115

The Australian National University

Canberra ACT 0200

Australia

E dirk.pattinson@anu.edu.au

T +61 (0)2 6125 8612

F +61 (0)2 6125 8651

The Australian National University

Canberra ACT 0200

Australia

E dirk.pattinson@anu.edu.au

T +61 (0)2 6125 8612

F +61 (0)2 6125 8651

They aim to provide the opportunity to self-evaluate programming
skills and collect a few problems, together with automated feedback
(on functionality only). Try them at
`http://cs.anu.edu.au/onex/`.

They aim to demonstrate coding skills, starting from scratch.

- My favourite Number (capitalisation, integers, types, indentation)
- Vectors (type declarations)
- Time Points (product types, function abstraction, where-clauses)

- Adding Two Numbers (recursion and tail recursion)
- Fibonacci Numbers (combinatorics, guards, code duplication)
- Binomial Coefficients (combinatorics, efficiency)

- Parsing (the joy of types, lists, lists of lists)
- Scoring (simple list algorithms)
- Experiments (simple IO, to see things running)

- Naive Algorithm (types and problem description)
- Efficient Algorithm (basic data organisation)
- Experiments (just to see it run on real-world data)

- Data Type (inductive types, functions on inductive types)
- Satisfiability (algorithmics on inductive types)
- Exponential Behaviour (experiments on complexity)

- Map on Lists (standard examples)
- Right Folding (summation, maximum, removal of duplicates)
- Left Folding (summation, digits-to-number, list reversal)
- Filter (prime numbers, some lazy evaluation)

- Exponentiation (problem symmetries)
- List Reversal (two takes on list reversal)
- Giving Change (dynamic programming)
- Zero Finding (divide and conquer)

- The Game (intro and logic)
- Evaluating Moves (anticipating the best move of the opponent)
- Choosing the best Move (minmax at work)
- Speeding up (parallelism)

- Parallel Quicksort (experiments and stats)
- Tree Algorithms (experiments and stats)

Dirk Pattinson | [check HTML] [check CSS] |