These programming collaboration tools offer both students and instructors better ways of asynchronous or synchronous code collaboration, including one-click code review and remote pair programming.
Pair programming is a popular and beneficial pedagogical practice. Research shows that students who typically struggle in CS1 and CS2 perform better when participating in pair programming exercises. And it's not just student performance in the classroom—student career outcomes see improvements, too—CS-related majors see higher recruitment and retention levels when they use pair programming.
How Do You Code Collaborate?
Collaborating on code with your students has never been easier, thanks to a variety of code collaboration tools that have emerged in recent years. Whether you're looking for a synchronous or asynchronous collaboration tool, there's bound to be one that fits your needs.
For example, Codio's in-line commenting feature lets you leave comments on specific lines of code—perfect for asking a question or offering feedback. And since Codio integrates with GitHub, you can easily pull in your students' repositories and start collaborating right away.
Other code collaboration tools included with Codio are the ability to create and share code snippets, as well as a built-in chat feature that lets you communicate with your students in real time.
No matter what code collaboration tool you choose, remember that the most important part is fostering a collaborative coding environment in your classroom—one where students feel comfortable sharing their ideas and working together towards a common goal.
Boost Student Outcomes with Pair Programming
We have gone to great lengths to improve our ability for students to participate in pair programming in Codio. It should be noted that this functionality isn't only limited to pair programming; this could be a group work solution. The instructor can set this up one-on-one with students or for smaller groups of three or four; however, you want to set it up. But it is the underlying technology that makes this seamless for the instructor and in terms of the experience had by students.
Take a look at the video above. You have two different accounts here. You have one on the left and another on the right. In the IDE on the left, you'll see that they're currently adding to this calculator class.
Soon you'll see the cursor will move over to the right. And they will have access to this same document. You'll be able to see what it looks like to do pair programming in Codio.
Enable Live, Remote Code Collaboration Tools with Cursor Presence
They are going to open up this same project, and the first thing you're going to notice when they open up the same file is that you're going to see something that we call "cursor presence."
You'll see where the cursor is and who is looking at this document. They are also color-coded, so we'd see another color up there if you had a third person here. This format is similar to Google Docs for those familiar with that platform.
One of the best parts is that you can see the things happening in real time. So you'll know exactly who's doing what and where their cursors are. This helps ensure group members are not stepping on each other's toes.
Give Students Meaningful Feedback with In-Line Code Commenting
Another code collaboration tool included with Codio that's great for synchronous and asynchronous collaboration—particularly between students and instructors—is in-line code commenting. This is more about teachers or instructors collaborating with students. Instructors and even a TA will have the ability to open up a student project through the student's IDE.
They can also see what the student is currently doing. There's also the ability to leave a comment for the student that they can also see. The comments here work very similar to those in platforms like Google Docs—you can leave a comment, and the student can go ahead and click that checkmark (saying the issue has been addressed). But in Codio, we allow you to carry on a conversation.
In the video above, you can see that the student writes back and says, "I'm not sure what you're talking about. I've used self before all the attributes. Like, I'm not sure what's wrong."
Here in the collaborative coding platform, you can have those conversations. And they're not just one-off little comments.
If the student isn't clear, they don't have to leave Codio suddenly, get their email, send you a message, or use a class LMS if they don't know what's going on. Instead, they can contact you directly within Codio, making it seamless and easy to do.
It is also important to note that when you leave a comment on student work, the next time they log into Codio, there will be visual indicators that there's a new comment for that student to look at. They'll even have links that will take them to the exact page in the correct assignment to see these feedback comments from them. So the last thing you want is to leave a comment; the student doesn't know they have it, and they don't address it.
And then they turn it in, and they'll get the best grade they could get. So in-line code comments are a great way for instructors to communicate with students. And students can also communicate with instructors if they want to ask follow-up questions.
Communicate in Real-Time with Integrated Chat and Audio-Video Conferencing
Pair programming is great, but how can students communicate effectively in real-time? We solve this issue with our fully-integrated chat and audio/video conferencing function. This is really where the learning takes place. If you're doing the traditional pair programming, where you have a driver and a navigator, you need to be able to communicate.
That's the navigator's job as they are not writing code. Within Codio, you can open up a chat window or video call. This eliminates the need for trying to coordinate with questions like "Do we use Zoom, should we jump on Google Meet, should we start a Teams channel?" All communications can be done right inside Codio.
One of the things you can do is open up new files from scratch, and those will appear across users. It's the case that you're all sharing this one file. You're sharing a project. It could be a single file, it could be multiple files, you can add files, and you can delete files.
The point is that everything is shared, so all work seamlessly together. This is how we do pair programming or group or mob programming, as it's sometimes called in Codio.
Use Automated Email Notifications to Boost Student Course Completion & Performance
We also have email notifications, and you can set these up in advance to notify students in a couple of different ways. You could give students an email notification if an assignment is not started. For example, you can set this up for a week before the deadline.
Codio will go through and say, okay, it's a week before the due date; we see the following students have not yet started, let's send them a message. This can help with incomplete work, so students have started but haven't finished.
The nice thing is, you can have one message for students who haven't started an assignment and a different message for those who have but have yet to finish. You can even set up email notifications to send an email to students when you leave feedback.
This way, you don't have to wait until the next time they open Codio. You will immediately send them an email. We use a templating system, so you use some triple-angle brackets.
You can set up, Insert student name here, insert assignment here, or insert due date here. This way, your email messages are personalized, and you are giving them appropriate information.
Automated notifications allow you to be very clear about what's going on while saving substantial time by using templates. Email notifications are a great way to make sure that students are nudged in the right direction to get their work done on time.
See the full video below on how Codio empowers collaborative coding between you and your students, no matter how you teach.