cocalc
cocalc copied to clipboard
course: design and implement a facility for groups of students to do an assignment/project together
I have two ways that groups happen in my classes:
- Students pick them on their own. (This seems like the hard case.)
- I pick the groups. Could you for individual assignments define groups and then propagate a collaborated file to each group similar to the propagation to each student as it currently happens?
There is no notion of "collaborated file" in SMC (yet -- it's not clear if there ever will be). The unit of collaboration is a project.
Misunderstanding on my part on how assignments work. Could you push a collaborated project to a group of students? Maybe with the instructor as owner?
On Fri, Oct 30, 2015, 16:56 William Stein [email protected] wrote:
There is no notion of "collaborated file" in SMC (yet -- it's not clear if there ever will be). The unit of collaboration is a project.
— Reply to this email directly or view it on GitHub https://github.com/sagemathinc/smc/issues/196#issuecomment-152660098.
Requested again and againi...
I don't have any great ideas on this at the moment though clearly it's very important.
Shared/synced folders between projects maybe? 0.o
Thomas Clark's description of this: "Be able to create "groups" in the course, then push out a document that goes to each group. The groups can share edit that document, when it is collected you get one for each group. You can submit one grade and it goes to each member of the group."
Tom Clark: "I think what would be ideal is that when you go to make the assignment, where there is the “peer grading” button, there would also be a group project button and you could then create groups of students who would share one file. Similar to the shared project button, except not with everyone. Though I like the shared project feature because I could make a “wiki” there with our most commonly used programs, etc all in one handy spot."
My use case is setting up project templates for multiple groups. I start with the group membership, and one or two TAs for each group. For each group I need to:
- Create the project
- Add group members, TAs, and myself
- Give myself SSH access
- Configure the default kernel
- Maybe install extra Python packages
- Copy a standard set of files.
At the end of the project I need to:
- Snapshot the project files at a given date / time.
- Copy the project to a private project for marking
I don't know how this should best be done, but I would love to be able to provide a configuration file, in TOML or YaML, to make this work.
Give myself SSH access
Quick comment about this. You can add an ssh key under Account --> SSH Keys, and it will be automatically added for any project that you are a collaborator on.
Very useful comments are at https://github.com/sagemathinc/cocalc/issues/1535
Thinking about it, reading related tickets, and taking into account recent team project discussion with a university, I think that solution worked on in #4955 is exactly what has to be implemented - why was it closed?
For student pay I would add all licenses that students have (can they be prevented from seeing full codes of others?). That way not only every student has a way to apply a license to a group project, but they can even combine their upgrades to have more ram and cpu.
why was it closed?
Because it is a massive amount of work -- is it worth $10K+ in effort and the corresponding lack of effort on other things?
can they be prevented from seeing full codes of others?
Yes.
but they can even combine their upgrades to have more ram and cpu.
Licenses don't add, they max.
Then perhaps we should close this and maybe explain in the docs how students (or TAs) can create extra group projects and add student licenses to them to facilitate work in groups?
Apart from development effort it would complicate the user interface of course management and it is not that simple already.
I think we should leave it open. We can't do it now, due to lack of resources, but if we had more resources, it would likely make sense, given that people regularly ask for how to do group projects, and cocalc is about collaboration.
I think we actually should implement this soon.