Frequently Asked Questions (FAQ)

Here we collect a number of frequently asked questions.

The autograder cannot run my solution, but it works on my computer

Verify that your solution works in the dev-shell environment that we provide. See the README in your Git repository for instructions on how to set this up. This is the exact same environment used by the autograder. If it works in the dev-shell then it generally also works on the autograder. Some things to watch out for:

  • Make sure that you have committed and pushed all the necessary files for your solution.
  • Remove any compiled binaries that have been added to Git by mistake.
  • Lingering build artifacts. Try cloning a fresh copy of your repository somewhere else and make sure that it still runs in the dev-shell.

Where do I submit the theoretical assignments?

On the page "Assignments" in the menu on the left. You submit them as PDF files.

The autograder missed a commit with a grading tag

The autograder only considers the latest commit on the master branch. If you push multiple commits, the autograder will only consider the most recent one. Commits pushed to other branches are also ignored by the autograder.

The grading tags aren't actually tags in the Git sense, why?

Since you need to be able to turn in the same assignment multiple times, we found it easier to look for particular words in the commit message than to use git tags. In particular, git tags have the following limitations:

  • Git tags can only point to one commit at a time.
  • Pushing them requires an extra flag to git push.
  • Changing which commit a tag points at requires a force push, which seems unwise to recommend as a default workflow.

Getting strange errors in assembly when calling external functions such as abs

Reserved keywords has to be escaped with a dollar sign in NASM. For example, if calling an external function abs, you have to call it with call $abs.

See Section 3.1 in the NASM documentation (link Links to an external site.) for more information.