Skip to main content Open main menu ANU crest Search this site
Close search

Major project


  • Due: 9pm AEDT, Monday, November 1
  • Mark weighting: 50 marks
  • Submission: submit your assignment through Gitlab (full instructions below)
  • Policies: no late submissions accepted; for other policies (e.g. academic integrity) see the policies page


In COMP1720/6720 your major project is an interactive p5 artwork for a new-media art exhibition. Here’s the scenario: gallery attendees are able to walk around and observe the various works (including yours) at their leisure. If they wish, they can pause at your sketch and interact with it, but they will receive no additional guidance/instruction on what to do. Your goal is to provide an engaging user experience of roughly three minutes, but the exact nature of that experience is up to you. It might be an interactive generative artwork, it might be an interactive movie/storytelling experience—you get to choose.


Each year, we choose a theme for the COMP1720/6720 major project. You shouldn’t feel limited by this—you have heaps of freedom to interpret and explore the theme however you like. Your artist statement (which must be more substantial this time than for your assignments) is your chance to explain how your interactive artwork relates to and explores the theme.

This year’s theme is:

timeless attraction

You can interpret this theme however you wish, as long as you fulfill the requirements below.

Getting started

The process is exactly the same as for all the other assignments:

  1. fork & clone the major project repo

  2. make an interactive p5 artwork which explores the theme.

  3. as you go, commit and push your progress to the GitLab server

As in the other assignments, the major project template repo sketch.js has some (minimal) starter code, and the template index.html file includes a “back to gallery” button (because your major project will be exhibited in a virtual “gallery exhibition”).

As usual, there’s a submission checklist below to help you make sure you’ve completed everything you need to in your submission. Remember to take advantage of the Git help in the FAQ.


Your major project is a p5 sketch which must:

  1. allow interaction using either the keyboard, mouse, microphone, camera, or some combination of those

  2. provide an engaging interactive user experience of roughly three minutes

  3. relate to the theme in a meaningful way

  4. be suitable for public presentation, viewing and interaction—it can’t be obscene!

  5. have well-organised source code, displaying the appropriate use of functions, arrays, objects, and the techniques discussed in lectures

  6. include an (max 500 words) describing your artwork

  7. include an (max 500 words) which describes how a typical user will interact with your artwork

  8. if you are a COMP6720 student, you have met the special requirements in the two statements (see below).

  9. include a statement-of-originality.yml describing any inspiration/code/assets you got from other places. It’s ok to use these external sources, but your major project must contain significant new work by you—you can’t just cobble together stuff from these other places (you’ll fail if you do)

  10. include a thumbnail.png image file with the resolution 1280x720 in the top-level folder of your submission repo to use in the “sketch selection” interface

  11. run smoothly in fullscreen at the test URL at any canvas size from 1920x1080 (in the CSIT labs) to 2560x1440 (in the PK iMac labs) make sure you test your sketch with different sized windows

  12. include a “back to gallery” button in the bottom right-hand corner (this is provided in the template—so as long as you don’t remove it then you’re fine)

The artist statement

Your submission must include a short/medium length (max 500 words) artist statement. This is a short document, written in the first person, which answers the question:

How does your artwork address the major project theme?

Your artist statement shouldn’t just be a list of “the first screen is this, the second screen is this…”; that’s what your interaction statement is for. Instead, the artist statement is your chance to explain the deeper artistic message you’re trying to comunicate and the questions you’re trying to raise through your work.

There’s no strict template for the artist statement—instead, you’ll be marked on how clearly you articulate your what you’ve tried to achieve artistically in your major project.

If you’re looking for things to discuss in your artist statement, here’s some ideas:

  • how have you interpreted/explored the theme?
  • was there a particular aspect of the theme that you focussed on, and if so what was it?
  • how have you structured the experience (e.g. beginning-middle-end, or something else)?
  • what are you trying to make the viewer think?
  • what are you trying to make the viewer feel?
  • what do you hope the viewer tells their friends about your artwork after they leave the gallery?

COMP6720 Requirement: You must explain how your artwork reflects recent developments in Art and Interaction Computing in your artist statement.

The interaction statement

Your submission must include an interaction statement (max. 500 words) which describes how a typical user will interact with your artwork. This means a step-by-step discussion of your planned interaction experience from its beginning, to its middle, and its end. For each step in the interaction experience, you should describe what a user sees, what they should understand about the meaning of what they see, how they know what to do next, and what happens when they complete this step. When we assess your interaction statement, we will compare it with your sketch and decide whether or not it is realistic.

COMP6720 Requirement: You must explain how your interaction design reflects recent developments in Art and Interaction Computing in your interaction statement.

Submission process

Here’s the process (again, remember the Git help screencast videos)

  1. fork the major project template repository from the CECS GitLab server

  2. clone1 & work on your fork of the major project template repo, regularly committing & pushing your changes to the GitLab server

  3. at the submission deadline, the latest commit2 pushed to the GitLab server (not on your local machine!) will count as your submission

One thing to note is that there are some “checks” which the GitLab server runs to help you out. So if you get a pipeline failed email, then have a look at the FAQ.

Submission checklist

The major project is worth 50% of your total mark, so this stuff really matters! Make sure you check (and double-check) your submission.

  1. my project satisfies the requirements

  2. my completed project has been pushed to the master branch on GitLab server, and all the required files (including any assets) have made it to the server

  3. my statement-of-originality.yml file is correctly formatted, includes all the necessary references/acknowledgements, and everything not mentioned in there is my own work

  4. my sketch works when viewed in Firefox at the testing URL (, with uXXXXXXX replaced with your UID)


You can ask a question on the COMP1720 forum using the major-project tag and if it’s popular enough I’ll put it up here.

Also, remember that there’s lots of helpful info on the FAQ page which applies to the major project. You should check it (and the rest of that page) out—I think it’ll really help.

Can I write more than the word limit for the two statements?

No. If either your artistic statement and interaction statement are more than 10% over the word limit, you will start to lose marks.

I’ve realised that there’s a bug in my major project after the submission deadline—I know it won’t change my mark, but can I at least fix it for the exhibition?

Yes, you can. In fact, the major project gallery exhibition just points to the test URL you’ve been (hopefully) using all along to check whether your sketch works properly.

If you see that your sketch isn’t working at the test URL, you can fix it and push up the changes to the GitLab server as normal, this will not affect how we mark your assignment.

What’s the thumbnail.png for?

The main gallery website interface will be a bunch of images—one for each person’s project. Viewers will be able to browse (and search) through the exhibition on any web browser.

The purpose of the thumbnail.png image is to provide a still image for your major project artwork on this main page which the viewer would click on to go to your (full-screen) sketch.

Remember to grab the thumbnail.png image from the Downloads folder, resize/crop it to 1280x720, move it into the top-level folder of your submission3 and commit it to your Git repo with that exact filename (make sure it’s spelled correctly or it won’t work!).

I didn’t include a thumbnail.png in my final submission—can I still add one after the deadline for use in the gallery interface?

Yep! You can add a thumbnail.png file at any time, and it’ll show up in the gallery showcase.

When/where can I get feedback on how my major project is going before I submit?

The lab sessions from week 10 onwards are all about your major project. You could also ask a question on the COMP1720 forum using the major-project tag.

Can I make a game for my major project?

No. Your major project has to be an interactive artwork which explores the theme. It can incorporate game-like elements, but if you just make a game then you won’t get a great mark. As an example, if you make an pacman-style game and “skin” the characters with things to do with your theme, then that’s not really engaging deeply with the theme (and you’ll be marked accordingly).

What does it mean for my project to be engaging?

That’s a tough question to answer without knowing more about what your project is and what story you’re trying to tell, but here are a few hints:

  • show, don’t tell
  • your goal is to make an artwork, not just show some information, so don’t just have lots of text
  • there are enough powerpoint (.ppt) presentations in the world, don’t make another one for your major project!
  • can you come up with some interaction techniques other than “click this button to proceed”?

What do you mean by “don’t make a .ppt”?

Don’t make something with a bunch of text & (mostly) static image “pages”, where the user just clicks through from one page to the next. Seriously, you can be much more creative that that!

Will my major project be visible to the public?

Yes—as we’ve said all along, the major project is an art gallery exhibition, so your work will be visible to the public4.

My sketch works fine on my machine using the live server, but when I use the test URL it can’t find the assets?

As it says in the assets/ file in the template repo:

This folder is where you should put any assets (e.g. image files, audio files) which you use in your sketch. Make sure you commit the asset file in git (otherwise it won’t get pushed to the server, so it won’t work at the test URL)

The reason for this is that the CI job which copies your files to the test URL server (by default) uses this command:

cp -r assets *.html *.js $DEST_DIR

If you’re familiar with the cp (copy) command you can see that it copies three things:

  1. assets: the whole assets folder
  2. *.html: any file with a .html file extension in the top-level of the project
  3. *.js: any file with a .js file extension in the top-level of the project

If you’ve got files somewhere else, then they won’t get copied to the test URL server, and so your sketch won’t work.

At this point, you’ve got two options:

  1. move your files (e.g. any assets not in the assets folder) so that they do get copied by the script (you’ll have to update the paths in your sketch as well)
  2. modify the script so that it copies the files that currently “misses”

Both options are fine—although if you’re not familiar with the command line and cp command then you might find the first option easier.

Finally, if you’re going to modify the .gitlab-ci.yml file then have a look at the FAQ.

Do I have to do weird extra/extension stuff to get a good mark?

No! The point of this course isn’t about what techniques you use, but about using them to create an effective and engaging artwork. You can totally do that in “vanilla” p5 using just the ideas & features we’ve covered in the course.

What’s the difference between the 1720 and 6720 major project?

The spec for the major project are the mostly the same for both undergraduate (1720) and postgraduate (6720) students.

For COMP6720 students we have two differences:

  • we expect you to discuss how your work is inspired by recent developments in Art and Interaction Computing (see spec above)
  • we expect a higher level of achievement from masters students and grade projects accordingly (see marking information below)

What do the “COMP6720 Requirements” mean?

These are additional requirements for COMP6720 students who have slightly different (more advanced) learning outcomes to COMP1720 students.

If you are a COMP1720 student, feel free to do these as well, but it’s not required for the assessment.

You can’t remove it, you can’t re-position it (it has to be in the bottom right), and you can’t re-size it, but you can re-style it if you like (e.g. change the colours to match your sketch). It must still be clearly visible, though (again, convenor’s decision is final).

Unless you really have a good reason to, though, you should probably leave it as-is.

The button doesn’t do anything when you’re just working on your project (either using the live server or at the test URL). It will, however, work as planned when your sketch is exhibited with all the others for the major project exhibition.

I don’t know where to start?

I’m sure that your ideas are better than mine, so I don’t want to stifle that creativity. The best advice I can give is to start thinking about your major project now, and we can discuss your ideas in the labs and on the COMP1720 forum. Still, here are a few ideas/things to think about:

  • You need to engage the viewer for roughly three minutes, so you need to think about the “interaction trajectory” (beginning, middle, end) of your artwork. Don’t use up all your best ideas in the first 30 seconds!

  • You want the gallery visitor to notice your artwork out of all the others in the gallery—how are you going to draw them in?

  • How will the user know what to do when they come to interact with your artwork? Make sure you give them cues, but you also want to encourage them to explore and discover things for themselves.

  • What do you want the lasting memory of your artwork to be? What do you hope the viewer will remember afterwards?

What size should the sketch be?

The template uses windowWidth and windowHeight to set the canvas size based on the size of the display (so that it can run in fullscreen mode). Your sketch needs to adapt to whatever size display it’s running on—so use width and height instead of hardcoded numbers (e.g. 200) wherever you can.

There’s an easy way to test this—just re-size your Firefox window and refresh the page. If things break, then your sketch doesn’t work properly. Have a look at the responsive-design section of the week 10 “toolbox” lab for some tips on how to fix it.

I don’t want other people to see my major project work—can I opt out?

Yeah, you can opt out of the exhibition—just message me on the forum and I’ll make it happen. You’ll still get a mark & a grade for your major project, it just won’t show up in the “gallery interface” we use in the exhibition.

I hope that you won’t opt out, because exhibiting your work is a crucial part of being an artist, and is also pretty fun. Make something that you’re proud of and show it off. But I also realise that stuff doesn’t always turn out like you’d hoped and if you want to opt out that’s ok.

Also, if anyone is ever harsh or mean to you about the work you submitted in this course, then let me know. We’re all at different stages of our journey in learning to art+code, and if someone tries to tell you that you’re not good enough or that you don’t belong in this course (or in CS courses in general) then:

  1. don’t listen to them
  2. remember that everyone started somewhere, including them
  3. let me know, because belittling the work of others is just not on

Can I use stuff I’ve already submitted in my assignments for this course?

This is an interesting one—this is called recycling and it’s allowed in COMP1720 as long as you refer to your assignment in your statement of originality. If you don’t do this, it’s plagiarism like any other “unreferenced” code from elsewhere (even though you wrote it yourself).

However, you should be really careful about re-using assignment code in your major project—in fact I’d advise against it. The major project is your opportunity to show how you can put all the skills you’ve learned in this course together to make a significant new piece of interactive art. If you just re-use your assignments, then you’re not doing that—and you’ll be marked accordingly. It’s entirely possible that you’d fail (get less than 20/40) the major project assessment item if it’s based on an assignment submission you’ve already received a mark for (even if your project is quite good overall).

How will the major project be marked?

As I’ve said all along (in the first lecture, on the FAQ page, etc.) this course isn’t like the other courses. There are no unit tests to pass, and your mark will be based on the quality of your artwork, using the following general ANU marking guide (you can find it in Table 2 on this page).


Letter Grade

Numerical Mark (%)


High Distinction



Work of exceptional quality, as demonstrated in the attainment of learning outcomes at or above the relevant qualification level




Work of superior quality, as demonstrated in the attainment of learning outcomes at or above the relevant qualification level




Work of good quality, as demonstrated in the attainment of learning outcomes at or above the relevant qualification level




Work of satisfactory quality, as demonstrated in the attainment of learning outcomes at or above the relevant qualification level




Work in which the attainment of learning outcomes at or above the relevant qualification level has not been demonstrated

In particular, we consider at least the following aspects of your assignments when deciding on a mark:

  • Success in terms of meeting the assignment specification.
  • Depth of artistic process and conceptualisation.
  • Artistic and interactive quality and sophistication.
  • Code and technical quality and sophistication.
  • Clarity of communication and expression.

A couple of other things are worth noting about the way we mark the major project.

First, it’s worth 4x as much as the assignments. So we expect it to be significantly better/deeper than your assignment submissions. Just because you submit something that’s of a similar (or maybe a bit better) level as your assignment work in this course, it doesn’t mean you’ll get the same sort of marks you received for your assignments. As clearly stated in the table above, to get the higher grades you need to submit work of superior (for a distinction) or even exceptional (for a high distinction) quality.

Secondly, as discussed in the lectures, the major project is the deliverable where we expect a higher standard of work from our masters (i.e. COMP6720) students. According to the Australian Qualifications Framework, graduates of a masters-level course (AQF Level 9) must display “expert, specialised cognitive and technical skills in a body of knowledge or practice”. Since the major project is the capstone deliverable for this course, you’re expected to demonstrate the learning outcomes at that level in your submission.

Will I get marks & feedback for my major project like all my other assignment submissions?

Your major project is marked by the course convenor and you will not get feedback in your gitlab repository. We’ll make the major project mark (out of 100) visible on Streams on the day that final grades are released for your ANU courses. You will not see marks before that date.

If you have any questions about your marks after final grades are released feel free to send a direct message to the course convenor on the course forum or by email.

If you’re unhappy with your mark, you can appeal (as per the appeals policy), but in doing so you’re agreeing that you’ll accept the new mark (which may be higher or lower than your original mark).

  1. make sure you clone your own fork (i.e. the one with your uni ID in the url) to your local machine, not the template (because obviously you aren’t able to change the template for everyone—GitLab won’t let you) 

  2. it’s the master branch which counts as your submission—which is the default anyway (if you’ve just followed all the instructions then you’ve been working on the master branch all along) 

  3. i.e. it should be at comp1720-2019-major-project/thumbnail.png 

  4. If this is a problem for you, then contact us and we’ll try and figure something out. 

bars times search arrow-left