Grading in SageMathCloud

(There is an update to this post, which you should read after this one.)

I’ve been assigning Sage assignments for several years in my (standard) undergraduate abstract algebra course. (They are all available now in Judson’s open source text.)  Mid-term last Spring I switched over to using the new “course” functionality in SageMathCloud (SMC).  William Stein and several of his colleagues and students have greatly improved SMC over the summer and courses work really well now.

Today I graded my class’ second assignment.  (The first was just procedural so we made sure their accounts were all in place and we knew the workflow.)  It was the least painless grading session I’ve ever had.  Very smooth and efficient.  “Low friction,” in today’s parlance.  So here is a guide on getting started and how it all works (and why I like it so much).

Registration

Have your students signup for a free account.  But most important – have them use their real name and have them use their principal university email address with a canonical domain name (e.g. @pugetsound.edu).  You’ll search for them later via the email address, and the names they enter themselves will show up in score reports, etc.

I have an entire SMC project I creatively call “Courses.”  I pay the $7 monthly fee to be on a members-only server without all the free accounts around competing for resources.  It has lots of top-level subdirectories organized by semesters.  Make a new SMC “course” file inside of a new top-level directory in your project’s file system.  Mine is named 2015-Fall/Math433.course.  Open your new course and add a title and description via the “Settings” tab (wrench icon, not gear).  Then find a search box for “adding” new students under the student tab and off to the right.  (Do not confuse this with the box for “finding” — this is local to your course and you do not have any students yet to find.)  It is easy for me to get a comma-delimited list of my students from our administrative systems (this is about the only easy thing to do there).  Manufacture such a list and dump it all at once into the add box.  Real names will come up for all the students who have followed your signup instructions and you can add them to your course (select several, or all).  You’ll then get a very easy-to-manage list of students under the students tab.

Your students will also each then get a new project automatically in their project list.  It has your course name and their real name in the title.  You are the owner of the project, and they are a junior partner, a “collaborator.”  This gives you a lot of power to help them remotely and to look at their work in-progress (for each student on your list there is a button that you can use to open their project).  Snapshots of student projects can sometimes be very helpful (as the student cannot change them since they are not the owner).

Assignments

I made another top-level directory for my current abstract algebra course to contain assignments and demos the student will see, with a name the students will recognize as their course (e.g. Math433F15).  Making this at the top-level will make a better experience for the students, see below.

For each new assignment, make a subdirectory for just that assignment (eg Chapter02).  You can put lots of things in this folder that will all go to all of the students.  But be sure to put in a mostly empty Sage worksheet.  For example I called mine 02-Math433-turnin.sagews.

In this worksheet I put a header (using HTML with an “h2” tag) with the course name, chapter, etc.  Then I put in some basic instructions, based on my experience doing these kinds of assignments with Sage Notebooks.  Here it is, modulo wrestling with WordPress:

Work the exercises for the chapter in this file. It will be collected automatically after the 6 AM deadline on the day it is due.

  • Work the problems in order.
  • Clearly label which part of your work is for which problem (or subproblem).

When a question asks for an explanation, provide a well-written response. That means complete sentences, correct grammar and spelling, and you address the question that was asked. In SageMathCloud you can format your writing nicely. Follow the directions below and while editing you will get some buttons above your worksheet to help with formatting, or you can just type in the formatting codes yourself with some help from the editor (which you can configure in your user settings). Notice that you can use \(\mathrm{\LaTeX}\) syntax to get nice typesetting of any mathemtics you want to use.

  • Use %html on the first line of cell all by itself to have a cell interpret HTML formatting.
  • Run the cell to see what it looks like. Double-click in the cell to go back to editing.
  • Similarly, %md will allow you to write in Markdown syntax.
  • For $\mathrm{\LaTeX}$, use single dollar signs, or use \( and \), which is preferable.
  • For displayed mathematics (centered on a line of its own) you can use double dollar-signs or \[ and \], which is preferable.

Now, back in your course file, hit the “Assignments” tab.  Use the search box in the top right to select the folder with your “-turnin” file and other materials.  Once you choose this folder, set the “Due Date.”  Then you will be able to use the “Assign to…” button to push a copy of the folder out to all your students.  (Using a top-level directory in your project means the students get a short path to their assignments in their projects.)

Students will see a copy of the folder in their project for the course.  It will have an additional small text file, DUE_DATE.txt, that contains the due date you set.  Instruct your students to do their Sage assignment in the “-turnin” worksheet and to NOT change the filename or move it.

Grading

You need to manually collect the assignment, but it is a one-click operation with the “Collect from…” button.  Do it.  Now you get a “Grade” button for each student in your list.  This will give you a file list that is a copy of the folder at the time you collected it, and a text file with the student’s name as the filename, so you don’t lose track of whose work you are looking at.  You can open the “-turnin” worksheet, or any other file.

I make comments on the student’s worksheet, and sometimes copy their code and show them an edited version that I might think is helpful.  I do comments in HTML, you could use Markdown.  I have a template in my clipboard buffer, so comments are clearly visible (red and big). It begins with the line %html and is followed on the next line by a div element with the attribute style="color:red; font-size:141%".  I paste and then fill the div with my comments.

Done with a student’s work, back in your course file, you can enter the grade, which is any string you please – a number, a letter grade, or a short comment.  Under the “Settings” tab of your course, you can get all your grades in CSV format (to import into a spreadsheet), or in a file of Python data structures.  Be sure to “Return” the graded version of the assignment to the students.  They will get a new folder with the graded versions.

Conclusion

This may be TL;DR but the one-time setup is pretty easy, making an assignment goes quickly and grading is very streamlined.  Everything is where you need it and you have good tools at your disposal at each step.  And your students just need to make an account and do their work.  Zero setup and no technical hurdles.  I’m sure the course functionality will change rapidly (for the better), so if you are finding this months later, look around for updates.

I strongly encourage students to sign up for memberships (at $7/month) because I tell them that overloaded free servers are not an excuse for not completing the assignment.  But I think it is also important for them to recognize that this service has value and should be supported (and their textbook is free!).  Remind them to go to their project’s settings (wrench icon), click on “Adjust Project Quotas” and then use the “Member hosting” checkbox.  When they stop paying, their project will go back to being on the free servers, so they never lose their work or the ability to interact with it.

I know William is working on other models for class accounts, so be in touch with him through the “help” email address if your university wants to support all the students in a course with one payment.

Recognize that this environment supports many different types of technical courses.  Besides Sage, there is R, Jupyter notebooks, full Ubuntu Linux terminals with a complete file system, and a wide variety of installed Python packages for science and engineering.  And don’t forget there is a robust LaTeX installation, with semi-live preview and reverse search for compilation errors, which is great for students new to writing mathematical documents.  Sage worksheets use CodeMirror for editing, with goodies like syntax highlighting and tag completion, so it is also a good environment for programming, and other similar work.

Collaboration

SMC is also great for working with your students.  I’ve got some experiments lined up and will report again soon.

11 thoughts on “Grading in SageMathCloud

  1. Thanks so much for taking the time to put this up. It’s very helpful. I had a couple of quick questions:

    (1) Do your students already have experience with LaTex?
    (2) how do you grade their coding assignments?

    • These students already know LaTeX, but I’m not having them submit their work in that form.

      Mostly they work in a Sage worksheet, writing short bits of Sage to answer the questions from Judson’s text. I make comments on their work and give them a score from 0 to 5 on each of the twelve or so assignments. It is a big part of their coure grade, 25%. I ask them to include their output, but if it doesn’t look right, I can re-run their code right there.

      • Thanks Rob! Really helpful. We met briefly last year at AIMS in Cape Town, and now I’m actually in the PNW- it’d be great to meet up sometime!

      • you help me solve these problems

        Problem 1:

        In the city of Monterrey a maximum temperature is estimated in the month of September with average deviation of 23 ° and 5 °. Using a normal distribution, calculating the number of days in the month that is expected highs between 21 ° and 27 °

        Problem 2:

        Suppose that the assessment results follow a normal distribution with a mean of 78 and a deviation of 36 What is the probability that a person present the exam to obtain a rating higher than 72?

        Problem 3:

        A market research company wants to determine the average number of alcoholic drinks buyers for a week. It was found that the distribution of amounts spent tended to follow a normal distribution with a standard deviation of 5. A sample of 64 buyers I reveal that X = 20 What is the estimated confidence interval with 95%?

        Problem 4:

        The provider sent Starbucks cups during Monday of August. To ensure the quality of a random sample of 300 cups was taken. It was found that 15 were defective. Build a confidence interval of 80% for the proportion of defective cups.

        Problem 5:

        There is a statistical sample of 20 with an arithmetic average of 5. The standard deviation is looking 6. find the statistical value of the normal curve frequencies.

    • Support me to solve these problems
      Problem 1:

      In the city of Monterrey a maximum temperature is estimated in the month of September with average deviation of 23 ° and 5 °. Using a normal distribution, calculating the number of days in the month that is expected highs between 21 ° and 27 °

      Problem 2:

      Suppose that the assessment results follow a normal distribution with a mean of 78 and a deviation of 36 What is the probability that a person present the exam to obtain a rating higher than 72?

      Problem 3:

      A market research company wants to determine the average number of alcoholic drinks buyers for a week. It was found that the distribution of amounts spent tended to follow a normal distribution with a standard deviation of 5. A sample of 64 buyers I reveal that X = 20 What is the estimated confidence interval with 95%?

      Problem 4:

      The provider sent Starbucks cups during Monday of August. To ensure the quality of a random sample of 300 cups was taken. It was found that 15 were defective. Build a confidence interval of 80% for the proportion of defective cups.

      Problem 5:

      There is a statistical sample of 20 with an arithmetic average of 5. The standard deviation is looking 6. find the statistical value of the normal curve frequencies.

  2. And that’s exactly what most game developers try to incorporate in their games,
    be it the best horror pc titles or free online horror games.

    You need to install adobe flash for playing these online games but you will happy to know that this software can be download without cost from the internet ,this adobe flash
    comes with popular operating systems and web browsers.
    When browsing online for these deer hunting games, it will likely be noticed that there are numerous websites that focus
    on this requirement.

  3. Support me to solve these problems
    Problem 1:

    In the city of Monterrey a maximum temperature is estimated in the month of September with average deviation of 23 ° and 5 °. Using a normal distribution, calculating the number of days in the month that is expected highs between 21 ° and 27 °

    Problem 2:

    Suppose that the assessment results follow a normal distribution with a mean of 78 and a deviation of 36 What is the probability that a person present the exam to obtain a rating higher than 72?

    Problem 3:

    A market research company wants to determine the average number of alcoholic drinks buyers for a week. It was found that the distribution of amounts spent tended to follow a normal distribution with a standard deviation of 5. A sample of 64 buyers I reveal that X = 20 What is the estimated confidence interval with 95%?

    Problem 4:

    The provider sent Starbucks cups during Monday of August. To ensure the quality of a random sample of 300 cups was taken. It was found that 15 were defective. Build a confidence interval of 80% for the proportion of defective cups.

    Problem 5:

    There is a statistical sample of 20 with an arithmetic average of 5. The standard deviation is looking 6. find the statistical value of the normal curve frequencies.

  4. Do you know if the privacy assurances of the system ate FERPA compliant? I’d like to use the system, but if student homework is being posted, then their identities and their materials must be protected.

  5. Pingback: Pennies a Day for SageMathCloud | Beezer in a Box

  6. I see interesting posts here. Your website can go
    viral easily, you need some initial traffic only. How to get it?
    Search for: ricusso’s methods massive traffic

Leave a Reply

Your email address will not be published. Required fields are marked *