Skip to content

Conversation

@qimcis
Copy link
Collaborator

@qimcis qimcis commented Jan 18, 2026

Description

Add the CS 350 Winter 2019 Midterm exam dataset and associated solution to the repository.

Changes

  • Add exam raw files to /home/qi/system-intelligence-benchmark/benchmarks/courseexam_bench/data/raw/cs350_winter_2019_midterm
  • Add solutions file W19-midterm-sol.pdf to the exam directory
  • Add exam metadata for "CS 350 Winter 2019 Midterm" with ID cs350_winter_2019_midterm

Testing

Prepared the dataset and validated processing by running: python3 courseexam/prepare.py without errors.

Checklist

  • Tests pass locally
  • Code follows project style guidelines
  • Documentation updated (if needed)

Copy link
Collaborator

@777lefty 777lefty left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

format and missing issue, besides, the structure of this exam and the problem-metadata mapping is not clear

"llm_judge_instructions": "Award 2 points for stating that (ii) is faster and giving a correct reason (e.g., fewer syscalls or less I/O overhead). Award 0 points otherwise."
}
```
---
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct me if I am wrong: isn't --- supposed to be used for separating problems (that started with ## Question x)?
@tareknaser

}
```
---
b. (2 marks) Concurrency
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we are regarding each subproblem as an individual question with metadata here, perhaps we should use ## Question x to indicate


```json
{
"problem_id": "4",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from here on the problem_id in metadata can't match Question x

"answer": "Actions not prevented by either condition include voluntary thread exit (threadexit), explicit yield (threadyield), and thread blocking/sleep.",
"llm_judge_instructions": "Award 2 points for listing the three items (thread exit, thread yield, thread block/sleep) or equivalent. Award 1 point for listing two correct items. Award 0 points otherwise."
}
```
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Chaotic metadata-subproblem mapping here

---
## Question 4 [10 marks]

The following pseudocode makes use of a semaphore. Replace the semaphore-based implementation with a condition-variable-based implementation that performs the same task. You may only add up to three additional variables. Your cv may not be used with a loop.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pseudocode not provided

Lock = CLOSED;
CriticalSection();
Lock = OPEN;
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

code block here better

while (Last == 2){;}
CriticalSection();
Last = 2;
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

code block here better

```
---
b. (2 marks)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

problem description and instruction missed here

CriticalSection();
T2 = !WANT_IN;
}

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same issue as above

Last = 2;
T2 = !WANT_IN;
}

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same issue as above

@qimcis qimcis force-pushed the cs350-winter-2019-midterm branch from 55ff1ea to 6fc810d Compare January 26, 2026 15:39
@qimcis qimcis force-pushed the cs350-winter-2019-midterm branch from 6fc810d to 7beee15 Compare January 26, 2026 16:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants