This project invites you to create a virtual arena and to compete with programs coded in a simplistic language. You will thus approach the design of a VM (with the instructions that it recognizes, the registers, etc), and the problems of compilation of an assembly language in bytecode. With, as a bonus, the pleasure of having your champions compete on your arena!
Your ant colony must move from one point to another. But how to make it as short as possible? This project introduces you to graphing algorithms: your program will have to intelligently select the precise paths and movements that these ants must take.
This project asks you to sort data on a stack, with a limited set of instructions, in fewer possible moves. To succeed, you will have to manipulate different sorting algorithms and choose the most appropriate solution (or solutions) for an optimized ranking of data.