Pycs is an autograder designed to streamline the assignment submission and grading process for students and teachers in ICS3U and ICS4U courses. It allows users to register, sign in, join classes, view assignments, submit assignments, and receive grades along with feedback.
-
User Authentication: Students can register and sign in securely to access the autograder functionality.
-
Class Management: Users can join classes to view and submit assignments.
-
Assignment Submission: Students can submit assignments with filenames matching the requirements.
-
Grading System: Assignments are graded out of 4, with additional feedback on variable names, comments, header comments, and docstrings.
-
Pytest Integration: Users can view the output of pytest to assess the success of their submissions.
Students read a description of the assignment
Try to complete the assignment
Submit it to pycs, and look at their errors
Keep trying and trying until they manage to get a 4/4, passing all of the unit tests, and class conventions!
Visit https://pycs.philiph.dev/ to use Pycs. Currently, I'm the only teacher account on this hosted version (I don't pay enough to DigitalOcean to have this be the server for anyone else who would want to use it.)
-
Clone the repository:
git clone https://github.com/philip-h/pycs.git
-
Install dependencies:
cd pycs yarn pip install -r requirements.txt
-
Run the application in developper mode:
yarn run
-
Access the application at
http://localhost:5000
in your browser.
- Register or sign in to your Pycs account.
- Join a class using the provided class code (Currently, it's hardcoded as classone and classtwo for my use. Change this if you desire in pycs/controllers/user.py#def add_student_to_class).
- View assignments for the class and read instructions carefully.
- Submit assignments with filenames matching the specified requirements.
- Check grades and detailed feedback.
For any inquiries or feedback, please contact [philip.habib6347@gmail.com].