CS4410 Frequently Asked Questions (FAQ)

Please submit your questions using this Google form.


I'm on the waitlist. Will I be able to get in?

In the end it is up to the registrar, but we do not plan to enforce a cap on online participation

Do I have to attend lectures in real-time?

The expectation is that students attend their courses synchronously, provided the scheduled class time falls between 8 a.m. and 10:30 p.m. in their local time zone, which mirrors the span of in-person class meeting times on campus. Of course, students are welcome to attend classes outside of this timeframe in their local time zone if they would prefer to participate synchronously rather than rely on class recordings.

I want to take another class asynchronously in the same time slot. Is that possible?

Yes, but need to get explicit permission from the CS4410 instructor

Where do I find the slides / videos?

All slides and videos are posted at https://www.cs.cornell.edu/courses/cs4410/2021sp/ under Schedule. Videos can take up to 6 hours to be posted


Will the exams be in-person?

Both exams (a prelim and a final exam) will be "open book take-home" exams. They will be timed, and are to be done by the student without help from other people.

When will the exams be held?

The prelim will be held April 1, 6pm ET through April 3, 6pm ET
The final exam during the final exam period.

For each exam, you'll have 2 hours to do the exams within a period of 48 hours


How to install Harmony?

See harmony.cs.cornell.edu. If you have trouble installing HarmonyLang, please fill out this form: https://forms.gle/Byx9guUvoXcJpnAS7

Does harmony only show one failure case or does it show all possible failure cases?

Harmony does not report all possible failure scenarios because 1) there could be very many of them and 2) you only need one to prove that there is a bug. In order to make it easier to find the bug, Harmony shows the shortest execution that leads to a failure.

That said, the current version (and currently foreseeable versions) of Harmony first looks for Safety Violations (assertion failures, divide-by-zero, accessing uninitialized variables, etc.) and only if there are none of those it will look for non-terminating states. So if Harmony reports a non-terminating state, you know that no execution leads to a safety violation. Future versions of Harmony may not support this, but probably not this semester.

General Questions

What is the difference between unfairness and starvation?

Starvation is extreme unfairness. If a job is starved, it means it never gets to run. Unfairness means that a job gets fewer resources (say, CPU) than another. So in round-robin scheduling, a mix of CPU-bound jobs and I/O-bound jobs can lead to unfairness, but not starvation as each job gets CPU time.

Homework General

Do I have to fill out the PDF or can I print it, write on it, and upload a scan?

You have to fill out the PDF. The autograder is not capable of reading handwriting at this time. Make sure you "Save", and not "Export to PDF" or "Print to PDF". The document you submit should still have editable form fields in them. You are allowed to add an appendix to the end of your submission with handwritten notes, or upload a separate PDF

Do I have to show my work?

No, you only have to fill out the boxes. But showing your work can help with regrade requests.

My study group members are not responsive

Please contact the study group's dedicated TA first. If specific group members are not responsive before a homework deadline, report the issue to cs4410-staff@cornell.edu

The document that is returned to me doesn't have the answers that I submitted

That's correct. The document contains the (hopefully) correct answers and your scores, not the answers you gave. You can retrieve the submission with the answers you gave from CMSX

My homework document exceeds the maximum file limit imposed by CMSX. What do I do?

Please send your document to cs4410-staff@cornell.edu to get it timestamped. We probably will ask you to try to upload it again after we increase the limit.