We will assume you have read this before attending the PE

This page lists important information for your Practical Exam. Please read it thoroughly - we will assume you have read it.

PE0 is a chance to put your C programming skills into practice independently, under timed conditions. Please don’t underestimate the effect of timed conditions: people who confidently do volumes sometimes struggle with having a time constraint. This simulates (in some way) job interviews in this field, while also being a fair way for us to assess you.

Please read this procedure before arriving so you can settle in and start smoothly.

Exam Details

ItemDetails
DateTuesday, 15 September 2026
Report By6 pm to enter the lab, get seated, and set up.
Exam Time6:15–8:15 pm
Duration120 minutes, unless you have specific accommodations
Weight10% of your course grade: four questions with individual weights TBD
VenuePlease check your allocated venue here: https://canvas.nus.edu.sg/courses/93656/files/folder/Practical%20Exams?preview=9965664. Note that it will likely not be the same as your lab / tutorial venue.
  • Note again that your assigned venue will likely differ from your usual lab or tutorial venue.
    • Late arrival or going to the wrong venue will not get you extra time.
    • Please check the Canvas venue list when it is available.
  • Your login details for the PE system will be at your assigned venue.
  • If you cannot attend, follow the Assessment Absence Policy.

Scope

The scope is up to and including:

  • Lecture 2
  • Lab 3 (Recursion without arrays)
  • Volume 3 (Recursion without arrays)
  • Skills taught up to Tutorial 3

What to Bring

  • Your NUS matriculation card for identity verification
  • Pens or pencils; do not bring spare paper, as the invigilators will provide it
  • One A4 sheet of notes, printed or handwritten on either or both sides
  • A calculator, as permitted by the Practical Exams overview

Keep your laptop, phone, and other electronic devices apart from a calculator in your bag. You will use the lab desktop PC, not your own laptop or WebTop. Only permitted materials may be on your desk.

Before the Exam Starts

  1. Show your matriculation card to the invigilator and collect the physical sheet with your name and PE login credentials
  2. Take an available seat in your assigned venue, leaving a seat between students where possible
  3. Log in to the desktop (Ubuntu operating system, also Linux-based) using the supplied credentials
  4. Open a terminal with Ctrl+Alt+T (the terminal may take a while to open!), then type ssh pelogin (you do not need to give it a username or password) and press Enter to connect to the PE system
  5. In the desktop browser (Firefox), open the exam document site: https://data.comp.nus.edu.sg/cs1010/
  6. Wait at the username/password dialog until the invigilator gives you the password at the start of the exam. After SSH connects, leave the terminal untouched, including no cd or other commands, until the invigilator announces the start. Do not read ahead or start work

Note again that the physical sheet given to you contains your login credentials. The PE questions are provided digitally in PDF form. Raise your hand promptly if you have trouble logging in or opening the PDF.

Working on the Questions

The question code will be prepared in your PE folder on pelogin.

Work in each question’s folder, edit student.c, and use make and make test, as you do for the volumes. There will be no need to use clang directly: make and make test will function as expected.

You do not have to run make format before submitting, though it might help you keep your code tidy to run it once in a while.

Follow each question’s restrictions and output format, and save your work regularly.

Work independently, without AI tools, communication with others, or internet resources apart from the supplied exam document site. Man pages are allowed.

  • For questions or a restroom break, raise your hand.
  • Watch the room’s display for corrections or clarifications
  • Avoid disturbing others. If you need an arrangement that may affect the room, contact us before the exam

Technical Help

You may ask an invigilator for technical help. These skills were covered in tutorials, and you remain responsible for your files and all actions taken, including mistakes an invigilator makes while helping you. Invigilators will not be held responsible for those mistakes.

Leaving Early

You may not leave the exam early during the first hour or the last 15 minutes. At other times, raise your hand and wait for the invigilator’s permission to leave. This restriction is on finishing and leaving early; for a restroom break, raise your hand.

When Time Is Up

Stop typing immediately when instructed. Your saved solutions on pelogin will be collected automatically for grading; there is no separate submission command. Wait for the invigilator to release you, then leave the exam area quietly, as others may still be working.

Reading questions early, continuing after time is called, or using unauthorised help may be treated as academic misconduct, with possible academic and disciplinary penalties.

How the Practical Exam Is Graded

Your marks reflect your progress towards a correct solution. A grading TA reviews your code as a whole, using compilation and test results as supporting evidence. Marks are not simply proportional to tests passed: a minor mistake can fail many tests, and passing every test does not guarantee correctness. The same TA grades each question across students for consistency.

We may also deduct marks for violations of the C Standards, limited to concepts covered within the PE0 scope. Correctness carries more weight than guidelines such as G2: Make code intent clear, but your logic should still be understandable.

We have used the following categories in past PEs and may adjust them for PE0:

CategoryMarks Awarded
Correct solution100%
One or two minor errors75%
Approximately one significant error50%
Multiple major errors, but some progress towards a solution25%
No solution or almost no progress towards a solution0%

These percentages apply to each question’s marks. Code that does not compile is treated as having at least one significant error, rather than automatically receiving zero. Your total score is the sum of your marks across questions.

Preparing for PE0

Redo the labs and volumes within the scope above. Familiarise yourself with the Tutorial 3 commands and all tutorial concepts taught up to that point.

Use PE-0-Practice to practise working on PE questions. We won’t be grading this, but you can use the cs1010 menu (if doing it in WebTop) to save your progress.

  1. In WebTop, run cs1010 and choose Download content, then Practical Exam Practice, and download PE-0-Practice, just as you would download a volume
  2. Download the PE0 practice PDF

The exam document site and pelogin are unavailable for practice while being prepared for PE0 on 15 September 2026. Use WebTop and the practice PDF above.