Version Control and Collaboration

Collaboration is so important in the field of computer science; as a programmer, you will rarely if ever find yourself alone on an island when working on a project. More often than not, you will have peers with whom you are collaborating or sharing when designing something, and all parties will need to share information… but what is the best way to collaborate? In this section, we discuss a number of different popular techniques for collaboration among programmers. In CS50 AP, the “driver/navigator” model will suffice for student collaboration, but we also touch on some more advanced techniques for those of you who wish to independently pursue their learning about these.