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, and attend your scheduled lab session (which is where you’ll present your visual diary)

  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?

Late enrolments into are never ideal, but we allow you to enrol up to the end of week 1. The first thing to do is the course start checklist, with the caveat that there aren’t many lab slots left and you’ll have to make do with what’s still available.

Apart from that, catching up is entirely your responsibility—including watching any lectures you missed, doing any lab content, etc. You won’t get extensions for any of the deliverables, and you’ll get 0 for any assessment that you’ve already missed. In addition, you’ll be stuck with whichever lab times are available.

Course enrolments have closed—can I have a permission code to enrol anyway?

As stated above, late enrolments aren’t ideal. Still, I’m willing to give permission codes until the end of week 2.

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 your first visual diary 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—it’s nothing personal, it’s just that it’s too much hassle to write the full COMP1720/6720 each time. If there’s any information which is specific to one course group or the other, I’ll make it really clear.

Is there a textbook for this course?

There’s no physical textbook for this course, everything you need will be provided either in the lectures & lab content, or through links to other (freely-accessible) content on the web. There’s a list of good online resources on the Books, links and other good things.

What are the assessment deadlines, late penalties, etc?

Good question! It’s important to know this stuff in any uni course, so have a look at the policies.

What programming language will I use in this course?

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

Forum/message board

Where’s the class forum/message board?

In COMP1720 we use a COMP1720 category on Discourse (an open-source platform for “civilised discussion”). This allows us to do a bunch of cool code-art-y things which just aren’t possible in Wattle/Piazza/email.

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

The COMP1720 discourse forum 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 forum ourselves (and can’t easily give you access, fix issues etc).

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:

  • Visual Diary - for your visual diary posts (make sure they end up here)
  • Admin - for course admin stuff
  • Code - for anything code related (help, how-tos, software issues, etc.)
  • Art - as the code section but for art

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

Lectures

Where are the lectures held?

The venues are listed on the lectures page.

Will the lecture slides be updated over time?

The lecture slides below are part of this website, so (like any other website) they can be updated. There won’t be major changes after the lectures have been delivered, but I’ll correct any errors, add any new examples/analogies which come up in class.

Are the lecture slides the textbook for the course?

It is expected that you attend every lecture and make your own notes. The lecture slides aren’t a textbook—they’re visual aids to help explain the concepts in the lectures. This is a good thing—there’s nothing worse than a lecturer who just drones on reading the textbook from the slides. We’re gonna have more fun than that :)

However, this means that taking notes (in addition to the lecture slides) is an essential part of the learning process. You can’t just download the slides the night before exam and expect to be able to memorise a bunch of facts and pass the course.

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.

Almost all lectures at the university are recorded these days, so perhaps you could alternate which lecture you attend. I hope that the COMP1720 lectures will be so good that you’ll want to attend those ones, though :-)

The most important thing is that you attend your lab group—if you do that (and engage while you’re there) then I think you’ll be ok and able to keep up.

Do I have to understand everything that’s going on in the artist talks?

The first artist talk isn’t necessarily any easier/harder to follow than the last one. Instead, think of the artist talks as a chance to see how different people make cool things with code. As T. S. Elliot (probably) said,

good artists copy; great artists steal

If he were an ANU course convenor, he’d probably have added:

good artists copy; great artists steal (but they make sure they reference it in their statement of originality)

So watch the videos as they’re released, see new things, and ask questions on the forum.

Labs

Can I got to in-person labs?

We plan to have only online labs for COMP1720/6720 in 2020.

At this point, the physical computer labs in CSIT Building 108 are off limit to students. This may change during the semester (that is, you might be able to visit one to do your own work), but we cannot use the labs for classes of 20-25 within physical distancing requirements. Sorry about that.

You can actually access a virtual lab machine through the ANU Virtual Information Commons.

This can help if you don’t want to set up software on your computer–VSCode, Git, and Firefox are already installed on the virtual lab machines and you can use them remotely (yay!).

Even if you are planning to use VSCode, Git, and Firefox on your own computer, we recommend that you have the virtual lab software (VMWare Horizon Client) set up on your computer just in case you need it.

And furthermore, even if you want to use the virtual lab machines, we recommend you try to set VSCode, Git, and Firefox on your own computer as well, also just in case you need it!

Is there a lab in week 1?

Sort of; there’s a “pre-lab” lab in week 1 (it’s listed on the labs page with all the others, though). So there’s stuff you need to do in week 1, but you should work through the content in your own time. Regular labs start in week 2 (make sure you sign up).

If you get stuck with the week 1 content, you should attend one of the week 1 drop-in lab sessions.

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 it’s pretty straightforward. Unless, of course, the lab you want to sign up for is full, in which case read on…

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. I know that there’s lots of competing demands on your time these days, and we want to help you out if at all possible. Send us three possible lab times (in preference order), because that gives us more options and maximises the chance that we’ll be able to accommodate you.

My advice is to work things around in the rest of your life as best you can so that you can attend your weekly lab session. Attending the labs is even more important than attending the lectures, since that’s where the visual diary is assessed and the lectures are recorded. Although obviously the more in-class stuff you miss the more work you’ll have to do on your own time.

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

Timetabling is done by the ANU central timetabling process, we don’t have very much control over it. Sorry about that.

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. You need to talk to student services as soon as possible to see why; it might be because you don’t satisfy the prerequisites, it might be because you only just enrolled and you haven’t showed up in the system yet, it might be for a whole bunch of other reasons. We can’t enrol you in the course directly, so head to student services ASAP (probably best to go in person) to figure out what’s going on.

Can I pick which tutor I want to have/want to avoid?

Not without a good reason—it’s really hard to schedule everyone into lab groups as it is, so there’s really no room for “I only want to be with this tutor…” or “I want to be in a lab with my friends” constraints. We don’t separate people deliberately, but we just can’t promise to keep people together.

However, if you’ve got a legitimate reason, then contact us and we’ll try and sort something out.

Can I attend a different lab session?

You must turn up to your own lab session to get your visual diary entry marked (except if you’ve got a medical certificate).

Are the labs assessable?

The lab content isn’t assessable, but the labs are the only place to get your weekly visual diary marked.

Assignments

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 on the lab computers. The markers don’t have time to debug your code, so if it doesn’t work you’ll be marked as if you submitted nothing.

When are the assignments due?

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

So are there really no late submissions allowed?

Yep, really. If you hand it in even a couple of minutes late, you’ll get zero for the assignment. So push early and push often!

If you’re a CS student, then you’re probably used to this (it’s the School policy). If you’re from somewhere else on campus—and I’m super pumped that you’re here, and will do everything in my power to help you succeed—you really need to hear and remember this.

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, and only according to the rules described on this assignment page. We won’t accept submissions through email, or on other git branches, or through any process other than the one described.

Seriously, don’t leave this stuff to the last minute. Use the checklist to make sure that you’ve followed the rules.

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. If you’re working on your own machine, you really need to understand the course 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). However, the CI jobs (which run on a different server to the main GitLab server) do sometimes get a bit bogged down near the submission 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.

Note that in some cases we get reports that the GitLab server went down/crashed/etc. There are server logs which we can examine to see if the server did actually crash/go offline for any length of time. However, unless there is evidence that the server actually crashed, then the usual “oh my! things didn’t work in the final 5 minutes before the deadline!” policy applies.

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 (as described above).

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 we will apply a penalty depending on how far the project falls short of the requirements. If we can’t get it to work (and unfortunately we can’t spend all day trying to figure it out) then we must mark what you submitted.

This isn’t a licence for to submit incomplete work and then send an email later saying “oh, can you just apply these changes and it’ll all work great”—that would be a violation of the spirit of the course’s policy on late submissions. What it means is that if there’s a really small error (a last minute typo committed by accident, etc.) that’s easily discoverable and fixable, you won’t get zero for the submission. Still, don’t rely on this being the case—test, double-test and re-test your final submission at the test URL to make sure this doesn’t happen to you.

How do you mark assignments?

We don’t have marking guides for assignments and certainly don’t publish them. 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.

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

Grade

Letter Grade

Numerical Mark (%)

Standards

High Distinction

HD

80-100

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

Distinction

D

70-79

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

Credit

C

60-69

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

Pass

P

50-59

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

Fail

N

0-49

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.

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

When will assignment marks & feedback be released?

We’ll try2 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 master-feedback3 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 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).

I’ve got write access to the *-feedback branch, can I change my mark and push it up?

Ha—nice try. No, that doesn’t work.

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. We really do want to help you get better at making interactive art in this course, and we’ll give you the feedback you need to do that.

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 (at a time which is convenient to them) 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-2019-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. Developer (rather than Reporter) permissions are required because (as described above) we actually push your marks & feedback as a new file in your repository, and we need to be able to push that feedback file to your repo on GitLab.

So even after the submission deadline has passed, don’t remove this user.

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.

If you have your assignment visibility set to something other than Private (e.g. Internal or Public) then other students will be able to see your code! Obviously this is bad. If there’s any plagiarism in the assignment submissions we have to (under ANU rules) follow the usual procedures, which can include penalties for both the plagiariser and the plagiarisee. So make sure your assignment submission repo is private.

Course website

Why isn’t COMP1720 showing up in my Wattle?

COMP1720 will only use Wattle for the final exam. The course should still show up in your course list in Wattle, but the course page on Wattle should just have a link to the main course website.

If it’s not showing up for you and you’ve just enrolled, wait a day or so. If it’s still not showing up, then check with student services that you’ve enrolled properly.

I’ve found some inconsistent info between the website and some other place—which one is correct?

Firstly, 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.

Art

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. Getting a good mark isn’t just a matter of writing a program which successfully passes a bunch of unit tests.

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.

In terms of assignment marks, you won’t get a separate mark for your artist statement (in fact, you won’t get separate marks for any part of the assignment). However, your artist statement is crucial for showing us what you’re aiming for with your sketch, and therefore your overall mark.

But I hate how vague that is…

If you hate thinking artistically/creatively then I really suggest you don’t take this course (you can’t say that you weren’t warned). However, I hope that you learn to enjoy the fact that this course is more open ended than the other CS courses you might take at uni, and use that freedom to make stuff not just to get good marks in assignments, but to express yourself creatively and make things you’re really proud of.

Is there a specific marking rubric?

Well, depends what you mean by rubric. The deliverables pages are very clear about the specifications of what is expected, so you need to satisfy those requirements. In addition, there are some questions to think about in the artist statement section (these are unique for each deliverable with an AS) which will give you some idea of what we’re looking for from an artistic/reflective/storytelling perspective.

However, this is the key point: this course isn’t like other CS courses (although it is like some arts 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).

Grade

Letter Grade

Numerical Mark (%)

Standards

High Distinction

HD

80-100

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

Distinction

D

70-79

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

Credit

C

60-69

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

Pass

P

50-59

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

Fail

N

0-49

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

Software

Can I use my own laptop/desktop machine?

As this course is online in 2020, yes, this is the default. 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.

A Chromebook, or iOS/Android device (e.g., phone or tablet) will be difficult to use successfully (cool as these devices are, they are hard to use for development tasks).

If you don’t have a laptop or desktop computer, but want to buy one (or get a new one), this is a great thing to discuss on the forums.

If you are in financial difficulty and do not have an adequate computer to complete your coursework, get in touch with the course convenor. The Compute Science Students’ Association often have good leads on low-cost computers if you don’t mind a bit of DIY, and you could be eligible for financial assistance.

If you’re not sure about what software is available to you at ANU, have a look at the ANU Systems 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 (otherwise it’s hard to figure out what the problem might be).

There are limits to how much help the tutors can provide (they have to look after all the students and have their own work as well), and I can’t provide tech support over email unfortunately.

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 (unless you have a strong reason to). If you do go down that route, check out the “own machine” policy; basically you’re marked on how it works in the labs—no exceptions.

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 seriously wrong with your submission, e.g. one of the parts didn’t compile, or 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.

The specific penalty for failing a CI check depends on the check, and may be up to 10% of the marks available for that deliverable (e.g. the major project thumbnail). The reasons for this are the same as listed above. That’s the reason we provide these automated checks—you don’t have to wonder if your submission is formatted correctly and includes the required files, you can simply check if the CI job passes, and ask questions on the forum if you’re having trouble.

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.

Another reason to submit your work early :)

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.

The only downside in this scenario is that if your CI jobs do fail (e.g. if you’ve formatted your SoO incorrectly) then you don’t have time to fix these issues, and so you’ll receive whatever penalty is associated with your incorrect submission.

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’re modifying the cp command to move your files to the test URL server (as described on the major project page).

Other than that, you cannot modify the .gitlab-ci.yml file without permission. If you do (e.g. for CI server shenanigans), then the convenor reserves the right to apply penalties for bad-faith use. So don’t touch the .gitlab-ci.yml file unless you’ve got explicit written permission from 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 deliverables 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):

https://comp1720.cecs.anu.edu.au/uXXXXXXX/comp1720-2020-major-project/

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

git

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 Terminal.app. 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

Markdown

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 :)

YAML

What’s YAML?

It’s a structured file format, like csv or json or xml or many others that you’ve seen before.

Where can I learn the YAML syntax?

There’s really not very much syntax, so you’ll probably be able to figure it out as you go along (we’ll always provide a template to get you started). Still, here are a couple of good resources:

If you find any more helpful resources then let me know and I’ll add them to the list.

When I open a YAML file in VSCode, why do I get a bunch of red squiggly lines?

Once you’ve installed the COMP1720 Extension Pack you might notice that when you open ceratin files (e.g. a pledge-of-integrity.yml or statement-of-originality.yml) you see red squiggles under some of the words, just like the “spelling error” squiggles in MS Word. This is no accident—it’s because VSCode knows what types (e.g. strings, uids, numbers) should go in the various parts of the YAML file. This is also how the GitLab CI stuff works to check that you’ve filled out those files correctly.

So, if you see red squiggles when you’re filling out one of those files, don’t ignore them—hover your mouse over them and VSCode will pop-up a hint as to what needs to be fixed.

What are some common YAML “gotchas”?

  • not leaving a space between the key and the value
bad:no space

good: there's a space here
  • using a colon inside a string, e.g. in a url
bad_url: https://www.google.com.au/

# note the quote marks
good_url: "https://www.google.com.au/"
  • getting the indentation wrong
bad_array:
  - one
	- two
 - sevenish

good_array:
  - one
  - two
  - sevenish

How can I check if my YAML file is valid?

There are a bunch of online YAML validators which can help you out here, e.g. https://yamlvalidator.com/. Copy-paste the contents of your file in there and see what it says.

Why does it matter if my YAML is invalid?

This is a big course, so there’s a lot of automated infrastructure involved in the assignment marking process—including academic integrity checks. If your SoO file isn’t valid YAML, they we have to do a bunch of time-consuming manual stuff, which stops us being able to provide the quality feedback that you need to improve.

The only way to ensure that this process runs smoothly is to (a) give you automated feedback (e.g. the CI jobs stuff) about whether your submission follows the rules and (b) apply penalties when it doesn’t—no exceptions.

Seriously, don’t leave this stuff to the last minute. Use the checklist to make sure that you’ve followed the rules.

Why is there so much YAML in this course?

Whenever you’re asked to edit & submit a yaml file as part of your lab/assignment submission it’s because we want some specific information from you. We could just get you to write it free-form in a text file, but then you might get confused about exactly what info you’re supposed to provide, and in what format.

By using a structured data format like YAML, you can check (validate) the information (using the provided YAML plugin for VSCode) on the fly—before you even push your code. For example, you’ll sometimes have to tell us your uni ID as part of your submission. We could just say “put your uni ID at the top of the file, you’ll lose marks if it’s incorrect/not present”. Or, we can have you enter it in a YAML file which is validated to check that it’s correct. So if you put:

uid: u12546548 # whoops! too many numbers!

you’ll get an error right there in VSCode (which you can fix straight away) rather than getting marked down for incorrect information on your assignment. Pretty cool, huh?

Ok, so structured data is good, but why YAML specifically?

All structured data formats suck, but some less than others. YAML is a pretty nice balance between human and machine writeability. This is important - to ensure that we validate the feedback files it’s necessary to process them and extract structured data.

Markdown is really nice for writeability, but parsing it results in a bunch of hacks and ad-hoc rules. Json & csv are nice for machine-readability, but pretty crappy for human writeability. YAML is a nice balance (and there’s editor support for validation in most text editors).

What does YAML stand for?

I reckon your Google-fu is probably strong enough to figure that out for yourself :)

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?

Yes.

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. you’ll receive a “Potential Academic Misconduct” email—this is a template email that we are required to send in this situation

  2. (optional) you’ll get an opportunity to meet with the course convenor on Zoom to explain why your code is the same/similar to code 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 the academic misconduct charge) 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., https://unsplash.com/license

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.

You really do need to fill out your SoO correctly—it’s not fun to be involved in a plagiarism case because you ran out of time/forgot to fill out your SoO.

I’m having problems getting my head around this YAML stuff, what should I do?

It’s ok—you’ll get the hang of it. Read the YAML section in the FAQ, and ask a question on the forum if you’re still stuck.

Can I see an example of a completed SoO?

Sure.

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)
collaboration:
  - name: Alice McGuffin
	comment: >-
	  Alice gave me some ideas for creating the animated ripple effect
	  in the background , but I never saw her assignment code
  - 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)
code:
  - comment: the code in my "drawRandomImage" function is based on some code from StackOverflow
	url: "https://stackoverflow.com/questions/51233447/p5js-image-array"
	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: "https://p5js.org/reference/#/p5.Element/mouseWheel"
	licence: "https://creativecommons.org/licenses/by-nc-sa/4.0/"


# add as many "url+licence+comment" entries as necessary
# (or remove it altogether if you haven't used any external assets)
assets:
  - comment: photo of potatoes by Scott Bauer
	url: "https://en.wikipedia.org/wiki/Potato#/media/File:Patates.jpg"
	licence: Public Domain
  - comment: boat photo by Aaron Wu on Unsplash
	url: "https://unsplash.com/photos/_8rjlHwN4uk"
	licence: "https://unsplash.com/license"
  - comment: some content in Artist Statement taken from Turner Wikipedia page
	url: "https://en.wikipedia.org/wiki/J._M._W._Turner"
	licence: CC-SA


# 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 exam.

…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.

In many courses, the supplementary assessment is another exam. However, COMP1720 is not most courses. For example, if you did ok on the final exam but your major project wasn’t up to scratch, then you might be required to re-submit your major project as your supplementary assessment. Your supplementary assessment might be different to another student’s—it depends on what you need to do to demonstrate you’ve achieved the course learning outcomes.

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 either 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.

It’s important to be clear that the purpose of the appeals process is to correct serious miscarriages of justice in the grading process—it’s not an opportunity to quibble about the marking of a certain question on the exam and try and get a couple of extra points. Again, it’s not that we don’t care about your learning (he does!) but he’s trying his hardest to be fair to all students, and so he won’t just give extra marks because you ask for them.

Note that appeals may take some time to resolve (potentially sometime in S1 next year). I know that you might be frustrated, but whatever the outcome I’d ask for your patience during this process.

  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. 

  2. We’ll try really hard—but in large classes it’s not always possible to hit this two week deadline. 

  3. The “master” part of the master-feedback branch name is because your submission was pushed to the master branch. Some assignments require you to submit your work on multiple branches, and so this naming convention helps you differentiate between the feedback on different branches if this is the case. 

Updated:    21 Sep 2020 / Responsible Officer:    Head of School / Page Contact:    Charles Martin