There have been case study courses here and there over the years.  I would argue that Lyons’s book of sources was the text for one.  An old crony, Ed Smith, used to teach a comparative programming languages course back in the day.  And I know someone at NYU taught a course where people studied the source code of a variety of utilities.



On Wed, Jul 3, 2024 at 11:27 AM Vincenzo Nicosia <katolaz@freaknet.org> wrote:
On Wed, Jul 03, 2024 at 02:51:01PM +1000, sjenkin@canb.auug.org.au wrote:
> I???ve never heard of a Computer Science or Software Engineering program
> that included a ???case study??? component, especially for Software Development & Projects.
>
> MBA programs feature an emphasis on real-world ???case studies???, to learn from successes & failures,
> to give students the possibility of not falling into the same traps.
>
> Creating Unix V6, because it profoundly changed computing & development,
> would seem an obvious Case Study for many aspects of Software, Coding and Projects.
>

I personally believe that the comparison of "mainstream" software
development principles and the birth and development of projects like
Unix, Linux, or any other major successful free software project is
fundamentally flawed.

The programmers considered as "fungible workforce" by mainstream
software engineering and project management theories are *paid* to to
their programming job, and they mostly have to carry that job over
working on prescribed objectives and timelines which have been decided
by somebody else, managers who know nothing at all about software
development. Personal interest in the project, passion, motivation,
curiosity, creative power, sense of beauty, the joy of belonging to a
community of likeminded people, are never part of the equation, at any
point.

Remove one of those latter ingredients from Unix, Linux, or any other
major successful free/open source software project, and that project
would have not existed, at all.

I think it would be terribly misleading to teach young CS students that
software projects should be managed "as Unix v6 came to life". They will
never, ever find anything even close to that environment in a
professional workplace. We should tell them that some of the most
beautiful software projects ever crafted by humans did not come out of
the "professionalism churches" that the overwhelming majority of
software companies are nowadays, based on  the blind application of
"mainstream" software development and project management principles,
according to which they (the CS majors) are just "as fungible and
replaceable as a chair, or a wallpaper". That would be only true and
fair to tell them.

I don't know if that would be of any avail to them, but at least we do
not mislead them in thinking that their paid programming time will
actually change the world in any meaningful way.....

My2cents

Enzo Nicosia

--