avandeursen
The network structure of scientific revolutions
Dutch universities and Elsevier reach open access deal
How randomly skipping tests made them better (curl)
Delft Students on Software Architecture: DESOSA 2017
The story of how WoSign gave me an SSL certificate for GitHub.com
FlowDroid: a static taint analysis tool for Android applications
Beyond Page Objects
The incorrect 1998 was derived automatically by HN from the ACM classification in the pdf it seems.
The Silently Shifting Semicolon [pdf]
Profiling DDL Statements: MySQL versus PostgreSQL
Semantic Versioning? In Maven Central? Breaking Changes!
Kicking the Bukkit: Anatomy of an open source meltdown
Demystifying Conway's Law
Why is it so hard to regulate Bitcoin?
Programmers’ Build Errors: A Case Study at Google
Code review culture meets FreeBSD
The 10 most collaborative projects on GitHub
Thanks for your feedback.
Perhaps we did not sufficiently emphasize it in the blog post, but we do tell the students about strong existing architectures, open source as well as from industry. The books listed in further reading in the post actually contain chapters about git and emacs, and I share your enthusiasm for Bentley's little language approach.
The philosophy of the course is based on trying to apply published approaches to software architecture (such as those in Rozanski & Woods' book, but it could be others) to real systems actually maintained and used. We encourage to get in touch with the creators of those systems.
The students actually take a deep dive into a foreign code base -- I included pictures because that is easy to share in a post, but the students analyze code, report about that, execute test cases, deploy systems, etc. The pictures are indeed, as suggested by some of the others, means for communication.
We advised the students to look critically at recent open (or just closed) issues and pull requests, as well as e.g., the mailing list for the project at hand. Based on that they could get a feeling what was happening at the moment, and what a typical contribution looks like.
If you want to contribute code, we found that it works best if you work on parts of the code that are currently under active development. This also means that you do not have to have a deep understanding of the full code base: A broad overview suffices.
Some of our students also offered documentation for, e.g., installation or deployment: they struggled themselves, and offered what they learned back to the project.