Skip to content

Commit 3a2cb2b

Browse files
authored
Merge branch 'main' into main
2 parents 752e9e0 + dc8573f commit 3a2cb2b

File tree

13 files changed

+121
-92
lines changed

13 files changed

+121
-92
lines changed

Gemfile.lock

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ GEM
3939
logger
4040
faraday-net_http (3.1.1)
4141
net-http
42+
ffi (1.17.2-aarch64-linux-gnu)
4243
ffi (1.17.2-arm64-darwin)
4344
ffi (1.17.2-x64-mingw-ucrt)
4445
ffi (1.17.2-x86_64-linux-gnu)
@@ -220,7 +221,7 @@ GEM
220221
gemoji (>= 3, < 5)
221222
html-pipeline (~> 2.2)
222223
jekyll (>= 3.0, < 5.0)
223-
json (2.18.1)
224+
json (2.19.3)
224225
kramdown (2.4.0)
225226
rexml
226227
kramdown-parser-gfm (1.1.0)
@@ -239,6 +240,8 @@ GEM
239240
mutex_m (0.2.0)
240241
net-http (0.4.1)
241242
uri
243+
nokogiri (1.18.9-aarch64-linux-gnu)
244+
racc (~> 1.4)
242245
nokogiri (1.18.9-arm64-darwin)
243246
racc (~> 1.4)
244247
nokogiri (1.18.9-x64-mingw-ucrt)
@@ -285,6 +288,7 @@ GEM
285288
yell (2.2.2)
286289

287290
PLATFORMS
291+
aarch64-linux-gnu
288292
arm64-darwin-22
289293
arm64-darwin-23
290294
arm64-darwin-24

_docs/developer/getting_started/vm_install_using_vagrant.md

Lines changed: 5 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ Machine (VM) on your computer and the VM will use the Ubuntu GNU/Linux
1515
operating system.
1616

1717
***NOTE:** We only officially support and test development using
18-
VirtualBox for AMD and Intel machines and QEMU for
19-
M-Series ARM MacOS machines.*
18+
VirtualBox.*
2019

2120
---
2221

@@ -51,14 +50,7 @@ M-Series ARM MacOS machines.*
5150
platform and prevent VirtualBox from working correctly. It is recommended to not install
5251
or use WSL2 alongside VirtualBox for now.*
5352

54-
5. If you're on an M-series ARM MacOS (e.g., M1, M2, M3),
55-
you will be using QEMU with SMB file sharing.
56-
To enable this, open **System Settings** and navigate to **General > Sharing**.
57-
Press the (i) button next to **File Sharing**, and in the popup window
58-
click "Options...". Then turn on "Share files and folders using SMB" and
59-
check the box next to your name in the list below.
60-
61-
6. The complete installation process could take an hour or more and
53+
5. The complete installation process could take an hour or more and
6254
will probably fail if paused or interrupted. Make
6355
sure your internet connection is strong and consistent. You'll
6456
probably want to plug in your laptop power cord. Check your
@@ -122,24 +114,14 @@ M-Series ARM MacOS machines.*
122114
* [Ruby](https://www.ruby-lang.org/en/downloads)
123115
* [Git](https://git-scm.com/downloads)
124116
* [Vagrant](https://developer.hashicorp.com/vagrant/install)
125-
* *M-SERIES ARM MacOS:* [QEMU](https://www.qemu.org)
126-
* *EVERYONE ELSE:* [VirtualBox](https://www.virtualbox.org/wiki/Downloads)
117+
* [VirtualBox](https://www.virtualbox.org/wiki/Downloads)
127118
* Ensure VirtualBox version is compatible with Vagrant.
128119

129120

130121
* **MacOS**
131122
You can either go to respective sites and download the necessary binaries or
132123
install [Homebrew](http://brew.sh/), if you don't have it, and then:
133124

134-
If you have an M-series ARM Mac, run:
135-
```
136-
brew install --cask vagrant
137-
brew install qemu
138-
vagrant plugin install vagrant-qemu
139-
```
140-
141-
Or if you have an older Intel-based Mac, run:
142-
143125
```
144126
brew install --cask vagrant
145127
brew install --cask virtualbox
@@ -243,9 +225,6 @@ M-Series ARM MacOS machines.*
243225
244226
245227
* **Build pre-packaged VM**
246-
247-
*NOTE: The pre-packaged Submitty VM is not (yet)
248-
available for QEMU / M-Series ARM Mac machines.*
249228
250229
If you are using VirtualBox as your provider, you will by default
251230
use a pre-packaged Submitty VM. This will have all of Submitty
@@ -285,13 +264,8 @@ M-Series ARM MacOS machines.*
285264
286265
287266
* **Build from scratch**
288-
289-
* Using QEMU on an M-Series Arm MacOS, type:
290-
```
291-
vagrant up --provider=qemu
292-
```
293267
294-
* On Linux or Intel-based Mac, type:
268+
* On Linux or Mac, type:
295269
```
296270
FROM_SCRATCH=1 vagrant up --provider=virtualbox
297271
```
@@ -326,12 +300,7 @@ M-Series ARM MacOS machines.*
326300
creation of these sample submissions and their autograding and
327301
decrease the time to complete installation.
328302
329-
* On M-series ARM Mac:
330-
```
331-
NO_SUBMISSIONS=1 vagrant up --provider=qemu
332-
```
333-
334-
* On Linux or Intel-based Mac:
303+
* On Linux or Mac:
335304
```
336305
NO_SUBMISSIONS=1 FROM_SCRATCH=1 vagrant up --provider=virtualbox
337306
```

_docs/developer/getting_started/worker_vm.md

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -31,22 +31,7 @@ machines* in addition to your primary vagrant virtual machine.
3131

3232
_NOTE: This will create the vagrant configuration file: `.vagrant/workers.json`._
3333

34-
35-
4. If you are on MacOS running QEMU, restart the network socket in public mode:
36-
```
37-
vagrant workers socket restart --public
38-
```
39-
_NOTE: Using the `--public` flag will make your worker VMs accessible to anyone
40-
on your local network, which may be a modest security concern.
41-
We suggest this to minimize possibility of errors while creating the
42-
worker machines and will revert this in a later step._
43-
44-
_NOTE: Running a socket command while a worker machine is running can detach the
45-
process, making the VM inaccessible to vagrant. If this happens and you are unable
46-
to `vagrant workers halt`, then you may run `pkill -15 -f qemu-system-` to kill
47-
all virtual machines running on your computer (including the main Submitty VM)._
48-
49-
6. Now you can create the worker machine(s) with:
34+
4. Now you can create the worker machine(s) with:
5035
```
5136
vagrant workers up
5237
```
@@ -55,26 +40,23 @@ machines* in addition to your primary vagrant virtual machine.
5540

5641
When this is finished, you should see the Submitty duck ASCII art for each new worker machine.
5742

58-
7. You can verify that all the worker machines are running with:
43+
5. You can verify that all the worker machines are running with:
5944
```
6045
vagrant workers status
6146
```
6247

63-
8. `vagrant ssh` into the main virtual machine and run:
48+
6. `vagrant ssh` into the main virtual machine and run:
6449
```
6550
refresh_vagrant_workers # (runs python3 /usr/local/submitty/GIT_CHECKOUT/Submitty/.setup/bin/refresh_vagrant_workers.py)
6651
submitty_install
6752
```
6853

69-
9. To stop the worker machines, you can run:
54+
7. To stop the worker machines, you can run:
7055
```
7156
vagrant workers halt
7257
vagrant workers socket stop
7358
```
7459

75-
_For MacOS QEMU users: Once the virtual machine(s) are halted, if you would like to restart under
76-
private networking, you may do so by omitting the `--public` flag from the `vagrant workers socket start` command._
77-
7860

7961
---
8062

_docs/developer/troubleshooting/installation_troubleshooting.md

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ References and useful links: [https://gist.github.com/pjdietz/5768124](https://g
190190
191191
## SSH connection was unexpectedly closed
192192
193-
* If you see an error similar to on ARM64 Machine (Apple Silicon):
193+
* If you see an error similar to:
194194
195195
```
196196
The SSH connection was unexpectedly closed by the remote end. This
@@ -219,19 +219,10 @@ References and useful links: [https://gist.github.com/pjdietz/5768124](https://g
219219
vagrant box update
220220
```
221221
222-
* Verify qemu is install correctly
223-
224-
* Firstly, use this command will display the installed version of QEMU for ARM64.
225-
```
226-
qemu-system-aarch64 --version
227-
```
228-
229-
* Secondly, Verify that the QEMU binary for ARM64 is accessible in your system's PATH by running:
230-
```
231-
which qemu-system-aarch64
232-
```
233-
234-
*Note: This command will display the path to the QEMU ARM64 binary (e.g., /opt/homebrew/bin/qemu-system-aarch64)
222+
* Verify Virtualbox is install correctly
223+
```
224+
VirtualBox -h
225+
```
235226
236227
* Verify Vagrant Installation
237228
```
@@ -262,9 +253,9 @@ References and useful links: [https://gist.github.com/pjdietz/5768124](https://g
262253
vagrant destroy
263254
```
264255
265-
* Boots up a new Vagrant environment using the QEMU provider
256+
* Boots up a new Vagrant environment
266257
```
267-
vagrant up --provider=qemu
258+
vagrant up --provider=virtualbox
268259
```
269260
270261
---
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
category: Instructor > Assignment Preparation
3+
title: No File Rubric Grading
4+
redirect_from:
5+
- /instructor/no_file_rubric_grading
6+
---
7+
8+
The **No File Rubric Grading** feature is a utility within the Bulk Upload instructor submission interface. It allows instructors to automatically submit an empty "placeholder" pdf submission for **every** active student on a specific gradeable.
9+
10+
An example of when this would be useful is for an assignment (like a presentation) where students do not have anything to submit to Submitty, but the instructor still wishes to grade them through Submitty.
11+
12+
In this case, an instructor can use the **No File Rubric Grading** feature to enable rubric grading for all students.
13+
14+
---
15+
16+
## How to Use this Feature
17+
18+
1. **Create the Gradeable:** Ensure your gradeable is set to the
19+
type: *"TA/Instructor will (bulk) upload scanned .pdf"*.
20+
21+
2. **Access the Submission Page:** Navigate to the gradeables page and click the
22+
**Bulk Upload** tab.
23+
24+
3. **Click "No File Rubric Grading":** This button is located
25+
near the top of the Bulk Upload section alongside the other submission modes.
26+
27+
4. **Click "Submit Placeholder for Every Student":** This will actually submit the pdf
28+
placeholders for every student on the gradeable. After confirming, a message will appear at the top of the screen displaying the successful number of submissions made.
29+
![](/images/instructor/assignment_preparation/no_file_rubric_grading.png){:width="800px"}
30+
31+
**Important:** This action **will** create
32+
a new submission for all students on the gradeable. It will appear as the student's
33+
active version within the grading view and on the database. It will not erase any
34+
previous submissions.
35+
36+
---
37+
38+
## Grading
39+
40+
Once the submissions have been processed, they can be graded like any other student submission. They will be listed as a new version under the student's version status. Further uses of the function (while uneccessary) will simply increment the version number.
41+
42+
---
43+
44+
## Troubleshooting
45+
46+
Ensure you are logged in as an Instructor level user.
47+
Full grading access is required to use this feature.
48+
There is currently no Team gradeable functionality for this feature.

_docs/instructor/assignment_preparation/personalized_exams.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ redirect_from:
77

88

99
We provide scripts to prepare personalized exams for each student,
10-
facilitating randomized assigned seating, QR codes, and notes/crib sheets:
10+
facilitating randomized seating assignments, QR codes, and notes/crib sheets:
1111

1212

1313
* (Optional) Collect student left or right handedness.
@@ -32,7 +32,7 @@ facilitating randomized assigned seating, QR codes, and notes/crib sheets:
3232
```
3333
3434
35-
* Prepare a "blank" test as a .pdf file. Be sure to empty space on
35+
* Prepare a "blank" test as a .pdf file. Be sure to leave empty space on
3636
the first page to allow placment of the large box with student
3737
information and the QR code.
3838
@@ -46,12 +46,12 @@ facilitating randomized assigned seating, QR codes, and notes/crib sheets:
4646
instructions to prepare personalized exams.
4747
4848
Note that in addition to the QR code on the first page, the
49-
student's name and email address is placed in the upper right corner
49+
student's name and email address are placed in the upper right corner
5050
of all following pages.
5151
5252
![](/images/instructor/personalized_exam/personalized_page_1.png){:width="380px"}
5353
![](/images/instructor/personalized_exam/personalized_page_2.png){:width="380px"}
5454
5555
5656
* _TODO: Write instructions for printing a large set of personalized exams
57-
with our specific copier._
57+
with our specific copier._

_docs/instructor/course_management/course_materials.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,11 @@ Materials" label in the navigation bar.
3030
![](/images/course_materials_option_subdir.png)
3131

3232
* Note: The total size of all files uploaded at one time must be less
33-
than or equal to 10 mb or the value of the
33+
than or equal to 100 mb or the value of the
3434
[upload file size limit](/sysadmin/installation/system_customization#allowing-large-student-file-upload-submissions)
35-
for your server.
35+
for your server, and the total size of all files stored in course materials must
36+
be less than 1 GB.
37+
3638

3739

3840

_docs/student/student_errors.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ title: Debugging Submitty Output
88

99
Your code is not tested locally first, Submitty should be used as the
1010
final submission server, not as a debugger. Before submitting anything
11-
make sure that you are able to run your code locally without error.
11+
make sure that you are able to run your code locally without errors.
1212
In addition the instructor may decide to use hidden tests which still
1313
reveal the grade. Often these tests check corner cases and exactly what those
1414
could vary by your program but common cases to consider are positive,
15-
negative, zero, and floating point values and how your code performs give
15+
negative, zero, and floating point values and how your code performs given
1616
unexpected but valid input.
1717

1818
Often times there may be a missing punctuation or small typo in the output
@@ -45,21 +45,21 @@ perform operations slower than hashmaps or trees-like structures. If your code
4545
gets a kill signal and you are using specific data structures be sure you are
4646
using them correctly
4747

48-
If you are using python, ineffeicant use of dictionaries, and sets can cause this error to occur.
48+
If you are using python, inefficient use of dictionaries, and sets can cause this error to occur.
4949

5050
![](/images/killSignal.png)
5151

5252
### Segmentation Fault
5353

5454
For anyone who has ever programmed in a language with explicit memory management such as C/C++
55-
you are probably familiar with the infamous and seemingly unhelpful error know as Segmentation Fault.
55+
you are probably familiar with the infamous and seemingly unhelpful error known as Segmentation Fault.
5656
In short however a SegFault is the result of a memory access violation.
5757

5858
This can occur for a number of reasons, first case we will look at is going out of bounds.
5959
If while iterating over a list your index is out of the range of the list this can
6060
result in a memory SegFault.
6161

62-
Another possibly is when using pointers, if a pointer on the stack is initialzied to NULL
62+
Another possibility is when using pointers, if a pointer on the stack is initialzied to NULL
6363
or never initialized in the first place but you try to dereference it this is the same thing
6464
as a NUllPointerException in Java and is a very common issue when dealing with pointers
6565
which are commonly found when dealing with Tree structures and and linked lists.
@@ -70,6 +70,6 @@ but since submitty is a teaching tool lets assume the problems given are
7070
not so large that you run out of memory trying to solve it. A common example
7171
of this is infinite recursion. Make sure the base case is eventually called.
7272

73-
There are other reasosn for SegFaults but these are very common examples.
73+
There are other reasons for SegFaults but these are very common examples.
7474
However what ever the reason DrMemory/Valgrind and gdb are excellent tools to
7575
help with more advanced errors if print debugging isn't cutting it.

_docs/student/testing_networks.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ title: Testing Networked Applications Locally
99
We are currently hosting the docker images that will be used for grading on the
1010
[Docker Hub](https://hub.docker.com/u/submitty/).
1111

12-
You can can "pull" the most recent submitty images using the commands:
12+
You can "pull" the most recent submitty images using the commands:
1313
```
1414
docker pull submitty/python:2.7
1515
docker pull submitty/python:3.6
@@ -34,7 +34,7 @@ docker create -i -t -v SOURCE_CODE_DIRECTORY:SOURCE_CODE_DIRECTORY -w SOURCE_COD
3434
``-i`` boots the container in interactive mode, allowing submitty to pipe standard
3535
input to the containers.
3636

37-
``-t`` Allocates a pseudo-TTY so that you can interact with your container.
37+
``-t`` allocates a pseudo-TTY so that you can interact with your container.
3838

3939
``-v`` mounts a directory on the host machine so that output persists after the
4040
docker exits. ``SOURCE_CODE_DIRECTORY:SOURCE_CODE_DIRECTORY`` specifies first
@@ -61,7 +61,7 @@ Once you have created a few containers, you can create a network with this comma
6161
```
6262
docker network create --driver bridge NETWORK_NAME
6363
```
64-
Where you can specify your own network_name.
64+
You can specify your own network_name.
6565

6666
Then, you can connect your containers to the network as follows:
6767
```

0 commit comments

Comments
 (0)