Jim Baker, whom I know through +Nicholas Skaggs and Alex Viggio, is an Adjunct Professor at the University of Colorado Boulder teaching a class in Programming Languages. The class seems pretty standard, reading assignments, homework, programming projects, papers, etc. However, the innovative thing is how all of that is structured around GitHub.
I've mentioned this over several posts, version control is a missing element in most computer science education. It's necessary to understand its benefits and to be used to the way it affects your coding style. It's dramatically shaped mine, I now try to code in segments so I can commit complete thoughts and I check my code before pushing to the remote server after breaking things for other users. Bad habits are started early and the earlier developers learn to use a version control system the less bad habits they'll acquire.
Students in Jim's class are required to acquire a GitHub account and register their username with the class. The class uses the students Github accounts to create repositories for them and push homework assignments into the student's repositories. It's an innovative way to release homework assignments as it allows the instructor to modify them as questions come in or issues are discovered. It was always annoying when a class website would get updated with a change to an assignment, but you'd only learn 4 days later during the next class session. This style changes the standard class communication structure of the students pinging the course, in this case the website, to the instructor pinging his/her students "pull down the changes to the assignment". It's a valuable lesson to learn, pull from your remote repository often. It's so valuable that +Philip Chase once created a cheat sheet of daily tasks for his developers that had "git pull" as item number 1. It seemed they were incapable of pulling or pushing to the remote repository and eventually their lack of proper process caused some major malfunctions.
Projects are submitted to a standard "import, test, and evaluate" CSE system. We had something very similar at UF to check for cheating. However, in addition to pushing to this system the student must also submit a pull request to the class. Pull requests offer allow for peer review, you can see a diff of your code repository vs the source repository and receive feedback from the upstream developer (in this case the instructor). This process is used in most open source projects and is beginning to gain traction in the corporate world with code review systems like Gerrit. Learning this process adds practical training with their otherwise theoretical class assignments. It's also provides an extra incentive to code well in the form of extra credit. Code that does the tasks better than the instructors or in a more innovative way have their pull requests accepted and recieve extra credit. If a student has tests in their code they can also receive extra credit.
The class has a paper and presentation requirement. The paper has to be written in MarkDown, a standard wiki code. Companies are increasing their use of dynamic documentation with corporate wiki's. It allows the documentation to change on the fly and maintain a revision history without attempting to share a document and intangle yourself with locking and unlocking. Markdown is also just a step away from Latex, which academics use in creating articles. The papers, after being submitted, are required to receive reviews from two classmates. Over the students professional careers they will be required to review and be reviewed when writing documentation. This unique approach to paper submission readies the students for either the academic world or the corporate world.