All Projects → quickfeed → quickfeed

quickfeed / quickfeed

Licence: MIT License
QuickFeed server and web frontend for instant feedback on programming assignments

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects
go
31211 projects - #10 most used programming language
CSS
56736 projects
HTML
75241 projects
Makefile
30231 projects

Projects that are alternatives of or similar to quickfeed

curr
All curricular materials for Bootstrap course modules
Stars: ✭ 13 (-7.14%)
Mutual labels:  teachers
edusense
EduSense: Practical Classroom Sensing at Scale
Stars: ✭ 44 (+214.29%)
Mutual labels:  teachers
github-classroom-utils
Python tools for instructors working with GitHub Classroom
Stars: ✭ 66 (+371.43%)
Mutual labels:  teachers
otter-grader
A Python and R autograding solution
Stars: ✭ 92 (+557.14%)
Mutual labels:  autograder
ok-client
A Python client for the OK autograding system
Stars: ✭ 51 (+264.29%)
Mutual labels:  autograder
training-center.github.io
Site do Centro de Treinamento
Stars: ✭ 104 (+642.86%)
Mutual labels:  teachers
classmanager-student-teacher-portal
A Student-Teacher Portal built using HTML, CSS, Python and Django
Stars: ✭ 155 (+1007.14%)
Mutual labels:  teachers
autograder samples
Examples of autograders for running on Gradescope
Stars: ✭ 54 (+285.71%)
Mutual labels:  autograder
full-teaching
A web application to make teaching online easy. WARNING: the updated version of this repo is now in the link below
Stars: ✭ 34 (+142.86%)
Mutual labels:  teachers
judge
A blazingly fast online judge/ autograder ⚖️ built with Python and the Django framework to test cases against your solution. Check out the sponsor links and help fund DomeCode.
Stars: ✭ 30 (+114.29%)
Mutual labels:  autograder
jgrade
A library for grading Java assignments
Stars: ✭ 21 (+50%)
Mutual labels:  autograder
repobee
CLI tool for managing Git repositories on GitHub and GitLab in the context of education
Stars: ✭ 51 (+264.29%)
Mutual labels:  teachers
college-management-react
This is a College management web app in MERN stack.
Stars: ✭ 42 (+200%)
Mutual labels:  teachers
OMRChecker
An Android app to scan OMR Sheet http://letssolvetogether.in
Stars: ✭ 22 (+57.14%)
Mutual labels:  teachers
introduction-to-computer-science
Microsoft TEALS Program - Introduction to Computer Science
Stars: ✭ 93 (+564.29%)
Mutual labels:  teachers
TeacherFund next
A website to fund teachers discretionary spending because the government sucks at it
Stars: ✭ 85 (+507.14%)
Mutual labels:  teachers
born again neuralnet
Unofficial pytorch implementation of Born-Again Neural Networks.
Stars: ✭ 44 (+214.29%)
Mutual labels:  teachers
vly1
v1 Voluntarily application - deprecated
Stars: ✭ 14 (+0%)
Mutual labels:  teachers
ScPoEconometrics
Undergraduate textbook for Econometrics with R
Stars: ✭ 100 (+614.29%)
Mutual labels:  teachers
gradescope-utils
Python package for building Gradescope autograders
Stars: ✭ 19 (+35.71%)
Mutual labels:  autograder

QuickFeed: Instant Feedback on Programming Assignments

Go Test Go Report Card Coverall Status Codecov golangci-lint

Documentation

Contributing

The following instructions assume you have installed the GitHub CLI. See here for installation instructions for your platform.

On systems with homebrew:

% brew install gh
% gh help

Create Issue First

Before you implement some feature or bug fix, you should open an issue first. This issue should then be linked in the corresponding pull request.

Create Pull Request

Before starting a new pull request, either clone the repo:

% gh repo clone quickfeed/quickfeed
% cd quickfeed

Or if you have already cloned, make sure to start from an up-to-date master branch:

# Make sure to start from master branch
% git checkout master
# Make sure your master branch is up-to-date
% git pull

To create a pull request on the main repository follow these steps.

# Create and switch to your new feature branch
% git switch -C <feature-branch>
# Edit and stage files
% git add <files>
% git commit
# When done and ready to share
% gh pr create --title "Short description of the feature or fix"
# Alternatively: Use --draft if you want to share your code, but want to continue developing
% gh pr create --draft --title "Short description of the feature or fix"

To continue development on a pull request (same branch as before):

# Only necessary if you previously switched away from the feature-branch
% git switch <feature-branch>
# Edit and stage files
% git add <files>
% git commit
% git push

To fetch an existing pull request to your local machine.

% gh pr checkout <PR#>

For additional details on the gh pr and gh pr create commands:

% gh help pr
% gh help pr create

GitHub Issues and Pull Requests

When creating a pull request, it is always nice to connect it to a GitHub issue describing the feature or problem you are fixing. If there is an issue that is fixed by your pull request please remember to add one of the following lines at the end of the pull request description.

Closes <Issue#>.
Fixes <Issue#>.
Resolves <Issue#>.

For detailed instructions on configuring QuickFeed for development, please see our Developer Guide.

Style Guidelines

We chose to implement QuickFeed in Go and Typescript because these languages offer simplicity and type safety. We therefore require that certain style guidelines are followed when creating pull requests.

For Go, we expect code to follow these style guidelines and list of common mistakes:

For Typescript, we think these style guidelines look reasonable. Moreover, the formatOnSave and tslint.run options in VSCode should help maintain reasonable style.

Note that we currently violate the interface naming guideline by using the I prefix on some interfaces, and several of the other guidelines. We have started to rename these interfaces, and will eventually rename all such interfaces.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].