Instruction For Teaching Assistant

Responsibility

  1. Assignment grading

    • Labs - in one week

    • Projects - in two weeks

  2. Student question answering

    • Discord

    • Email

    • Canvas message (rare)

Project Grading

Overview

Programming projects are given on the GitHub Classroom platform. 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 GitHub classroom will automatically grade the assignments according to the results of automatic test runs. The rest of the grades require some brief code reviews on the neatness and style.

Pre-requisites

  • Access to contents

    • Provide your GitHub username to be invited to the GitHub Classroom. You can use existing account or make a new one for teaching purpose.

    • You will be invited to Canvas shell as a TA.

    • You will be invited to the Discord server as a TA.

  • You will be mostly copying the grading results from the GitHub Classroom to the Canvas grade book. In rare cases, you may need to adjust the grades according to code reading.

  • A working development environment. Check the C/C++ Development Environment document for more details. Linux, Mac OS or Windows WSL should all work well.

  • Knowledge on C++, CLI environment, make, git and GitHub Classroom

Communication

  • Do not hesitate to ask questions to the instructor

  • Do not hesitate to forward student questions/requests to the instructor if you are not sure about the answer

  • The teaching-chat channel on Discord is the primary communication channel. It is preferred over email for better record keeping

Grading Workflow

  1. Collect the autograding results from the GitHub Classroom

    • You can see most of the grades in the summary list

    • If no grade is shown, click the repository link for details

    • For repositories that are marked as “late”, open the repository and check the latest grade as well as the commit time.

  2. Manual grading

    • Briefly check the code for neatness and style. Generally only needed for the first few assignments.

    • Check the code to see if students employed the required method rather than cheated by hardcoding the results or using system library.

  3. Update grades on Canvas

    • Use the SpeedGrader and Rubric to grade

    • Apply late penalty as needed (-10% < 1 day; -30% < 2 days)

    • Grades will remain hidden by default. Contact your instructor to review and release the grades.

Note

More instructions about GitHub classroom in GitHub Classroom.

Policies

  • Late assignment (Project only)

    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. If it is hard to handle, forward it to the instructor.

Hints

  • During grading, only fix problem for students if it can be done in very short time and minimal effort. This is just for courtesy. Your responsibility is only to check the correctness of the code by running them or the tests.

  • Only read source code files for neatness, and style rather than correctness. Leave the correctness to the tests.