COMP1511 Hall of Fame

A list of students who have achieved great distinction and honour by completing large amounts of meaningless busywork for little gain!

Dedong Xie

Submitted 19/10/2019

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/Dedong Xie"

Show Modal

Dedong Xie

Submitted 19/10/2019

Citation

Dedong implemented both an undo and a fill command for the CS Paint program.

Instructions

To fill from the pixel with co-ordinates start_row, start_col use:

9 start_row start_col colour

To undo the previous command (including drawing lines, changing shade, copy and paste, and undo) use:

8

How to run

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/Dedong Xie"

Joshua Kaplan

Submitted 28/10/2019

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/Joshua Kaplan"

Show Modal

Joshua Kaplan

Submitted 28/10/2019

Citation

Joshua implemented a fill, undo, redo and convert canvas to instructions command for the CS Paint program.

Instructions

To fill from the pixel with co-ordinates start_row, start_col use:

9 start_row start_col colour

To undo the previous command use:

8

To redo a command use:

7

To convert a canvas to instructions use

5 
paste a canvas into the terminal
signal end of input

How to run

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/Joshua Kaplan"

Haoran Lyu

Submitted 15/10/2019

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/Haoran Lyu"

Show Modal

Haoran Lyu

Submitted 15/10/2019

Citation

Haoran implemented a fill command for the CS Paint program.

Instructions

To fill from the pixel with co-ordinates start_row, start_col use:

9 start_row start_col colour

How to run

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/Haoran Lyu"

James Archer

Submitted 27/10/2019

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/James Archer"

Show Modal

James Archer

Submitted 27/10/2019

Citation

James implemented an infinite undo-redo tree for the CS Paint program. He explains the significance of this below:

“I have implemented an infinite undo-redo tree. That is, a tree structure in which all states visited during the program’s run are saved. The tree is traversed using undo and redo commands. To save space, delta encodings are stored, rather than canvas states.

The reason for a tree history instead of the linear undo history found in most programs is that, with a linear history, states can be lost. For example, in an empty textbox: type ‘a’, then undo, then type ‘b’, then undo. At this point, with linear history, if you issue a redo command, you will get the ‘b’ back, and the ‘a’ will have been lost. In contrast, with a tree history, both the ‘a’ and the ‘b’ states will be saved as sibling children of the same node. Then, with an integer argument to the redo command, you can choose which to revisit; for example, ‘redo 0’ to get ‘a’, and ‘redo 1’ to get ‘b’. That is how my solution is implemented.

As noted above, the tree does not store canvas states. Rather, when a command is run that alters the canvas state, the new state and the previous state are diffed. This results in a third array that is all zeroes except for the pixels that changed. Then, this delta array is compressed using a run-length encoding. To illustrate, the array

{0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}

is compressed into

{0, 5, 1, 3, 0, 4}.

That is, 0 repeated 5 times, followed by 1 repeated 3 times, followed by 0 repeated 4 times. The worst case size of this encoding is actually twice the size of the canvas state, in the case where every pixel colour is different to its neighbours. But since it is deltas being encoded, where it is mostly a bunch of zeroes, with a few blocks of pixels, I believe this is an efficient form of compression.”

Instructions

‘5’, meaning undo (takes no arguments). ‘6 0’, meaning redo to the 0th child node of the current node.

Example

Enter

1 0 0 5 90 5 1 1 0 5 90 5 6 0

and note that the end result is the same as if you had run only the first line. Alternatively,

1 0 0 5 90 5 1 1 0 5 90 5 6 1

and note that the end result is the same as if you had run only the third line.

How to run

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/James Archer"

Matthew Johnstone

Submitted 27/10/2019

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/Matthew Johnstone"

Show Modal

Matthew Johnstone

Submitted 27/10/2019

Citation

Matthew created an undo command for CS Paint.

Instructions

To undo the previous command use:

8
ctrl + D

How to run

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/Matthew Johnstone"

Liam Garde

Submitted 23/10/2019

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/Liam Garde"

Show Modal

Liam Garde

Submitted 23/10/2019

Citation

Liam implemented a fill command for the CS Paint program.

Instructions

To fill from the pixel with co-ordinates start_row, start_col use:

9 start_row start_col colour

How to run

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/Liam Garde"

Nathan Levy

Submitted 27/10/2019

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/Nathan Levy"

Show Modal

Nathan Levy

Submitted 27/10/2019

Citation

Nathan implemented both an undo and a fill command for the CS Paint program.

Instructions

To fill from the pixel with co-ordinates start_row, start_col use:

9 start_row start_col colour

To undo the most recent valid command use:

8

How to run

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/Nathan Levy"

David Peng

Submitted 11/10/2019

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/David Peng"

Show Modal

David Peng

Submitted 11/10/2019

Citation

David implemented a program to convert a canvas into the instructions required to create the canvas.

Instructions

To fill from the pixel with co-ordinates start_row, start_col use:

./paint_reader

Then input 720 numbers from 0 - 4 inclusive (creating a 20 x 36 canvas)

How to run

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/David Peng"

Toshihiro Tabata

Submitted 24/10/2019

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/Toshihiro Tabata"

Show Modal

Toshihiro Tabata

Submitted 24/10/2019

Citation

Toshihiro implemented a fill command for the CS Paint program.

Instructions

To fill from the pixel with co-ordinates start_row, start_col use:

9 start_row start_col colour

How to run

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/Toshihiro Tabata"

Coming Soon!

Notice Created 29/03/2020: We will update this page before the end of term with new Hall of Fame submissions!

There is no binary available.

Show Modal

Coming Soon!

Notice Created 29/03/2020: We will update this page before the end of term with new Hall of Fame submissions!

How to run

There is no binary available (ask the Course Administrator if you believe this is in error.)

Derek Sun

Submitted 14/07/2019

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/Derek Sun"

Show Modal

Derek Sun

Submitted 14/07/2019

Citation

Derek implemented Wu’s Algorithm for the CS Paint program, which creates an anti-aliased line in CS Paint.

Instructions

To create an anti-aliased line use:

11 start_row start_col length direction

How to run

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/Derek Sun"

Jennifer King

Submitted 13/07/2019

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/Jennifer King"

Show Modal

Jennifer King

Submitted 13/07/2019

Citation

Jennifer implemented a fill command for the CS Paint program, implementing a recursive fill function.

Instructions

Use the command ‘9’ to fill.

How to run

The files from this submission are available by running: cd "/web/cs1511/hall_of_fame/binaries/Jennifer King"