Pylint is a static analysis tool for Python.


Coverity is a static analysis tool for C++.

It connects to GitHub via Travis CI.

And it’s free for open source repositories.


Gradescope is a grading tool to help you create and manage a set of rubrics.

It was created by Arjun Singh, a PhD student in robotcics at Berkeley. It’s used at Berkeley and at 75 other universities, so far.

For example, for an exam:

  1. You upload a blank exam in PDF into Gradescope (GS).

  2. In GS you markup the PDF with the location of where the student will put their name and where they’ll put the answers to the questions. You also indicate how many points each question is worth.

  3. You upload the student roster to GS.

  4. In GS you associate each exam with a student. GS tracks whether you’ve already associated an exam with a particular student.

  5. You scan the exams into PDFs and upload the PDFs into Gradescope (GS). A single PDF can contain several exams. GS will separate them.

  6. It’s now time to grade. You select a question and GS will visit the location of that question on each of the exams.

  7. When you grade a question you create a rubric, deciding how many points to lose for each error. If after grading several exams you decide to reduce or increase the number of points for a particular error, GS will go back and recalculate all already graded questions. You can also annotate the question with feedback.

  8. When you’re done you’ll have statistics on how students did on each of the questions and rubrics.

  9. If you want your students to be able to see their exams you publish the exams in GS, students then sign-up for GS, and they can see their grade, the rubrics, and the feedback.

I think the following benefits are significant:

  1. An electronic copy of all the exams.

  2. An electronic record of the rubrics and the feedback, which if you reuse questions you can refine from term to term.

  3. The ability for you and your graders to grade different parts of the exam simultaneously.

  4. Statistics on performance by question and by rubric, which again can lead to the removal or modification of a question in the future.

Finally, Gradescope has been vetted to be FERPA-compliant. And it’s best to use an encrypted flash drive to retrieve the scans from the scanner.

Google Analytics

Updated Dbyll.

It now supports Google Analytics.


Discovered that the same workflow used with Jekyll Now can be used with many Jekyll Themes.

I’m now using Dbyll.

Top Hat

Top Hat is a classroom and student response system.

I’m using it to take attendance and to give daily multiple-choice in-class quizzes.

The students can respond on their website or with a smartphone app or via an SMS text.

The quizzes are then auto-graded.

The results of the attendance and the quizzes are then available on their website.

It’s free for the instructor.

There is a nominal fee for the student.

Travis CI

Travis CI is a continuous integration tool.

You log in using your GitHub credentials and then connect it to one or more of your repos.

Then, every time you commit to a repo, Travis CI will spin up a VM (that you configure) and run your regression tests.

Configuring the VM makes it very clear what dependencies your software has.


Started a blog today using GitHub Pages.

It’s powered by Jekyll.

Got it up and running with Jekyll Now.

I have a local clone of the repo.

I edit posts locally using Markdown, I commit to the repo, and the posts appear automatically at GitHub.