Search code, repositories, users, issues, pull requests...
Provide feedback.
We read every piece of feedback, and take your input very seriously.
Saved searches
Use saved searches to filter your results more quickly.
To see all available qualifiers, see our documentation .
- Notifications
Staff Graded Assignment XBlock for the edX platform
mitodl/edx-sga
Folders and files, repository files navigation, staff graded assignment xblock.
This package provides an XBlock for use with the open edX platform which provides a staff graded assignment. Students are invited to upload files which encapsulate their work on the assignment. Instructors are then able to download the files and enter grades for the assignment.
Note that this package is both an XBlock and a Django application.
Installation
Devstack installation (for local development).
Since this involves changing version-controlled files in edx-platform , it's a good idea to create a branch in that repo for all SGA development. All of the edits below refer to edx-platform files or configuration files in devstack. No files in the edx-sga repo need to be edited to install and use the SGA XBlock in devstack.
Configure file storage
For file storage, SGA uses the same file storage configuration as other applications in edX, such as the comments server. devstack defaults to local storage, and fullstack defaults to S3. Using local file storage is the easiest option for hacking on and debugging SGA locally.
To configure SGA to use local storage, edit lms/envs/private.py to include these settings (and create the file if it doesn't exist yet):
You can also configure S3 to be used as the file storage backend. Ask a fellow developer or devops for the correct settings to enable this. If you're using ansible to provision devstack, you may want to refer to this edX article on configuring data storage .
Add SGA to the Advanced Module List for your course in Studio
Open Advanced Settings for your course in Studio ("Settings" drop down in the top nav > "Advanced Settings"), and add "edx_sga" to the "Advanced Module List" value (i.e.: the value for "Advanced Module List" should be a JSON list, and that list should include "edx_sga" ).
If necessary, add SGA to installed Django apps
NOTE: This is only needed if edx_sga is not somehow included in INSTALLED_APPS already. In edx-platform, an app can make its way into INSTALLED_APPS in a few different ways, so the easiest thing to do is grep your edx-platform branch for 'edx_sga' and see if it appears in INSTALLED_APPS / OPTIONAL_APPS /etc. All releases of edx-platform since Dogwood already include edx_sga , so this step is likely unnecessary.
If SGA is not already an installed app, add this as a top-level setting in /edx/app/edxapp/lms.env.json and /edx/app/edxapp/cms.env.json :
Also in /edx/app/edxapp/cms.env.json , add this to the FEATURES object:
Add the package as a dependency (or install manually)
If you want devstack to install a local branch of edx-sga and use any local changes that you make, you'll need to do the following:
Find any requirements files that list an edx-sga dependency and comment out those lines (there are many requirements files in the edx-platform repo, and they're all .txt files, as is convention with pip). Note that the app as it's recognized by Django is edx_sga with an underscore, but the repo is edx-sga with a dash.
Sync/mount your edx-sga repo directory to the Docker container or Vagrant VM (depending on which method you use to run devstack on your machine).
In Vagrant, you can add this to the Vagrantfile within the Vagrant.configure block (after running vagrant up or vagrant reload , the directory will be mounted).:
Add the mounted edx-sga repo directory as a dependency in requirements/private.txt (creating the file if necessary):
You should now be able to work with SGA blocks when you run LMS or Studio, and any local changes you make to SGA should be seen if you restart the server.
If the steps above don't suit your purposes (or they simply don't work), you may also try installing SGA manually ( NOTE: These are old instructions ):
Production Installation
Create a branch of edx-platform to commit a few minor changes:
Add SGA to the platform requirements
In requirements/edx/github.txt , add:
Add appropriate edx_sga settings
- In both cms/envs/common.py and lms/envs/common.py , add 'edx_sga' to OPTIONAL_APPS
- In cms/envs/common.py , add 'edx_sga' to ADVANCED_COMPONENT_TYPES
In production, the edx-platform uses S3 as the default storage engine. If you want to use file storage see the devstack/full instructions above. To configure S3 storage properly in the platform, set the following values in your /edx/app/edxapp/lms.auth.json file or, preferably, in your additional yaml overrides in your edx/configuration setup.
Course Authoring in edX Studio
Change Advanced Settings
- Open a course you are authoring and select "Settings" ⇒ "Advanced Settings
- Navigate to the section titled "Advanced Module List"
- Add "edx_sga" to module list.
- Studio should save your changes automatically.
Create an SGA XBlock
- Return to the Course Outline
- Create a Section, Sub-section and Unit, if you haven't already
- In the "Add New Component" interface, you should now see an "Advanced" button
- Click "Advanced" and choose "Staff Graded Assignment"
Write a question with an SGA response
Since the Staff Graded Assignment doesn't support text within the problem, it is recommended to precede the SGA XBlock with a Text or HTML XBlock with instructions for the student. We recommend something using the following template:
Note that any file type can be uploaded. If you expect a particular file type from your students, you should specify it in the instructions. If you wish students to upload multiple files, you can recommend they zip the files before uploading.
display_name : The name appears in the horizontal navigation at the top of the page
Maximum Score : Maximum grade score given to assignment by staff
Problem Weight : Defines the number of points each problem is worth.
Show Answer : Specifies if and when the student will see the correct answer to the problem.
Solution : The solution that is shown to the student if Show Answer is enabled for the problem.
Grading Policy
SGA XBlocks inherit grading settings just like any other problem type. You can include them in homework, exams or any assignment type of your choosing.
Course Authoring in XML
XML for an SGA XBlock consists of one tag with the five attributes mentioned above. It is recommended to also include a url_name attribute. For example:
You can specify the following values for the show answer attribute.
- correct_or_past_due
Staff Grading
Navigate to the student view (LMS) of the course and find the vertical with your Staff Graded Assignment. (If you are in Studio, click "View Live").
If you are Course Staff or an Instructor for the course, you will see a "Grade Submissions" button in the lower right corner of the XBlock (Be sure you are in "Staff View" indicated by a red label in the upper right corner of the page; if it says "Student View" in green, click on it once.)
When you click "Grade Submissions" a grid of student submissions will display in a lightbox. Columns for username, (full) name, Filename and Uploaded (time) will be filled in.
Click the filename in any row to download the student's submission. If it can be displayed in your browser, it will.
Click the Enter grade link to bring up an interface to enter grades and comments.
The grades and comments will appear in the grid. Use the "Upload Annotated File" button to upload a file in response to the student's submission. The student will be able to view the file along with her grade.
Course staff can enter grades, but they are not final and students won't see them until they are submitted by an instructor. When a grade is waiting for instructor approval, it appears in the submissions grid with the text (Awaiting instructor approval) after it.
After a course staff member has submitted a grade, the instructor will see a link to Approve grade instead of Enter grade .
Clicking Approve grade will open the same grading dialog box where, in addition to approving the grade, she can change the grade and the comment.
Once the instructor has approved or entered a grade, course staff members cannot change it. However, the instructor can always change a grade.
After the grade has been approved, the student will be able to see it inline and also in her progress page. Annotated files, if any, will be available for download.
Assuming edx-sga is installed as above, integration tests can be run in devstack with this command:
To run tests on your host machine (with a mocked edX platform):
To get statement coverage (in devstack):
- JavaScript 85.6%
- Python 12.7%
Answers for Quizzes & Assignments that I have taken
Coursera and edx assignments.
This repository is aimed to help Coursera and edX learners who have difficulties in their learning process. The quiz and programming homework is belong to coursera and edx and solutions to me.
AWS Certified Solutions Architect - Professional
Devops on aws specialization, open source software development, linux and git specialization, edhec - investment management with python and machine learning specialization.
EDHEC - Portfolio Construction and Analysis with Python
EDHEC - Advanced Portfolio Construction and Analysis with Python
Google Data Analytics Professional Certificate
Google - Foundations: Data, Data, Everywhere
Google - Ask Questions to Make Data-Driven Decisions
Google - Prepare Data for Exploration
Google - Process Data from Dirty to Clean
Google - Analyze Data to Answer Questions
Google - Share Data Through the Art of Visualization
Google - Data Analysis with R Programming
Google - Google Data Analytics Capstone: Complete a Case Study
University of Michigan - PostgreSQL for Everybody Specialization
The university of melbourne & the chinese university of hong kong - basic modeling for discrete optimization, stanford university - machine learning, imperial college london - mathematics for machine learning specialization.
Imperial College London - Linear Algebra
Imperial College London - Multivariate Calculus
University of Colorado Boulder - Excel/VBA for Creative Problem Solving Specialization
- University of Colorado Boulder - Excel/VBA for Creative Problem Solving, Part 1
University of Washington - Machine Learning Specialization
University of Washington - A Case Study Approach
University of Washington - Regression
Rice University - Python Data Representations
Rice university - python data analysis, rice university - python data visualization, johns hopkins university - data science specialization.
Johns Hopkins University - R Programming
Johns Hopkins University - Getting and Cleaning Data
Johns Hopkins University - Exploratory Data Analysis
Johns Hopkins University - Reproducible Research
Saint Petersburg State University - Competitive Programmer’s Core Skills
Rice university - business statistics and analysis capstone, university of california, san diego - object oriented programming in java, university of california, san diego - data structures and performance, university of california, san diego - advanced data structures in java, ibm: applied data science specialization.
IBM: Open Source tools for Data Science
IBM: Data Science Methodology
IBM: Python for Data Science
IBM: Databases and SQL for Data Science
IBM: Data Analysis with Python
IBM: Data Visualization with Python
IBM: Machine Learning with Python
IBM: Applied Data Science Capstone Project
deeplearning.ai - TensorFlow in Practice Specialization
deeplearning.ai - Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning
deeplearning.ai - Convolutional Neural Networks in TensorFlow
deeplearning.ai - Natural Language Processing in TensorFlow
deeplearning.ai - Sequences, Time Series and Prediction
Alberta Machine Intelligence Institute - Machine Learning Algorithms: Supervised Learning Tip to Tail
University of helsinki: object-oriented programming with java, part i, the hong kong university of science and technology - python and statistics for financial analysis, google it automation with python professional certificate.
Google - Crash Course on Python
Google - Using Python to Interact with the Operating System
Delft University of Technology - Automated Software Testing
University of maryland, college park: cybersecurity specialization.
University of Maryland, College Park: Software Security
University of Maryland, College Park: Usable Security
University of Maryland, College Park: Programming Mobile Applications for Android Handheld Systems: Part 1
Harvard university - introduction to computer science cs50x, duke university - java programming: principles of software design, duke university - java programming: solving problems with software, duke university - java programming: arrays, lists, and structured data, duke university - data science math skills, massachusetts institute of technology - introduction to computer science and programming using python 6.00.1x, massachusetts institute of technology - introduction to computational thinking and data science 6.00.2x, johns hopkins university: ruby on rails web development specialization.
Johns Hopkins University - Ruby on Rails
Johns Hopkins University - Rails with Active Record and Action Pack
Johns Hopkins University - Ruby on Rails Web Services and Integration with MongoDB
Johns Hopkins University - HTML, CSS, and Javascript for Web Developers
Johns Hopkins University - Single Page Web Applications with AngularJS
University of Michigan - Web Design for Everybody: Web Development & Coding Specialization
University of Michigan - HTML5
University of Michigan - CSS3
University of Michigan - Interactivity with JavaScript
Stanford University - Introduction to Mathematical Thinking
University of london - responsive website development and design specialization.
University of London - Responsive Web Design
University of London - Web Application Development with JavaScript and MongoDB
University of London - Responsive Website Tutorial and Examples
University of California, San Diego - Biology Meets Programming: Bioinformatics
University of toronto - learn to program: the fundamentals, university of toronto - learn to program: crafting quality code, university of british columbia - how to code: simple data htc1x, university of british columbia - software construction: data abstraction, university of british columbia - software construction: object-oriented design.
Choosing when learners can see problem answers in Open edX
You may have noticed in the LMS that there's a little button labelled Show Answer in the bottom right of each problem.
What's the deal with that? Can we decide when that appears? The short answer is yes - let's take a look at how it's done.
- Always - Always display the button
- Answered - Display the button when the learner has correctly answered the problem
- Attempted - Display the button when the learner has attempted the problem (regardless of whether they got it right or wrong)
- Closed - Display the button if all attempts have been used or the due date has passed
- Finished - Display the button if they have answered correctly, all attempts have been used, or the due date has passed
- Correct or Past due - Display the button if they have answered correctly or the due date has passed
- Past due - Display the button only after the due date has passed
- Never - Never display the button
- Save your changes and publish them to see them in the LMS
It is important to note that whenever you view the LMS as a Staff member, you will typically be able to see the Show Answer button regardless of this setting. If you want to check your questions are configured correctly, make sure you view the course as a student by selecting Student from the ' View this course as: ' dropdown menu at the top of the LMS.
Setting the default
You may find while building your course, that you want to set the default state for this setting to something other than Finished , which is the normal default. To do this, enter Studio and select Settings > Advanced Settings from the menu at the top
Once on the advanced settings page, press Command/CTRL (Depending on operating system) and the F key and search the page for the words " Show Answer ", or simply scroll down the page until you see the Show Answer setting. The page is alphabetical, so it appears considerably towards the bottom of the page.
Simply change the word "finished" to another value as written beneath the field, for example to set the default to Always , this value should be "always" , in lower case, including the quotes. Once you're done, hit the Save Changes button that appears at the bottom of the page to finalize your changes.
From this point on, any problem you insert will by default have the Show Answer setting set to the state you have chosen. If you have any issues with this feature, as always, feel free to contact Support by using the link below.
Related Articles
- Adding a problem to your Open edX course
This AI Tool Cut One Teacher’s Grading Time in Half. How It Works
- Share article
It usually takes Aimee Knaus, who has been teaching computer science for more than two decades, upwards of two hours to grade a classful of coding projects.
This school year, she cut that time roughly in half, with the help of an AI teaching assistant developed by Code.org, a nonprofit organization that aims to expand access to computer science courses, and the Piech Lab at Stanford University in Palo Alto, Calif.
Knaus, who teaches middle school in Kimberly, Wis., was one of twenty teachers nationwide who tested the computer science grading tool’s capability on about a dozen coding projects also designed by Code.org, as part of a limited pilot project.
Beginning today, Code.org is inviting an additional 300 teachers to give the tool a try.
In early testing by Knaus and other teachers, the tool’s assessment of student work closely tracked those of experienced computer science teachers, said Karim Meghji, the chief product officer at Code.org. If that trend holds through this larger trial, the nonprofit hopes to make the tool widely available to computer science teachers around the country, he said.
Meghji would ideally like the tool to become widely available by the end of the calendar year, but the timeline will depend on the results of the broader testing.
‘I worry AI couldn’t push my students to the next level’
Many educators see helping teachers tackle time-consuming but relatively rote tasks— like grading —as a huge potential upside of AI. Curriculum company Houghton Mifflin Harcourt’s Writable tool, Essaygrader, Gradescope, and others have already been released . And some teachers have experimented with using ChatGPT, an AI-powered writing and research tool, to grade papers.
But others are wary of outsourcing grading—especially on assignments that call for making subjective decisions about students’ writing or ideas.
“After all these years, I’ve worked to perfect my feedback and my process,” said Carly Ghantous, a humanities instructor at Davidson Academy Online, a private virtual school. “I worry that the AI wouldn’t be able to push my students to the next level of writing” as well as an experienced teacher could.
By contrast, the criteria for grading the coding projects that the computer science tool examined are cut and dry, Meghji explained.
The AI tool must determine whether a student’s coding project contains certain requirements—for instance, whether there are at least two changeable elements. That’s something the technology figures out quickly and accurately.
Megjhi predicts that, down the road, AI tools could frequently be tapped to help grade student work. Given the technical nature of computer science, it makes sense that the subject would be among the first out of the gate, he added.
“I think we have a unique situation with computer science and coding,” he said. “I do think that assessment will become an AI-assisted task for teachers across multiple subjects. I can’t say what that’s gonna look like for English or for social studies or other subjects. But I can tell you that I do think based on what I’ve seen in computer science that there is there’s definitely an opportunity for broader application.”
‘I had the answer key, but I didn’t know what I was doing’
Grading computer science tasks can be particularly tricky —and time consuming, Meghji said, which is why Code.org was interested in exploring possible AI solutions.
Many teachers who lead computer science courses don’t have a degree in the subject—or even much training on how to teach it—and might be the only educator in their school leading a computer science course.
Kevin Barry, a former social studies teacher, was tapped to teach computer science at his southern Maryland high school by a principal who noticed Barry’s facility with technology. Barry, who is one of a hundred educators who gave Code.org information to inform the development of its tool, hasn’t yet tested the product for himself.
Still, he already wishes that something like it had existed when he first stepped into the computer science teaching role nearly ten years ago.
Back then, “it took me even longer to grade because I didn’t know what I was grading,” said Barry, who teaches at La Plata High School. “I was learning it as I was doing it with the students. I had the answer key, but I didn’t know what I was doing.”
These days, the tool could help him challenge his highest flyers—giving Barry extra time to help those who may be struggling.
In his classes, “I’ve had the captain of the robotics team [and a] kid who lives on a farm and barely knows what the power buttons are,” along with 28 other students whose abilities are somewhere in between those extremes, Barry said.
“I have more advanced students that want to go on” to trickier projects, Barry said. If the tool was able to examine their work, “they can be working three assignments down the road.”
‘We should still always be the ones in control’
Knaus agrees that the tool could be a huge time-saver for teachers. She’s interested in seeing it go beyond grading, offering real-time feedback or assistance to students as they work on coding assignments.
Knaus was surprised by how in sync the tool’s assessment of student work seemed to be with her own. But if she disagreed with the tool’s estimation of an assignment, she wouldn’t hesitate to ignore the AI tool’s recommendation.
“I don’t know that it necessarily is going to always be completely accurate,” Knaus said. “When we think about AI, I think it’s really important for humans to understand that we should still always be the ones in control.
“I don’t think we want to get to the point where we trust AI” over our own knowledge, she concluded.
Sign Up for EdWeek Tech Leader
Edweek top school jobs.
IMAGES
VIDEO
COMMENTS
The quiz and programming homework is belong to coursera and edx. All the answers given written by myself. All quiz answers stored in this repositories. Coursera website: https://www.coursera.org. List of Courses. The University of Melbourne & The Chinese University of Hong Kong - Basic Modeling for Discrete Optimization.
Coursera and edX Assignments. This repository is aimed to help Coursera and edX learners who have difficulties in their learning process. The quiz and programming homework is belong to coursera and edx and solutions to me. AWS Certified Solutions Architect - Professional. DevOps on AWS Specialization.
13. Completing Essay Assignments #. In some courses, you are asked to write essays in response to topics or to questions that do not have simple answers. These essay assignments are called open response assessments (ORA) because they have a flexible design, and can include various assessment options, including peer assessments and self ...
Maximum Score: Maximum grade score given to assignment by staff. Problem Weight: Defines the number of points each problem is worth. Show Answer: Specifies if and when the student will see the correct answer to the problem. Solution: The solution that is shown to the student if Show Answer is enabled for the problem. Grading Policy
You can view your scores on individual problems, as well as your current overall course grade, by selecting the Progress page and scrolling down to the outline below the Progress chart. Below the grading chart is a list of course sections in the order that they occur in the course. Each section will contain one of the following grading details:
It took me days to finish some of my homework assignment and some of the unit exercises because they are HARD. The exams for the courses are 2 days take home exams and open book so can use any ressource to tackle those exam questions (you will need this because they are hard too). The final capstone exams are closed book 2 hour tests.
To access data about the answers that learners submit for a graded problem component, you make these selections. Step 1: Select a graded course assignment type. Step 2: Select an assignment. Step 3: Select a problem. EdX Insights provides data for each selection that you make. 6.1.2.1. Step 1: Select an Assignment Type #
Edx's paywall will be similar to FutureLearn's course upgrading feature, in that free users will be able to access the course content for a certain time period. Graded assignments will be behind a paywall. Coursera was the first to introduce a paywall for graded assignments three years ago. To access the graded assignments, students need to ...
In most courses, you can expect to wait one week. your instructors. This is called the staff grade step. You may have to wait for a grade from course staff. If you view your assignment, a message will indicate Waiting if your submission is pending grading by staff or a peer. On a peer-graded assessment, if you're waiting a message will read ...
The assignment will be graded via peer review--the assessment of learners' work by other learners. To receive complete credit for this assignment, you must 1) submit your response to the prompt (approx. 500 words), and 2) complete peer reviews of two other learners' responses according to a rubric we will provide.
Click the score for the assignment that you want to modify. The Edit Grades dialog opens, displaying the assignment name, the learner's user name, and the current grade for the assignment. In the Adjusted grade field, enter the new grade for the learner on this assignment and select Save Grade. 18.3.9.1.2.
Stays somewhat focused on topic and task. 3. Good. Presents a unifying theme or main idea without going off on tangents. Stays completely focused on topic and task. 5. When you assess a response, you evaluate the response, and for each criterion, select the option that best describes how well the response met that criterion.
As others have said, you need to do it on your own. Otherwise you're violating the honor code. Honor Code Pledge By enrolling in an edX course or program, I agree that I will: -Complete all tests and assignments on my own, unless collaboration on an assignment is explicitly permitted. -Maintain only one user account, unless edX has approved ...
QUESTIONS FOR GRADING. What if I am having trouble with a question (for grading)? May I discuss this with others to get some help with solving the problem? There are many assignments to practice. You can use these to discuss with your fellow students in the discussion forum. Do not share any answers on the forum for the Questions for grading.
Configuring graded content. Find the subsection you want to configure as graded, and click the small configure icon which looks like a cogwheel. From the Grade as: drop down menu, select the type of graded content you want Open edX to treat this subsection as. Click Save.
The below outline is a quick map for where to do what when creating a course and a grading policy. Settings > Grading. First, you have to go to the Grading policy page in Studio for your course, determine a passing threshold, number of grade ranges, assignment types, weight for each assignment type, and more. Content > Outline
What types of assignments can be done in the edX app? You can use the edX app to do most of your assignments. edX courses can use a variety of problem types, and some courses might include problem types that cannot be completed in the app. To complete problems that require complex actions (such as a drag-and-drop assignment), you must use a web ...
Coursera and edX Assignments. This repository is aimed to help Coursera and edX learners who have difficulties in their learning process. The quiz and programming homework is belong to coursera and edx and solutions to me. AWS Certified Solutions Architect - Professional. DevOps on AWS Specialization. Open Source Software Development, Linux and ...
First find your problem in Studio and hit the Edit button. Next go to the Settings tab and scroll down to Show Answer. Finally, simply set this dropdown to the value that you wish to use, which are defined as follows: Always - Always display the button. Answered - Display the button when the learner has correctly answered the problem.
This is a violation of EdX policy though, at least in the courses I'm enrolled in. It diminishes the credential if the answers are available to all, and people can just get the answers from the internet and don't have to work hard on the assignments, since it takes a particular grade to pass. If you want free knowledge though, there are plenty ...
Click View my grades to review your grades from staff in more detail. Your final grade displays the number of points you earned over the number of potential points. Below Staff Grade are details about how you were scored on each of the criteria in the grading rubric. If a Staff Grade step exists in your assignment, you receive your final ...
Back then, "it took me even longer to grade because I didn't know what I was grading," said Barry, who teaches at La Plata High School. "I was learning it as I was doing it with the students.
10.41.1. Enable Staff Assignment #. Before you can add staff graded assignments to your course, you must enable staff graded assignments in Studio. To enable staff graded assignments in Studio, you add the "edx_sga" key to the Advanced Module List on the Advanced Settings page. (Be sure to include the quotation marks around the key value.)
The STAAR test results are a key part of the accountability system TEA uses to grade school districts and individual campuses on an A-F scale. Students take the test every year from third grade ...
Click the score for the assignment that you want to modify. The Edit Grades dialog opens, displaying the assignment name, the learner's user name, and the current grade for the assignment. In the Adjusted grade field, enter the new grade for the learner on this assignment and select Save Grade. 19.3.9.1.2.