Instruction For Teaching Assistant¶
Responsibility¶
Assignment grading
Best to finish grading within one week after the due date.
Labs
Projects
Student question answering
on Discord
by Email
Project Grading¶
Overview¶
Programming projects are given on Canvas as assignments. It require students to an implement application following the instruction. The grading is mostly functionality based, which means the 80-90% of points based on how the application compile and run. The rest of the grades require some brief code reviews.
Pre-requisites¶
A working development environment. Check the C/C++ Development Environment document for more details. Preferably a local environment. Linux, Mac OS or Windows WSL should all work well.
Knowledge on C++, CLI environment, and make
Workflow for Canvas Assignment¶
Download from Canvas
Canvas assignment allows the download of a single zip file for each assignment.
Unzip and organize as individual directories
A Python 3 script is available to automate the work but it is up to the TA to decide whether he want to use it. Take some time to learn and set up.
Test run and grade
The student submission is compiled, test-run and tested using
make
commands likemake
,make test-all
,make test-run
. You can check the project instruction for details.Update grades on Canvas
Open the SpeedGrader, use to provided rubric to grade and leave brief feedbacks.
Workflow for GitHub Assignment¶
You may grade based on the autograding results from the GitHub Classroom interface.
Be careful with the late submission. You may need to look into the repository if a submission is late as GitHub Classroom is still working on the feature and the behavior is not consistent.
You can read code on GitHub website or download the code and run locally.
The GitHub command line tool is currently the best way to batch download the student submissions. It takes some time to learn and set up.
Resources And Tools¶
Submission prepare
script
Prepare student submissions in individual directories
Python 3 and PyInvoke
Python3 is mostly pre-installed on Linux
install PyInvoke with the command
pip install invoke
orpip3 install invoke
Usage
create a new directory
put the
submissions.zip
file downloaded from Canvas andtasks.py
in the directoryChange to the directory in the terminal window
run
inv organize
in the directory in terminal
Policies¶
Late assignment
Apply the penalty following this scheme: -10 < 1 day; -30 < 2 days
Resubmission
Re-submissions are allowed only when the student has a good reason.
Appeal
The TA can explain the grading details to the student. The appeal should be forwarded to the instructor.
Hints¶
Only fix problems for students if it can be done in very short time and minimal effort.
The student will lose all functionality points if their code does not compile using the
make
commands described in the instruction.For advanced course like DSA 1 and 2, only read source code files for neatness, and style rather than correctness. No need to take points off for style unless it hurts readability badly.