|
1 | 1 | .. index:: Collaboration |
2 | 2 | .. _collaboration: |
3 | 3 |
|
4 | | -========================================================= |
5 | 4 | Collaboration |
6 | | -========================================================= |
7 | | - |
8 | | -There are multiple ways in which you can interact with your students or collaborators, in this section we will present some features that you might find useful when managing a course. |
| 5 | +============= |
9 | 6 |
|
| 7 | +In principle, collaboration for the instructor project and all student projects is "the same" as for all other CoCalc projects. Here we will highlight some features and ways of using them that you might find useful specifically when managing a course. |
10 | 8 |
|
11 | 9 | .. contents:: |
12 | 10 | :local: |
13 | 11 | :depth: 2 |
| 12 | + |
| 13 | + |
| 14 | +Look at Students Work |
| 15 | +--------------------- |
| 16 | + |
| 17 | +As described in the handling of :ref:`assignments-and-handouts`, you can always open the files that each student is working on: before collecting them, during grading, or after. There can be several reasons for this: |
| 18 | + |
| 19 | +- you may wonder how students are doing on a newly developed assignment that may need some tweaking to become more clear or more challenging |
| 20 | +- you may wonder if particular students need some extra help |
| 21 | +- unfortunately, sometimes you may wonder if some students are cheating... |
| 22 | + |
| 23 | +Not only you can open each file at its current state, but you can also use :doc:`time-travel` to get a sense of its evolution and see what approaches have students tried to solve a problem or deal with code errors. If you see big chunks of text/code appearing in a single revision, they were likely copy-pasted from somewhere else. |
| 24 | + |
| 25 | + |
| 26 | +Edit Students Files |
| 27 | +------------------- |
| 28 | + |
| 29 | +You do have write access to students projects and can make edits in their files and notebooks, even while students are actively editing these files as well. :doc:`time-travel` will keep track of who has done which change. If you are editing or looking at sections that are close to each other, you will see each other moving cursors with name tags: |
| 30 | + |
| 31 | +.. figure:: img/teaching/instructor_cursor.png |
| 32 | + :width: 90% |
| 33 | + :align: center |
| 34 | + :alt: Instructor's Cursor in Student's View |
| 35 | + |
| 36 | + Instructor's Cursor in Student's View |
| 37 | + |
| 38 | + |
| 39 | +Side Chats and Mentions |
| 40 | +----------------------- |
| 41 | + |
| 42 | +Of course, it may be difficult to notice if you edit a file of a student, and it may be unexpected. Instead of editing the file directly or in addition to it, you can leave comments in a :ref:`side-chat` of any file and attract student's attention using :ref:`chat-at-mentions`. The student will get a notification, can reply to you, and then you will get a notification as well: |
| 43 | + |
| 44 | +.. figure:: img/teaching/mentioning_student.png |
| 45 | + :width: 90% |
| 46 | + :align: center |
| 47 | + :alt: Mentioning Student in a Side Chat |
| 48 | + |
| 49 | + Mentioning Student in a Side Chat |
| 50 | + |
| 51 | +.. figure:: img/teaching/student_got_mentioned.png |
| 52 | + :width: 90% |
| 53 | + :align: center |
| 54 | + :alt: Student Sees a Mention Notification |
| 55 | + |
| 56 | + Student Sees a Mention Notification |
| 57 | + |
| 58 | +.. figure:: img/teaching/student_replies.png |
| 59 | + :width: 90% |
| 60 | + :align: center |
| 61 | + :alt: Student Replies to the Instructor |
| 62 | + |
| 63 | + Student Replies to the Instructor |
| 64 | + |
| 65 | +This may be even more useful in the other direction - any student can ask an instructor or a TA for help! They may also ask our :doc:`ai` for help, if you have not :ref:`disabled this functionality <restrict-student-projects>`. |
14 | 66 |
|
15 | | -.. index:: Collaboration; chat rooms |
16 | | -.. _teaching-chatrooms: |
17 | | - |
18 | | -##################### |
19 | | -Real-time chatrooms |
20 | | -##################### |
21 | | - |
22 | | -You can create general real-time chatrooms for your CoCalc projects. |
23 | | -You can create a project chat room by clicking on the **New** button, this will create a file with `.sage-chat` extension. |
24 | | - |
25 | | -In addition, every file in CoCalc has a separate chat that can be found on the upper left corner of your screen. |
26 | | - |
27 | | -.. image:: img/teaching/chat_button.png |
28 | | - :width: 30% |
29 | | - :alt: button at upper right for side chat with any file |
30 | | - |
31 | | -Every time one of your students writes something into a chat on any one of their files, |
32 | | -you will get a notification displayed on the top bar. |
33 | | - |
34 | | -.. image:: img/teaching/instructor_notification.png |
35 | | - :width: 66% |
36 | | - :alt: notification count shown inside bell icon |
37 | | - |
38 | | -Clicking on the notification button (bell icon on the top of the screen) displays a notification menu with the latest chats and modifications in the project or specific files. |
39 | | - |
40 | | -.. image:: img/teaching/notification_highlighted.png |
41 | | - :width: 100% |
42 | | - :alt: click notification bell for list of latest notifications |
43 | | - |
44 | | -The chat notifications are always presented at the top of the menu, followed by any updates you or your collaborators have done to the project. Clicking on a chat notification will take you to **the student's copy** of the file inside **his/her project**. |
45 | | -From there, you can both reply to their questions and look at their work simultaneously. |
46 | | - |
47 | | -.. image:: img/teaching/student_question.png |
48 | | - :width: 66% |
49 | | - :alt: clicking on notification expands to show detail |
50 | | - |
51 | | -Once you have replied to the student's question (s)he will receive a notification. |
52 | | - |
53 | | - |
54 | | -.. index:: Collaboration; multi-user editing |
55 | | -.. _multi-user-edit: |
56 | | - |
57 | | -############################ |
58 | | -Live collaborative editing |
59 | | -############################ |
60 | | - |
61 | | -Multiple users can collaborate on a project. |
62 | | -As soon as a collaborator is added to a a project (see :doc:`teaching-create-course`) they share both the project and the associated files. |
63 | | - |
64 | | -Live collaborative editing is possible in CoCalc. |
65 | | -If one of your collaborators updates a notebook, the rest can see the changes as they are being made (similar to Google Docs). |
66 | | - |
67 | | -.. index:: @Mentions in chat |
68 | | -.. index:: Mentions in chat |
69 | | -.. index:: Chat; @mentions |
70 | | - |
71 | | -.. _at-mention-chat: |
72 | | - |
73 | | -################################ |
74 | | -@-Mention collaborators in chat |
75 | | -################################ |
76 | | - |
77 | | -Using ``@`` followed by a recipient's name in a chat message you send, you can cause an email notification to be sent. See :ref:`chat-at-mentions` for more information. |
78 | 67 |
|
79 | 68 | .. index:: Shared project; in course |
80 | 69 | .. index:: Collaboration; shared project |
81 | 70 |
|
82 | | -################################ |
83 | | -Shared Project |
84 | | -################################ |
| 71 | +Shared Project and Chat Rooms |
| 72 | +----------------------------- |
85 | 73 |
|
86 | | -You can create a common shared project for your course. Think of a shared project as your private course website for the students with automatic forum and code support. By default everybody (collaborators and students) will have **write** access to the project and its associated files. |
| 74 | +While regular student projects are isolated from each other, a shared project allows all students in a class to collaborate on a document or discuss some topics. For example, you can put an article into a shared project and all students can leave comments and ask/answer questions in a :ref:`side-chat`. Or you can create any number of standalone :ref:`chatroom`. To create or access your **Shared Project** use the corresponding tab in the course file. |
87 | 75 |
|
88 | | -To create a shared project you need to go to your **.course** file and click on the **Shared Project** button. |
| 76 | +Note that all students have equal access to the shared project. In particular, they are capable of deleting files or corrupting code in them, but if that happens it should be possible to restore the documents using :doc:`time-travel` and :ref:`snapshots`. Also, as a safeguard against accidents, you can change permission of some files to read-only in a :ref:`terminal`. For example, you can use ``chmod a-w filename`` to make a file read-only and ``chmod a+w filename`` to make it writable again. |
89 | 77 |
|
90 | | -.. image:: img/teaching/shared1.png |
91 | | - :width: 100% |
92 | | - :alt: creating a project that will be shared by all students |
93 | 78 |
|
94 | | -If you create a **.sage-chat** file here, all students will receive automatic notifications when questions are posted on the chat. |
95 | | - |
96 | | -If you want to make a file or an assignment **read-only** so that students cannot modify it, you need to modify the file permissions. Launch a terminal and type:: |
97 | | - |
98 | | - chmod a-w filename |
99 | | - |
100 | | -If you want to check the access permissions of all the files contained in a given directory, use the following:: |
101 | | - |
102 | | - ls -l |
103 | | - |
104 | | -In case you want to change a read only file into a read and write, type:: |
| 79 | +Group Projects |
| 80 | +-------------- |
105 | 81 |
|
106 | | - chmod a+w filename |
| 82 | +When individual and shared projects are too extreme, you can also create projects for smaller groups. |
107 | 83 |
|
108 | | -################################ |
109 | | -Group Projects |
110 | | -################################ |
| 84 | +At the moment we do not provide a completely hassle free way of creating projects for groups, but it is on our road map and a possible workaround meanwhile is to create another course file where only some of the students are "enrolled" - these are "group leaders" designated by you. Once their projects are created, you or these leaders may add other members of each group as collaborators. |
111 | 85 |
|
112 | | -If you want students to work together in groups, you can assign a "leader" for each group, have them create a project, and add other members and you as collaborators. (Of course, you can also create all such projects yourself, although it can take some time.) Everybody will be able to collaborate on this project and modify files simultaneously. |
| 86 | +.. hint:: |
113 | 87 |
|
114 | | -If you want to use automatic distribution and collection of assignments with group projects, you can create a course file with only group "leaders" added as students and then manually add other group memebers as collaborators. We do plan to add a more direct support for groups in the future. |
| 88 | + It is possible to edit student names in the course file. Such edits are local to that file, i.e. it does not affect student accounts. In the context of group projects you may change your leaders names to either group titles or names of all students in the group. |
0 commit comments