Blog post proposal: Automated grading via Travis CI

(Lindsay Ward) #21

Thanks @mozzadrella and @Omarasifshaikh !!

I’m reading through it now.
What does “Create a private repository in the organization, and move homework files there” mean?
What are homework files, and how do I move them? Do you mean create a private repository containing “homework assignments, their solutions, and test cases” (from the previous sentence)? These are written as if they are different things.

The step “Connect the assignment repository to Travis CI” could use some more detail. Please consider that your audience may not have used Travis CI before.

“and creates a public repository with the name of the homework assignment” - is this talking about the same repo as the “homework files” one?

“and points the assignment to the template repository” - is this talking about a third repository or is it all the same one?

We have three different names, so I think it’s three different repos: “assignment files”, “homework assignment”, “template repository”… Could we make this clearer and be consistent with names if they are the same thing?

I’m sure with some editing, this will really be a super helpful post. I have yet to watch the video, but I hope the text of the blog post can stand alone.
Thanks again :slight_smile:

(Omar Shaikh) #22

The process can seem daunting when setting up the first time. But its really not that hard when you get started. The video has more details and will certainly help clear up doubts. In the blog post, There are a few different repositories:

  1. (per HW) The private repository for each individual HW. This repository is where you work with your TA to setup the solution and test cases and connect it with Travis to make sure everything works.
  2. (per HW) Strip some sections of the solution(the parts that the students have to work on) and replace them with //TODOs
    Push this as a public repository for GitHub classroom to be able to access and also helps as a public reference for that HW.
  3. (per student) There will be private repositories created for each student. These repositories will be clones from public repo above.

Aside from the three above, there is a repository hosted by me for the purpose of the blog post. It consists of all my C++ homeworks( without solutions).

All this may seem complicated, but its much much easier than setting up & hosting your own automation and then your own CI server.

(Lindsay Ward) #23

I don’t mind whatever the process is (complicated or not), my comments are about the clarity of the blog post. I think it’s wonderful that this is being explained, but it needs to be clearer so that it can be accessible to the masses (audience with wide variety of experience) without need for clarification.
I teach my students that variables in pseudocode need to be consistent.

get x
print value

refers to two different variables. I feel the blog post would be helped primarily by using consistent names for the repos. Pick a name for each one, then use that name to refer to it - the same way each time.
Then, as in coding and UX, get someone to follow the process to the letter and see what can be improved.

Again, I think this is a marvellous step forward and I’m really keen on it. Let’s make it great.

(Emerson Mello) #25

Dear @Omarasifshaikh,

First of all, thanks for sharing this!

I’m trying to use your setup (Github classroom (GHC) + Travis-CI) but probably I’m missing something.

I created a public repo on my GHC for homework assignments (to be the template) and I created an individual assignment (private repository). Each student will have a private repository.

So far so good, but should my students use or I think that should be, because students will work with private repository ( is only for public repository).

BTW, I had setup on my GHC organization and I received the follow e-mail:

Welcome to Travis CI! Your account XXXXXXX is now successfully set up for your trial.

You have 100 builds left to test things out.

Are you working with If yes, how to handle this 100 builds limit?

(Omar Shaikh) #26

Hi @emersonmello!
Im glad you found our guide useful.

The students have to use when working with private repositories. You just have to email them and they will flag your organization as educational. You will have unlimited builds (limited to one instance at a time).


(Emerson Mello) #27

Hi @Omarasifshaikh,

Thank you for quick reply!

Yes, I missed that point “send an e-mail to”. I’m going to do that.

Thank you!