This is the page with the answers to your questions, well, as long as they have been frequently asked.

Yep, I know—this FAQ page is pretty long. It’s organised into sub-sections (as you can see from the table of contents) so that’ll hopefully help you find what you need.

Here are a couple of tips:

  • if you’re looking for help/info on a specific aspect of the course, check the table of contents (ToC)

  • if you can’t find it in the ToC, then you can use your browser’s “Find on page” functionality (probably ctrl+F or cmd+F)

  • sometime when you’ve got a spare 15mins or so, make yourself a cup of tea and read through this whole page—it’ll really help you understand the overall vibe of the course, and I think it’ll answer a bunch of questions that you didn’t know you had

If you really can’t find the answer that you’re looking for, then you can always ask on the forum.

Happy FAQing 😊

Getting started

What do I need to do when I start the course?

Here’s a checklist:

  1. make sure you can log in to the COMP1720 forum (let me know asap if you can’t)

  2. read the course policies page carefully

  3. work through the week 1 lab material (anytime!)

  4. sign up for a lab group

What’s expected of me in this course?

As well as the usual stuff (attending labs & lectures), to keep on top of this course you’ll need to:

  1. watch & ask questions on the COMP1720 forum

  2. read the weekly lab material ahead of time, complete pre-lab tasks and attend your scheduled lab session

  3. start the assignments early

  4. ask questions (in lectures, during labs and on the COMP1720 forum) if you don’t understand anything—there are no dumb questions in COMP1720, and if you’re ever made to feel this isn’t the case then let me know

I’ve enrolled in the course late—what should I do?

Have a look at the course start checklist above.

I need a permission code to enrol, can I have one?

Please see the instructions and application form for permission codes on this page. Applications for late enrolment after Monday of Week 2 are not accepted.

This is normal—your account should already be active (we activated it for you automatically when you enrolled in the course).

You should try and log in to the forum with your usual ANU uni ID & password, it should just work. If it doesn’t, get in touch asap.

When is the first assessment item due?

Your first assessment item is is first pre-lab task entry in your week 2 lab. I know that’s kindof early, but it’s only worth 2 marks and it’s redeemable. Still, you can actually start thinking about it now—you don’t even have to wait until the course starts.

Why do you keep calling it COMP1720 when I’m in COMP6720?

Sorry about that—sometimes we just forget to write COMP1720/6720 each time :-D

Is there a textbook for this course?

The “official” textbook for this course is “Make: Getting Started with p5.js” which is available online through the ANU Library (link) so you don’t have to buy anything.

We have several other online books also available through the books and links page.

What are the assessment deadlines, late penalties, etc?

Good question! Have a look at the policies page.

What programming language will I use in this course?

You’ll write JavaScript code to run in the web browser using the p5.js framework. There’s more info on the software setup page.

How can make art that gets good marks?

This course isn’t like other programming courses—just look at how often art is mentioned in the learning outcomes.

To do well in this course, you need to create compelling interactive art. For some people, that’s incredibly liberating, but for others it’s incredibly frustrating.

This means that you must think through all your work from a viewer’s perspective—what do you want to communicate, how do you want them to feel, what questions do you want to leave them thinking about? We’ll explore techniques for doing this throughout the course.

Your artist statement is crucial for showing us what you’re aiming for with your sketch, so it’s an important part of assignment.

I’ve found some inconsistent info on the website!

You should raise the issue on the COMP1720 forum—this is the sort of thing we need to get fixed up right away.

If in doubt, the information on the course website is the authoritative version.

Forum/message board

Where’s the class forum/message board?

In COMP1720 we use a COMP1720 category on Discourse.

I can’t access the forum—what should I do?

The COMP1720 discourse forum is part of the School of Computing teaching infrastructure, so you can ask for help at the CECS Teaching & Learning support office (N117) on the ground floor of the CSIT building.

How can I find the COMP1720 category?

From the discourse homepage, select the “all categories” dropdown box and select “COMP1720/6720”.

COMP1720 category dropdown

This will put you in the COMP1720 category (only posts from within COMP1720 will show). What you see should look something like this (although the topics will be different):

COMP1720 category view Alternatively, you can also click the “Categories” button at the top of the page to go to the category overview. COMP1720 will be listed here, showing you the sub-categories available (admin, code, art & visual diary) and recent activity within the category.

COMP1720 category view

How can I manage my email preferences?

From the discourse homepage, select your portrait in the top right hand corner, then select the little cog icon just below that, this will take you to your account preferences.

settings icon

Then click on the Emails option on the left, this will take you to the email configuration section which will allow you to customize when you receive emails and why. Once finished making changes, click Save Changes at the bottom to apply them.

email prefs

There are a couple more things to note here:

  • if you do want to get an email for every new forum topic, then you want to enable Mailing list mode

  • if you just want to receive a daily “summary” email, then (1) make sure Mailing list mode is not selected, (2) make sure Activity Summary is selected, and set your desired frequency (daily is probably a good choice)

How you set it up is up to you, although obviously you’re responsible for making sure that you don’t miss any messages (since the forum is the main way we’ll communicate with you in this course).

How do I make it so that I don’t get an email for every Visual Diary topic?

Yeah, I hear ya—this isn’t a high traffic forum in general, but the VD entry topics are a bit out-of-control if you get an email about each one.

In addition to having a look at your email preferences, you can mute (silence) all notifications for a specific category or subcategory through Preferences > Notifications > Muted.

If, for example, you want to mute the VD subcategory, then click in the Muted box and type in the name of that category (make sure you only mute the Visual Diary subcategory, not the whole COMP1720/6720 category—that’d be a Bad Idea™).

How do I create a new topic?

From the discourse homepage, select the “New Topic” button in the top right hand corner, this will bring up a new post drawer from the bottom of the window. Fill in the title and body as normal; the important part is to ensure that you select the right category, sub-category and tag for your post. To do this click the dropdown and select the relevant COMP1720 sub-category.

Here’s what it should look like:

composing a new topic

How do I send a private message (PM/DM)?

If you need to send a private message to your tutor and/or the lecturer use this prefilled link, or follow the instructions to send it to the comp1720admins group.

From the discourse homepage, select your portrait in the top right hand corner, then just below that select the ✉ (envelope) icon to go to your messages.

message tab view" style="width:70%;

From here, select the “New Message” button (should be towards the left, under your uid & profile pic if you’ve added one):

new message button" style="width:35%;

After that, a message drawer will open from the bottom of the window. You can add recipients by typing either their name or uid into the “Add a user” box, once the right person pops up you can select them to add them as a recipient.

message recipient selection

After that you can add a topic & body and finally send the message using the Message button at the bottom.

Can I send the lecturer a private message asking for help with my code?

No, the purpose of private messages is to discuss things which aren’t relevant to the course content.

If you have a question like “how do I do this thing in p5?” or “this code isn’t working, how can I fix it?” then that’s great—it’s really good to ask questions to build your understanding. However, there are (almost definitely) other students who have the same question. So if you have a question like this, you should post it as a (public) topic on the forum (if you really want, you can do this anonymously).

Fundamentally, this is a fairness issue—it’s not fair if some students get assistance (through private one-on-one messages about their work) and others don’t. Of course, if you really don’t want to post on the forum for some reason remember that you’ve got an opportunity to ask questions of your tutors in your scheduled lab group.

If you do send a private message asking for help which could benefit all students, you’ll be (gently) asked to re-ask the question as a new forum topic.

How do I ask a question anonymously?

From the discourse homepage, select your portrait in the top right hand corner, then select the little person just below.

anon icon

This will put you in anonymous mode, any posts you make from here will be anonymous1. From here you can follow the create a topic guide to ask a question anonymously to the class.

To get back to your normal account, simply log out and log back in.

How do I add an avatar/customise my profile etc.?

From the discourse homepage, select your portrait in the top right hand corner, then select the little cog icon just below that, this will take you to your account preferences. From here you can change your Name, Profile Picture and Title (it also has the option of changing Username, however I wouldn’t touch this just to be safe).

To change your profile picture, click the pencil icon underneath the Profile Picture heading, this will open a dialog box which you can choose to Upload a Custom Picture, after you’ve done that click Save Changes to apply the change.

profile pic preferences


Where are the lectures held?

The venues are listed on the lectures page.

Will the lecture slides be updated over time?

The lecture slides from last year are available from the start of the course. Each lecture might be revised before the lecture is delivered, and I might update them to correct any errors after the lecture.

Will the lectures be recorded?

Lectures for COMP1720 will be streamed, recorded and available through Microsoft Teams/Stream and Echo 360 (uploaded later).

Charles also streams to Youtube and Twitch simultaneously, so you can choose your favourite place to watch the lectures.

If you want to ask questions and jump into discussions during the lecture, make sure you attend on the day and join in the discussion through Microsoft Teams.

If you need captions/subtitles they will be available through Microsoft Teams and Echo 360 after the lecture is streamed. I recommend watching the lectures in Microsoft Stream as the captions are better than Echo 360 and you can also access speed control.

Where are the lecture recordings?

As stated above, lectures are uploaded to Microsoft Teams/Stream and Echo360.

Last years lectures are also available on the main lectures page.

Will I (as a student) be recorded as part of the lectures?

No. We may refer to a question you ask in Microsoft Teams using your name, or show the comments from Teams during the lectures. If this is an issue, then let me know.

Why do you stream lectures?

A few reasons:

  1. I prefer to perform for a live audience!
  2. So that I can respond to questions in real-time.
  3. So that you can structure your week around watching the lectures and keep up with the course content (if that helps you!).

I have a lecture clash with another course—what should I do?

That’s a bummer, but because we record lectures, you can easily catch up on the videos later.


Can I go to in-person labs?

If you have signed up for an in-person lab on streams, you will be able to attend the physical computer labs in CSIT Building 108.

If you have signed up for an online lab on streams, you will attend online labs only.

If the ANU COVIDSAFE alert level changes during the semester we may have to change to all remote labs. If this happens we will let you know.

Is there a lab in week 1?

Sort of; there’s a “self-led” lab in week 1. We are running drop-in sessions to help with this lab if you are stuck.

Regular labs start in week 2 (make sure you sign up).

How do I sign up for labs?

Lab sign-ups happen through streams—you just log in with your usual uni ID and password and select the lab you want to attend.

I can only attend (insert specific lab time here)—can you move me into that lab?

If you message us on the forum before lab signup opens and explain your situation then we’ll do our best to accommodate you. Send us three possible lab times (in preference order).

None of the lab times suit me, can you schedule a new lab time?

The short answer is no—if there are spaces in the current lab schedule for you to enrol, we expect you to make these work.

Some other constraints on us are:

  • timetabling for most labs (and all in-person labs) is done by the ANU central timetabling.

  • availability of tutors.

In some instances we do add one or two labs at the very start of the semester, this is usually when there are many more students in a course than were predicted and we don’t have enough lab times.

Why isn’t COMP1720/6720 showing up when I log in to streams?

If this course isn’t listed for you when you log in to streams, that means you’re not enrolled in the course or just enrolled today and haven’t been processed yet. Try again tomorrow and if it still doesn’t work, talk to student services.

Can I attend a different lab session?

Nope, not unless you have a good reason and have pre-arranged this with your tutor/lecturer (ask on Discourse).

Are the labs assessable?

The in-lab tasks are assessed each week in your lab and your pre-lab task is assessed by your tutor offline. The details are at this link.


Can I use insert advanced p5 feature or external js library here?

The assignments & major project are a chance for you to use the stuff we’ve covered in this course. There are more advanced features of javascript & p5, and you’re not forbidden to use them, but you should be aware: if you have trouble with things that we don’t cover in the course, then it’s up to you to figure them out.

If there’s any doubt about whether your sketch works properly, refer to the marking software environment policy. Make sure it works, not just on your own machine but at the test URL.

When are the assignments due?

There’s a table of all the course assessments and their due dates on the policies page.

Are late submissions allowed?

No. Late submissions are not accepted in this course. If you hand it in even a couple of minutes late, you’ll get zero for the assignment.

I advise everybody to start their assignment early and keep their work-in-progress up to date on GitLab. This means that you will always have something submitted in case you run into trouble at the last minute.

Does this include the Statement of Originality?

Yes, the “no late submissions” policy applies to every aspect of your submission—the code, the assets, the artist statement, the statement of originality. If it’s part of your submission, you must push it before the deadline.

Here’s a tip: whenever you add some code/assets to you project that isn’t yours, write it (and commit it) to your SoO file straight away. This will save you having to do it all in a rush at the end, and might save you from a painful academic misconduct process.

But it’s 5 minutes before the deadline and my git push isn’t working—can I email you the files?

No. Only submissions through GitLab will be accepted. Seriously, don’t leave this stuff to the last minute, make sure you follow the assignment checklists for each assignment so that you are not caught out at the last minute.

I pushed things, but not until after the deadline—can you please accept my submission?

See above.

p5.js/VSCode/Git/etc. stopped working on my laptop for no reason just before the deadline—can I have an extension?

No. See the own machine policy.

The GitLab server seemed a bit slow just before the deadline—will there be an extension?

No. If you look at the CI pipeline indicator (the “green tick” or “red cross”) it might look like the server was slow (especially when it’s under load at an assignment deadline).

This does not affect whether your submission is before the deadline or not. The only thing that matters is whether your git push completed successfully before the deadline, then it doesn’t matter if the CI jobs finished afterwards.

My actual assignment code was in another commit (i.e., not in HEAD), can you mark that instead?

No, sorry. At uni you’re not allowed to submit multiple assignments and then pick the mark you like best. The last commit on the GitLab server is your submission.

I’ve just realised there’s a tiny bug/typo in the assignment I submitted—can you just apply this small fix?

The course own machine policy is pretty clear, as is the environment in which it will be marked (that your submission will be judged based on how it works when viewed on Firefox at the test URL).

If we’re marking your assignment and it’s buggy or otherwise doesn’t seem to work right we will do some basic debugging to try and get it to work. If there’s just a very small fix required to get something to work then your mark will be reduced depending on how far the project falls short of the requirements. If we can’t get it to work then we must mark what you submitted.

How do you mark assignments?

We don’t have marking guides for assignments. Marks in COMP1720/6720 are not determined by passing unit tests but by the quality of your interactive artworks and your attainment of the learning outcomes.

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.

Note that the above are aligned with the learning outcomes of the course.

All assignments are graded against the ANU marking standard which outlines standards expected for each grade level:


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

When will assignment marks & feedback be released?

We aim to release marks & feedback for all assignments within two weeks of the submission deadline.

Where can I find my marks & feedback for my assignment?

Assignment marks and feedback will be released through GitLab: a new branch called main-feedback will be pushed to your GitLab repo. There will be a feedback.yml file in the top-level directory—this file contains your feedback.

You will also receive a message on Discourse with your feedback.

You can either pull the latest changes to your Git repo yourself, or you can view it through the GitLab web interface (note that the feedback branch is selected in the drop-down in the top-left of the picture).

How can I get more feedback and figure out how to do better next time?

The feedback is the most important part—not the mark (although I know it doesn’t feel like it sometimes).

The main purpose of the feedback is to help you improve for next time. If you get lots of feedback that doesn’t necessarily mean that there were lots of things wrong with your assignment—it’s just that it’s more useful to give suggestions about how to do things better than to write pages and pages of non-specific “well done” comments.

Your tutor has worked hard to give you actionable feedback, which might include:

  • things you did well
  • things which you could have done better
  • ideas to consider for next time

If you want more detailed feedback, you can ask your tutor a follow-up question during lab time, or ask on the course forum.

I don’t understand/am unhappy with my assignment mark, what should I do?

First, remember that marks aren’t everything; (I hope) you’ll remember the things you learned in this course long after you’ve forgotten your marks.

You should talk to your tutor (during labs or on the course forum) about your assignment and get more feedback on how to improve for next time. We want you to do better in the future, so we work hard to give good feedback when you ask.

Remember that the tutors and I mark a lot of assignments, and we work hard to make sure things are fair for all students. The information on this page has been clear all along that this isn’t a “tick the box, get 100%” assignment.

Can I get my assignment re-marked?

See the appeals policy.

Why is the comp1720-2021-marker user listed as a Developer on my repo?

This user is added automatically when you fork the template repo. It’s there so that we can mark your submission and upload your feedback.

Don’t remove this user (even after the assignment deadline is passed).

What visibility settings should my assignment repo have?

Your fork of the assignment repo must have visibility set to Private—this should be the default when you fork the template repo to your own account. You can check the current visibility status in Settings > General Settings > Visibility, project features, permissions.


Can I use my own laptop/desktop machine?

Yes, just make sure you’ve read the course’s “own machine” policy.

Do I need an amazing/expensive computer for this course?

No. The software tools in this course only require a basic laptop running Windows/MacOS/Linux to work correctly (the ANU even has a “recommended system” page.

I need help with my computer!!

You might be able to find help in labs or on the COMP1720 forum, although when you ask on the COMP1720 forum it’s really important to provide as much information as possible about what’s going wrong, what you’ve tried already and what you think might be the cause.

In which software environment will my assignments be marked?

See the course’s “own machine” policy for details.

Can I use a different web browser/toolchain/text editor?

You can, although I’d advise against it. Check out the “own machine” policy.

GitLab Continuous Integration (CI)

What’s continuous integration?

Continuous Integration (CI) is just a fancy name for a bunch of commands which are executed on the GitLab server every time you successfully push a new commit to your repository. This can be used to do all sorts of things, for example to check that you haven’t forgotten to commit a file (e.g. thumbnail.png), or to copy all your files (html, js and the whole assets folder) somewhere so you can visit your sketch at the test URL. These commands are called “CI jobs”.

The reason these CI jobs runs is because there’s a .gitlab-ci.yml file in the top-level directory of your project. This name is special (so don’t change it, or it won’t work) and the stuff in this file (specified in YAML format) tells the GitLab server what commands to run after you push your code to the server.

Why am I getting “Pipeline #xxxx has failed…” emails from GitLab?

In this course we’ve enabled GitLab’s Continuous Integration (CI) feature. This means that every time you push to your fork of the GitLab template repo, the GitLab server will check things like:

  • your statement of originality YAML file is correctly formatted

  • you’ve committed and pushed e.g. a nametag.png (for ass1) or a thumbnail.png (for the major project) according to the assignment spec

This isn’t a guarantee of the “correctness” of your submission (it doesn’t actually run your code), it’s a just a checklist of the very basic things your code must do (like compile successfully).

So if all the CI tests pass, do I get 100% for the assignment?

No. It just checks the “bare minimum”, that your assignment is valid and the most important components are in place.

Should I be worried if my submission fails the CI checks?

Not initially. What you need to do is have a look at what has failed and make sure that you’re working towards fixing them up. As the submission deadline approaches and you finish off your assignment you should see fewer and fewer failures.

If your final push before the deadline still doesn’t pass the checks, then that is a problem. It means that there was something wrong with your submission, e.g., you didn’t commit your artist statement to the repo. There’s nothing you can do about it at that stage, so make sure you heed the warnings early and give yourself plenty of time to fix them.

How long does my CI job take to run?

Most CI jobs take less than one minute to run. However, there are a lot of students in the course, and we’ve only got a limited number of servers to run the CI jobs on, so it’s quite likely that your job won’t start straight away if the servers are already busy.

Your CI job goes into a queue and will run as soon as possible. So if a lot of people are pushing (e.g. if it’s close to the deadline) then you might have to be a bit patient.

If the CI job takes ages to run, does that mean my code hasn’t been accepted before the deadline?

No. The CI checks are just there to provide helpful feedback to you—they have no impact on whether your code is submitted (or the time of submission). The submission time is based only on the timestamp when GitLab receives your push.

Can I see whether my submission passes the CI checks through the GitLab web interface?

Yes. Go to the web interface for your repo, and click on “CI / CD” in the sidebar. You’ll see a view which gives you info about the last CI run (which should have happened last time you pushed).

I’m sick of getting these CI emails, can I disable them?

Yes—if you want to disable this email notification, go to your account setting in GitLab (click on your profile picture, then select Notifications). Change the notification level of your assignment repo to “Custom”, then in the pop-up window de-select “Failed pipeline”.

Can I modify the .gitlab-ci.yml file?

Yes, if you like. Although it won’t have any effect on your grade and may cause issues with our marking procedure, so I wouldn’t unless you have discussed this with the course convenor.

How do I check if my submission has been pushed to the GitLab server properly?

You can check through the GitLab website. Look at the GitLab page for your fork of the assignment repo: the files shown there are the ones we’ll mark.

If the files you want us to mark aren’t there, that might be because:

  1. you haven’t added that particular file to git yet
  2. you might have committed the files to git locally, but not pushed them to gitlab

Whatever the reason, only the files on the GitLab server count as your submission. Any other files will not be marked. No exceptions.

If you need a refresher, then lab 1 is probably a good place to look.

What’s the COMP1720 test URL?

Every time you push your code to GitLab for one of the labs or assessments the latest version will also be visible (on campus only) at the following URL (with uXXXXXXX replaced by your own uni ID and major-project replaced by e.g. assignment-3 or lab-7 depending on which project you’re actually trying to look at):

This is helpful for a few reasons:

  1. you can check that your commits have been pushed to GitLab successfully

  2. you can see that it works correctly (and that you’re not having any “only works on my machine” issues)

  3. if you like, you can send the link around to share it with others

This is exactly what you did all the way back in lab 1 when you put a circle on the internet.

Note: this isn’t on the public internet, so you can’t just tweet it out to the world and have them see it. However, as long as someone has a login to the ANU campus network (i.e. they’re a student or staff of the university) then they can see it off-campus using the ANU reverse proxy.

What’s the ANU Reverse Proxy?

The ANU reverse proxy sounds pretty scary, but it’s just a way of accessing ANU only resources when you’re off campus or on mobile internet. You’ll probably use this tool a lot during your degree to read online journal articles and papers in the ANU’s collection. All the sketches you make in the labs and assignments will be automatically put online, but only within the university network. This means if you want to look at your labs or assignments from home you’ll need to first login via the reverse proxy with the following steps;

  1. go to ANU’s reverse proxy login
  2. enter your anu id and password then click log in
  3. paste the URL you want to visit into the text box and click go


I can’t access GitLab—what should I do?

The COMP1720 GitLab server is part of the official CECS teaching infrastructure, so you can ask for help at the CECS Teaching & Learning support office (N117) on the ground floor of the CSIT building.

That’s the place you need to go for help, because we don’t administer the GitLab server ourselves (and can’t easily give you access, fix issues etc).

What is git?

git is a version control program, which means that its job is to help you take “snapshots” of your files as you work on them. If you’ve ever had to manually make “Save As…” copies of something (e.g. a Word document) with -version-1, -version-2… suffixes, you’ve used “version control” (a ghetto version of it, anyway). git is just a program to do this sort of thing automatically—to easily make (and keep track of) a bunch of snapshots of the files in a directory over time. That way you can fearlessly try things out when you’re programming, knowing that if it doesn’t work out you can just go back to a previous snapshot.

The one final piece of the git puzzle is that git allows you to keep these snapshots in sync across multiple computers. These can be any computers—your laptop might be one, but it you might also use another computer in the cloud (which is a good idea, since it doubles as a back-up). The idea is that you can change your files (i.e. create new snapshots) on whatever computer you happen to have handy at the time, and git helps you keep everything in sync.

Do you have any videos demonstrating how to use git?

Absolutely, we’ve made a series of screencasts explaining exactly how to use git and gitlab for this course.

Am I expected to know how to use git before I start this course?

No, we’ll walk you through it—and there will be plenty of help in working on and submitting your assignments as long as you reach out ahead of time.

If you’re not a CS student and you’re freaking out about this, then you can even get in touch and discuss your concerns. I’m happy to run extra labs give extra support if you think you’re gonna need it. Again, there’s heaps of help available, just let me know so that we can help you out.

Can I submit my assignments some other way, e.g. by emailing them to you?

No—no special cases, no exceptions. Sorry, it’s the only way to run a course of this size.

How do I open a terminal window?

On a Mac, the terminal program is called It’s in your Applications > Utilities folder, or you can just search for “terminal” in the spotlight search bar (which you can bring up by hitting cmd+space or clicking on the little magnifying glass in the top-right of the screen).

On Linux the program is also called Terminal, an you can find it by going to the menu in the top left hand corner of the screen—it’s in System Tools > Terminal.

On Windows the easiest way is to open the explorer, right-click the folder you want to work in and select the Git Bash Here menu item.

The GitLab help page has some more info if you get stuck (it uses the term shell, which is just another name for terminal).

What’s the difference between git & GitLab?

git is a program (like Microsoft Word) for keeping track of files (see what is git? above). The GitLab server is a website (running on a computer at the ANU) which uses git to keep track of your snapshots somewhere other than your own computer. The GitLab server never adds any new files to your snapshots, it just keeps track of the changes (commits) you’ve made once you push them to the server.

So git is the program, and GitLab is the website, although you can interact with the website both directly (e.g. with a git push) or indirectly (through the GitLab user interface in the web browser).

Why do we have to do all this GitLab stuff, anyway?

Using version control software (and git in particular) isn’t just a skill which is useful in this course, it’ll also help you in other courses and also in the real world (e.g. places like GitHub). You may never use it again (hey, I don’t know what you’re planning to do with your life after uni) but I suspect that most of you will.

Everything’s stuffed! Why is git so painful?

Take a deep breath, it’ll be ok. If everything really is stuffed, then the question to ask yourself is are there any changes on my local machine (i.e. things I’ve done since I last pushed to the GitLab server) that I really can’t do without? If the answer is no, then perhaps the simplest solution is to just delete the whole folder and re-clone from the GitLab server.

As always, if you get stuck, ask a question on the COMP1720 forum.

I cloned the “template” repository by mistake instead of my own fork—what do I do?

It’s ok. You just need to change the remote (the repository on the GitLab server which your local copy of the files “points” to when it tries to push them back up to the server).

Do I have to type in my password all the time?

No, if you set up SSH keys then you can do all the git stuff without having to put in your password. This step isn’t necessary, but it is super-handy.

The basic idea is this: when you have trusted friends, you leave a key out for them so that they can get in to your house when you’re not home. git allows you to do sortof the same thing.

This is so that the GitLab server knows that it’s you (you don’t want someone else submitting something on your behalf). Added bonus: no more passwords.

I’ve borked my git repo somehow, how do I fix it?

There are lots of things which could have gone wrong, and without knowing what the exact error message is it’s hard to say how to fix it.

If you ask a question on the COMP1720 forum then make sure you clearly state what the situation is, what behaviour you expect, and what behaviour you see (including any error messages).

Where can I learn more about git?

Here’s a list (in no particular order) of git help resources on the web—if you find another page which is helpful then let me know and I can add it here:

  • main git docs page: always a good place to find things (there are even some videos)

  • a general list of tips for dealing with git problems: useful if you’ve got intro trouble and you want a one-liner fix to get you out (although copy-pasting git commands you don’t understand will sometimes fix things, and sometimes make it worse)

  • Using Version Control in VS Code: not git-specific, but it gives specific advice on using version control in VSCode (there’s a video version if you’re into that sort of thing)

  • using git reset: sometimes useful for “undoing” git stuff you don’t actually want

  • Five Key Git Concepts Explained the Hard Way: this has some detailed explanations, so it won’t make sense if you’ve never seen git before, but understanding this stuff in depth will really help you become a git master


What’s markdown?

From the commonmark website:

Markdown is a simple way to format text that looks great on any device. It doesn’t do anything fancy like change the font size, color, or type — just the essentials, using keyboard symbols you already know.

How do I write markdown?

Anytime you open a file in VSCode with a .md or .markdown file extension it’ll automatically detect that it’s a markdown file, and give you special highlighting of bold/italics/headings etc. You just write it and save it (and commit it to Git) just like any other file.

Is there a nice, gentle markdown tutorial somewhere?

There is indeed. Thanks, internet :)

Academic integrity

As well as this Academic Integrity section, make sure you read the FAQ entries in the Statement of Originality section below.

Can I use code I didn’t write myself in my assignment submission?

Yes, unless the assignment page forbids it. But you must reference it in your statement of originality—if you don’t, that’s academic misconduct (and neither of us want that).

For more details, see the instructions on filling out your statement of originality.

Will my submission be run though plagiarism detection software?


What happens if I’m suspected of academic misconduct?

If you’re suspected of academic misconduct, for example if there’s some code in your assignment which is identical to some code from somewhere else (e.g. another student’s submission or code from the internet) that you have not referenced in your statement of originality, then there’s a formal process which we have to follow:

  1. If you have made a very minor mistake, you will receive an email informing you of the finding and a penalty (up to 10% of the total marks) will be applied to your assignment.

  2. If it is a more serious issue, you will receive an email informing you of the situation and you’ll get an opportunity to meet with the course convenor on Zoom to explain why your code/assets are the same/similar to code/assets found on the internet (or whatever your particular situation is)

  3. the convenor will make a decision and inform you via email of the decision and any follow-up steps required

I’ve received a “Potential Academic Misconduct” email—what do I do?

You should read the full email carefully—it’s got all the details, including the proposed time for the meeting.

Receiving this email doesn’t mean that you’ve been found guilty of academic misconduct—maybe there’s an innocent explanation. You will get the chance to meet with the convenor to explain your situation. If you can’t attend the meeting, you’ll get a chance to explain the situation via email.

However, if you want to argue that there’s been a mistake (and that you’re not guilty of poor academic practice or academic misconduct) then you need to make a strong case. If your code is exactly the same as another student’s code (or some code from the internet) then “I’ve never seen that code before” isn’t a likely explanation. If your code is mostly the same but a few bits have been re-arranged/changed (e.g. variable names) then that’s even more suspicious, and you’ll need to have a good explanation for why this has happened.

I did plagiarise some code/words/assets, what can I do?

If you did take code, words or assets from somewhere else without attribution then the best thing you can do is admit it, apologise, take the punishment and make sure you never do it again. Apologising isn’t a magic “get out of jail card”, but it does make it more likely that you’ll received the lesser charge of poor academic practice rather than the more serious academic misconduct.

Why is the email so formal-sounding?

As described above, there’s a formal template for these emails. We’re required by the ANU to send an email which looks like that.

What should I say in the “Potential Academic Conduct” meeting?

If you have used someone else’s code or other assets (without acknowledging it in your SoO) then the best thing to do is to come clean and admit it.

If, however, there is nothing in your submission which isn’t yours (or is explicitly acknowledged in your SoO) then your job in the meeting is to answer the question: why is your code the same or similar to someone else’s code?.

Here are a few answers which are not satisfactory:

  1. “I don’t know why it’s the same”
  2. “it’s a coincidence”
  3. “I worked with my classmate/found some code on the internet/etc. but I forgot to reference it”
  4. “I’m sure I referenced it, I don’t know why it’s not listed in my statement of originality”
  5. “my classmate must have copied off me without my knowledge”
  6. “I didn’t know it wasn’t allowed”
  7. “I understand how the code works, so it’s not plagiarism”
  8. “I’m an honest person, I’d never cheat!”
  9. “it’s only a few lines of code, it’s no big deal”

If you don’t have a good answer to the question then you’re unlikely to convince anyone that you’re not guilty of academic misconduct.

I was disorganised and ran out of time to fill out my statement of originality; can I email it to you now?

No, for three reasons:

  1. the course policy is really clear that the SoO is part of your submission, and you can’t submit it after the deadline any more than you can submit a late assignment

  2. there’s no way for us to know if you did genuinely forget or if you tried to get away with it and are just claiming that you forgot because you were caught

  3. it’s not fair to all the other students—the rules were really clear, and they took the time (which they could have spent on other assignments) to follow the rules. As with any other assessment item at university it’s up to you to manage your time and make sure that these things get done properly

However, if this is what happened, it’s still good to tell the truth, because that will work in your favour when it comes to determine whether it’s a case of poor academic practice (rather than the more serious academic misconduct).

I’m an honest person, this whole thing is really unfair—why do I have to go through it?

A charge of potential academic misconduct is never made lightly. If you get one of these emails it means that there is some specific evidence which suggests that you’ve done something wrong.

The purpose of this process is not to discuss your character in general, it’s only about this specific incident. So you need to focus on answering the question above: why is your code the same or similar to someone else’s code?.

Don’t come in saying things like “I’m insulted that you’d even accuse me of this…”. The interview is to discuss specific evidence, not your character as a person. We really hope there’s an innocent explanation for what’s happened, but the case will be decided based on the evidence (including any new evidence you can provide in the meeting).

What if I can’t attend the proposed meeting time?

If you can’t attend the meeting, then you can either:

  1. suggest an alternate time (must be within a couple of days of the suggested time—you can’t postpone the meeting for a month or more)

  2. submit your response via email

These other options are only possible if they are suitable for the course convenor.

Do I have to attend the meeting?

No, you don’t have to even respond to the email. If you don’t, then the convenor will make a decision based on the evidence they have available.

What are the possible outcomes from a “Potential Academic Misconduct” email & meeting?

The possible findings from the convenor are:

  • no breach has occurred
  • very minor breach (VMB) has occurred
  • poor academic practice (PAP) has occurred
  • it appears to be more serious than poor academic practice, and could potentially be academic misconduct (in this case the convenor doesn’t make the decision, it is referred to the registrar who will make the final decision)

What’s the difference between poor academic practice and academic misconduct?

The main difference between poor academic practice (PAP) and academic misconduct (AM) is that AM is a more serious breach of the academic integrity rules. Usually, a PAP finding results in an academic penalty for the assessment item (depending on the severity of the breach) while an AM finding would usually result in a grade of 0 for the entire course. However, all of the penalties are determined on a case-by-case basis.

The ANU website has more information on what counts as PAP vs AM.

One final point to make is that you don’t automatically get a PAP (rather than AM) finding if it’s your first offence. For example (from Grounds for potential academic misconduct) if

the student’s explanation is inconsistent with other compelling evidence (e.g. the student denies copying even though the assessment item contains material that is clearly copied from another identified source)

then this can be a reason for a finding of Academic Misconduct, even for a first offence.

What is the penalty if I’m found guilty of Poor Academic Practice (PAP)?

It depends on a bunch of things; whether you admit it and apologise, whether it looks like you tried to hide the fact that you were using someone else’s code (e.g. by changing variable names), whether it’s just one line or a whole function/class, etc. While the penalty for PAP is usually to get zero for that assessment item, there’s no mathematical formula—the penalty will be determined by the convenor on a case-by-base basis.

But I just forgot to reference that one thing, why am I still guilty of academic misconduct?

You are obliged to complete individual assessments by yourself. You are also obliged to be absolutely clear if you have someone else’s code/words/images/sounds in your assesssments (i.e., not misrepresent others’ work as your own).

Your responsibility to do these things is reiterated in your Statement of Originality:

I declare that everything I have submitted in this assignment is entirely my own work, with the following exceptions:

This is the reason why there are so many reminders about the importance of acknowledging other people’s work in your SoO (and also so many reminders about checking and double-checking that everything has been submitted to GitLab). It sucks to receive the penalty for just forgetting to do something, but I really do feel like this course goes above and beyond to warn you of your obligations in referencing other people’s work.

Can I appeal the decision?

You can appeal any academic misconduct finding (although again, you’ll need to make a strong case why you feel there’s been a miscarriage of justice). Information on how to appeal will be in the email you receive notifying you of the finding.

Do you enjoy dealing with academic misconduct cases?

No, it is absolutely terrible to deal with academic misconduct cases.

So make sure you correctly reference everything which isn’t yours in your statement of originality and you won’t have to worry about any of this stuff.

Statement of originality (SoO)

How do I fill out my statement-of-originality.yml?

As discussed in the course academic integrity policy, for every assignment you must submit a statement of originality (SoO) in the form of a YAML file called statement-of-originality.yml in your submission repo. There will be a “template” file in the assignment repo, you just need to add your own information (and commit and push it up). Make sure you read the file so that you know what you’re committing to!

What needs to go in my SoO?

The short answer is: everything that you didn’t create yourself. Remember that the beginning of the SoO states:

I declare that everything I have submitted in this assignment is entirely my own work, with the following exceptions:

Here are a few examples of places you might have taken code/images/music/words/videos/ideas from:

This isn’t an exhaustive list, just because the place you took stuff from isn’t listed above doesn’t mean that you don’t have to include it—if you didn’t create it, then you must acknowledge it in your SoO. Anything which isn’t explicitly listed in your SoO is assumed to be your own work, and if it turns out that’s not true, the usual academic integrity rules apply.

If you’re unsure, check with your tutor or ask on the forum.

What is the licence for this code/asset I found on the internet?

A licence is a piece of text that provides rules under which others can use a piece of computer code or another piece of copyright protected material (e.g., an image, font, 3D model, musical work, book, play, etc.).

Many websites (such as the p5 reference) clearly state the licence under which you are allowed to use them. In the open source software community many of us use permissive licences with catchy names like “MIT License” or “Creative Commons Attribution” (read more about license choices here).

If it’s one of these famous licences, you can just provide the name or abbreviation: e.g, “CC BY 4.0”

Sometimes the license is written out text provided on the website. In this case you should provide a link to the licence text: e.g.,

Sometimes there’s no licence provided. In this case all of the author’s rights are protected. There is not necessarily any licence for you to use the work. The author has “All Rights Reserved”.

If an asset such as an image, a font, a musical work or a piece of code is not licensed to you, you can’t really use it in your assignment. (The author may have provided it for you to view/listen to, but not to use as part of your own derivative works). In this case, it would be better to use this asset/code as inspiration and create your own version, or to focus on assets available under Creative Commons licences.

If you are inspired by a fully protected asset or code, you can still link to it in your SoO, and write All Rights Reserved for the license.

Will I lose marks if I incorporate stuff from others in my own work?

There’s no fixed “mark penalty” for using external sources.

If you’ve just copy-pasted someone else’s stuff (even with appropriate referencing) and haven’t done any work yourself, then we’ll know that you didn’t do any work for your submissions and you’ll be marked accordingly. If you just take the template code then copy-paste in something from the web and then submit it, you’ll fail the assignment.

However, if you took something, incorporated it as a part of your larger work in a cool way (and put it in your SoO) then that’s fine—well done.

As with all of these sorts of things, if you’ve got any questions about whether you’re doing the right thing, ask your tutor before the submission deadline.

Do I have to be specific about which files I’ve copied/taken inspiration from?

Yes. It’s not enough to say “I found some inspiration from OpenProcessing” or something equally vague—if you don’t indicate specifically the things you’ve used (with an author and title if it’s a book, a URL if it’s an online code resource or video, or a full name if it’s a classmate/other person).

If that specific information for a source isn’t in your statement of originality, then we’ll assume you haven’t used that source in any way.

See below for an example of how to fill out your statement of originality.

What if base my submission on someone else’s code, but I’ve made changes?

You must credit the original author in your SoO, even if you’ve made non-trivial changes. Otherwise, it’s still plagiarism—even though you’ve done some of your own work as well.

Do I have to reference images/music/words/videos from the internet as well as code?

Yes, of course! That’s why there’s an assets section in the Statement of Originality (see example below). The whole point of the SoO is that you’re claiming that everything in your assignment is your own original work except for the things you explicitly list in the SoO.

What happens if I don’t change the SoO file from the version in the template?

We’ll assume that everything is your own work. If you have included code/assets/text that you did not create in your assignment, you may end up involved in a academic integrity case.

Can I see an example of a completed SoO?


declaration: >-
  I declare that everything I have submitted in this assignment is entirely my
  own work, with the following exceptions:

# add as many "name+comment" entries as necessary
# (or remove it altogether if you haven't collaborated with anyone)
  - name: Alice McGuffin
	comment: >-
	  Alice gave me some ideas for creating the animated ripple effect
	  in the background
  - name: Jerry Wang
	comment: >-
	  Jerry painted the background artwork for my sketch

# add as many "url+licence+comment" entries as necessary
# (or remove it altogether if you haven't used any external code)
  - comment: the code in my "drawRandomImage" function is based on some code from StackOverflow
	url: ""
	licence: CC BY-SA 2.5 # this is the standard StackOverflow licence
  - comment: my changeSize() function is taken from an example on the p5 reference page for mouseWheel
	url: ""
	licence: ""

# add as many "url+licence+comment" entries as necessary
# (or remove it altogether if you haven't used any external assets)
  - comment: photo of potatoes by Scott Bauer
	url: ""
	licence: Public Domain
  - comment: boat photo by Aaron Wu on Unsplash
	url: ""
	licence: ""
  - comment: some content in Artist Statement inspired by Turner Wikipedia page
	url: ""
	licence: CC-SA
  - comment: inspired by "ANU Laptop Ensemble" performance at Open Day
    url: NA
    licence: NA

# sign *your* name and uid here
name: Fleur DeLis
uid: u1234567

The final marks & grades are out, and…

…I got a DA grade

A DA grade means Deferred Assessment, which probably means that you were sick (with a medical certificate or other legit reason) for the final assessments.

…I got a PX grade

As stated on the policies page:

If you receive a PX grade you are eligible for supplementary assessment. The assessment item may be an assignment, a written exam, an in-lab test, or an oral exam. If you pass this supplementary assessment item you will receive a PS grade and a mark of 50. If you fail, you will receive a grade of N and a mark of 44.

You will receive an email from the convenor shortly with more instructions—including what your specific supplementary assessment task is, what the deadlines & process is, etc.

…I got an NCN grade

This means that you enrolled in the course, but didn’t participate in the course at all.

More information on the policies page.

…I’ve failed—is my weekend/semester/degree/life ruined?

Failing a course is not the end of the world.

However, you should also talk to student services (either via email or by visiting the office on Level 2 of the CSIT building) about structuring your degree, and what courses you should take next.

…I’m not happy with my mark

We work really hard to make sure the course grades are a fair reflection of your performance in the course and your attainment of the learning outcomes.

First, remember that grades aren’t everything, and (I hope) you’ll remember the things you learned in this course long after you’ve forgotten your marks.

There is an official ANU process for assessment appeals, see that page for more information. The tl;dr is that first you get in touch with the convenor as per the course’s appeals policy, and if you’re not happy with how that goes you can escalate it to a formal appeal.

  1. The posts will be anonymous to all other students. However, the convenor can still figure out who you are, so the course code of conduct and all the usual ANU rules still apply. 

bars search times arrow-up