[ace-users] Many videos of ACE patterns and frameworks now available

Douglas C. Schmidt d.schmidt at vanderbilt.edu
Thu Jan 4 14:39:30 CST 2018

Hi Folks,

I've just uploaded all the videos filmed in 2013 as part of my original
Coursera MOOC on pattern-oriented software architectures for concurrent
and networked software to my YouTube playlist at


The course material is organized as follows:

* Section 0: Overview of all the topics covered in this course. This
  material is designed to help visualize the motivations for--and
  challenges of--of concurrent and networked software. I also summarize
  how patterns and frameworks help address key challenges of concurrent
  and networked software.

* Section 1: Introduction to concurrency and networking, which provides
  background info pertaining largely to the OS and middleware layers. I
  discuss key design dimensions of concurrent and networked software, as
  well as review common operating system programming mechanisms and
  Android programming mechanisms. This part focuses on concepts and is
  generally independent of programming language. 

* Section 2: Overview of patterns and frameworks, which focuses on
  pattern-oriented software architecture, with an emphasis on concurrent
  and networked software. I explore key pattern and framework concepts,
  relationships, and examples, as well as evaluate the pros and cons of
  patterns and frameworks. Small code examples are shown throughout
  using C++ and Java, though this section concentrates more on design
  rather than programming. 

* Section 3: Applying patterns and frameworks to develop concurrent and
  networked software, which examines lots of code. An open-source web
  server is used as a running example to illustrate patterns and
  frameworks pertaining to service access, communication, synchronous
  event handling, connection establishment, service initialization,
  service configuration and activation, concurrency and synchronization,
  and asynchronous event handling. These examples are in C++ using ACE. 

* Appendix: Presents a case study that applies many "Gang of Four"
  patterns that aren't directly related to concurrent and networked
  software. I evaluate the limitations with algorithm design and shows
  how pattern-oriented design alleviates these limitations. The examples
  are largely in C++, again with some Java examples to show how
  pattern-oriented design simplifies portability across programming

Please see


for more information about this MOOC, which is no longer available on
the Coursera platform.  Some of these topics (particularly the coverage
of Android) are explained in more more detail in my other YouTube
playlists that were recorded more recently than 2013.



More information about the ace-users mailing list