CSE1110 - Software Quality and Testing

HomeTeaching TeamContactScheduleJPacman labworkGradingFAQ

The JPacman Labwork

Download the labwork:

The JPacman labwork is a fundamental learning activity in this course. You should give a lot of attention to it. In this page, you will find:

  • Understand how you should hand in the assignment.
  • Understand how the report should look like.
  • Instructions on how to hand in via Gitlab.
  • How your final labwork grade is composed.
  • What to do if you lose a deadline.
  • Our code of conduct.

The JPacman assignment itself can be found in our Brightspace.

Handing in the assignment

For each part, you are required to deliver a report and the source code.

Content of Your Report. The report should contain your answers to the exercises. Make sure that you:

  • provide numbers for all answers.
  • provide the answers in the proper order.
  • include code fragments of the most relevant modifications.
  • adopt a concise and clear writing style.
  • include explanations wherever necessary.
  • pay attention to the look and feel of your document, including code formatting.
  • DO NOT put your names and student numbers (as your work will be peer reviewed anonymously). Note that IntelliJ sometimes adds your name as the author of a class; remove it!

Format of the Report. We strongly encourage all students to use markdown for formatting. It is supported by such most editors like VSCode, Atom, and Sublime, as well as by dedicated tools such as Mou for MacOs, markdownpad for Windows.

Markdown integrates well with git: We suggest you create a /doc folder in your git repository, together with a report.md file and images where appropriate.

Final deliverable file. Besides uploading the PDF to your GitLab account (as explained in the assignment document), you should also generate a single zip file that contains:

  1. Your report (in PDF)
  2. Your src/ folder zipped.

This zip file will be used in our Peer platform. Make sure your zip file contains no information that can reveal your identities.

Submitting via Gitlab

Assignments are handed in via Gitlab. They are attached to a commit. That commit corresponds to the source code you are handing in – and it is this source code that will be graded (we will not be using CPM).

For each assignment, push your code to Gitlab, create a merge request to review your work for the deliverable. When you agree on the quality of your solution, merge your assignment to the master branch.

To hand in the assignment, you will need to create a release. You do this by navigating to your project on Gitlab, and navigate to Repository -> Tags. There, you can create a new tag for your project. Give it the name Deliverable X, where X is the number of the assignment. Under the Release notes section, you must attach a PDF of your report using the “Attach a file” link.

Peer review

You, your peers, and TAs are responsible for grading your assignment. Read more about our peer review process.

Labwork as a grade component

The grade (between 1.0 and 10.0) for the lab work is computed using the following formula:

  G =  min ([(P1 + P2 + P3) / 3] + [DR/3 - WR/2], 10)

where P{1,2,3} are the grades for the individual parts I, II, and III. DR is the number of self and peer reviews you delivered with high quality. Note that doing the reviews may give you an extra 1.0 point on top of your final labwork grade. On the other hand, WR is the number of self and peer reviews you did not deliver or deliver it with poor quality. Note that not delivering the peer review may reduce your final labwork grade in 1.5 points. You also can’t get higher than a 10.

The meaning of the grades is as follows:

  • 8 or higher: In your answers you demonstrate a good understanding of the problem and the solution. You demonstrate that you have explored alternatives, and that you reflected on the limitations of your approach.

  • 6 or 7: You do what you are asked to do to solve the exercises and pass the course (but not much more).

  • Below 6: You fail to provide a satisfying solution to the exercises, for example by delivering code that does not work properly, one or more failing test cases, code that is poorly designed, code that is not documented properly, incomprehensible answers to the questions.

Missing a deadline

There are four assignments (parts), with four deadlines. Check the deadlines in our main page. These deadlines are firm.

If you need an extension for a good reason outside your control, please contact your study advisor, and ask him/her to request an extension (other requests will be ignored).

Code of conduct

You are expected to conduct the labwork yourself, without help from other teams. In case of suspected fraud, the standard fraud regulation of the faculty will be strictly applied.

Do not post your work on a public repository on, e.g., GitHub: If your work is or can be copied, the same rules apply to the group that is copying (fraud) and the group that made the copying possible (making fraud too easy).

Helping others when they are stuck is encouraged. However, helping others by giving them your solution is prohibited, and is considered fraud. If a colleague helped you, please mention it in your report. This is also a nice way to acknowledge your colleague.