cs240e: Data Structures and Data Management (Enriched), Winter 2023

Skip to: Logging Into MarkUs, Submitting, Viewing Marking Results, Creating PDF files

Throughout the term, there will be 5 written assignments, and 4 programming questions. All written assignment components must be submitted electronically through MarkUs.

Make sure you read through all the assignment guidelines; we will have no leniency for students who fail to follow instructions.

Submit early and often. You should remember that late assignments or late assignment components will not be marked.

However, assignments or assignment components can be excused with appropriate verification of illness and the weight will be distributed over the other, non-excused assignments.

Files submitted after the deadline can be marked for feedback if the ISAs are notified to look for them to give feedback (highly recommended if you miss a deadline for whatever reason (including illness) to test your understanding of material.)

The return policy and mark appeals policy for assignments and exams and marks information are outlined on the course info page.

Important: For all assignments and other assessments, we will provide an academic integrity statement that students will be required to "sign" and submit when they start the component, or their mark will be zero on that component.

Selected assignment solutions will be posted to the protected files area after the assignments have been collected. Always remember that solutions show only one way of solving the problems, which is not necessarily the only way or the best way.

Assignment Release date Due date and time Assignment files Post-Mortem Average
Academic Integrity Declaration 1 Wednesday, January 11 Wednesday, January 18 @ 5:00pm AID01.txt
Assignment 0** Wednesday, January 11 Wednesday, January 18 @ 5:00pm a0e.pdf a0e.tex polar_bear.jpg 97.15
Assignment 1 Wednesday, January 11 Wednesday, January 25 @ 5:00pm a1.pdf a1.tex Post Mortem 98
Programming Question 1 Wednesday, January 25 Wednesday, February 15 @ 5:00pm Wednesday, February 8 @ 5:00pm pq1.pdf stub.cpp Post Mortem 77.37
Assignment 2 Wednesday, January 25 Wednesday, February 8 @ 5:00pm Wednesday, February 15 @ 5:00pm a2.pdf a2.tex a2PM.pdf 87.21
Academic Integrity Declaration 2 Wednesday, February 15 Wednesday, March 1 @ 5:00pm
Wednesday, March 8 @ 5:00pm
Assignment 3 Wednesday, February 15 Wednesday, March 8 @ 5:00pm a3.pdf a3.tex Post Mortem 96.83
Assignment 4 Wednesday, March 8 Wednesday, March 22 @ 5:00pm a4.pdf a4.tex Post Mortem 85.85
Programming Question 2 Wednesday, March 8 Wednesday, March 29 @ 5:00pm pq2.pdf
Post Mortem 77.22
Assignment 5 Wednesday, March 22 Wednesday, April 5 @ 5:00pm a5.pdf a5.tex Post Mortem 91.76

** Assignment 0 is an easy way to add bonus marks to Assignment 1.


Assignments are submitted electronically using MarkUs, a web-based submission and marking system. You can also look at your assignment marks and graded assignment on MarkUs. Marks and feedback are released to students as soon as marking is completed and an announcement will be made. MarkUs will have the most up-to-date marking results for assignments.

MarkUs: Logging In 

To log in to MarkUs, please ensure that you are doing the following:

If you encounter a "Login Failed" message, check that you meet the above three criteria before contacting course personnel. If you are still experiencing issues or have run into different errors (such as a redirect problem), please e-mail the course account with your Quest userid and a brief description of your error.

MarkUs: Submitting Assignments 

To submit files for Assignments, follow the instructions below.

  1. On your MarkUs homepage, click the assignment name to go to its submission page.
    This box shows you how many files you have submitted and how many of the required files you are missing. The Missing Required Files will initially be equal to the number of files you have to submit. As you submit the properly named files, this number will decrease. NOTE: For CS 240e assignment written components, you are required to submit pdfs for individual questions. Our required files in MarkUs reflect the requirements.
    Assignment Rules
    This box has the assignment name, due date, and the names of the required files for the assignment. You must name your assignment files for submission as indicated by the list, matching lowercase and uppercase letters before continuing with submitting.
  2. Click the "Submissions" tab at the top of the page.
  3. Click "Add A New File". A new row will be added to the table. Click "Choose File" or "Submit" in the new row. (The button's name will depend on your web browser.) In the window that appears, browse to where you have saved your file and select it. Click the Submit button.
  4. Your submitted file will now appear in the table. Check that the filename is correct. If you click on the filename, you will see the contents of the file. You should check that the contents are correct, and that you have submitted what you wanted to submit.

MarkUs: Replacing a file You can only replace a file with one that has the same name.
Warning Do not use Internet Explorer to replace files. It will appear as though the change has gone through when it has not. Your files will not be replaced.

MarkUs: Deleting a file If you have submitted the incorrect file, you can delete it by selecting the "Delete" box for the file and then clicking Submit.

Do NOT replace files by deleting and re-submitting them. If you want to submit a new version of your work, use the "Replace" column.

Submitting Programming Assignments Using Marmoset


Marmoset: Basic Logistics

  1. Go to https://marmoset.student.cs.uwaterloo.ca/ and log in using your WatIAM info. This should be the same as the info you use to log in to Quest.
  2. Click the "as" button under "Authenticate". You should have only one choice here.
  3. Click "CS240e (Winter 2022):".

    Note: If you don't see what you're supposed to see in steps 2 or 3, then you are probably not yet added as a student to CS 240e on Marmoset. Contact the course staff to resolve this issue.

  4. You should now be able to see the assignments that have been set up on Marmoset for CS 240e. You can submit your assignment files to Marmoset via the "web submission" column for each assignment question.

Marmoset: Submitting Assignments

If only one file is required for an assignment question, you can submit only that file. If multiple files are required for an assignment question, you must zip all of the required files and submit the zip file. Make sure that all of the required files are named correctly; otherwise, you will receive "did not compile" error message.

Tests on Marmoset

There are two types of tests that we will use on Marmoset in CS 240e: public tests and private tests.

Public tests are designed to test whether your program works in the most basic sense possible. They are simple tests that test for trivial cases.

Private tests are designed to test whether your program is correct. You can expect these tests to test all the dark corners and special cases that can potentially break your code.

After Submitting a Program

When you make a submission to an assignment question on Marmoset, your submission will be automatically tested on a CSCF server. After a while (a few seconds to a few minutes, depending on the state of the server, the program and test complexity), the tests should finish and a result will be available.

Marmoset: Interpreting Test Results

If your submitted program does not compile or run successfully on its own, your submission will receive a result of "did not compile" and the detailed test results will contain something similar to the error message you get if you ran your program yourself. In this case, your submission will not be tested with any of the tests.

If your submitted program runs successfully on its own, it will be tested with all of the public tests.

If it fails any public test, the detailed test results will display an error message for that public test.

Viewing Assignment Marks


You can look at your assignment marks and graded assignment on MarkUs. Marks and feedback are released to students as soon as marking is completed and an announcement will be made. MarkUs will have the most up-to-date marking results for assignments.

To log into Markus, see Logging into Markus.

MarkUs: Viewing Assignment Marks and Results  

Once marking for an assignment is completed (an announcement will be posted), you can see your mark for each assignment on your MarkUs home page. For a more detailed breakdown of your mark along with marker comments, click the "Results" link.

Creating PDF Files for Written (Non-Programming) Questions


Electronic submissions require text or pdf files only. Your program files will already be text, without any intervention from you. However, non-programming answers will need to be submitted as pdf files.

File names for pdf submissions: You should submit one pdf file per question for all written solutions for an assignment. The file name format required is given in the assignment and will be visible in MarkUs when you go to submit.

Some ways to create pdf files:

The following are least preferred methods since the results may be hard for markers to read and/or the files may be too large to view in MarkUs -- so make sure they are as clear as possible and the files are <5,000KB (preferably <1,000KB). Files > 5,000KB will still be accepted by MarkUs, but we prefer that you keep your files small and not greater than 5000KB if possible, and marks may be deducted for hard-to-read solutions (i.e. it takes extra time to figure out what is written).

Always check the file on MarkUs after you submit to make sure it is the right version of your answer and that it can be read clearly at a glance.

If getting a pdf of diagram or "hand-written" answers to assignment questions will be a problem for you, please email cs240e [at] uwaterloo.ca as soon as possible (and not just before a deadline).