Pattern-Oriented Software Architectures for Concurrent and Networked Software

Pattern-Oriented Software Architectures for Concurrent and Networked Software

Course
en
English
60 h
This content is rated 4.5 out of 5
Source
  • From www.coursera.org
Conditions
  • Self-paced
  • Free Access
  • Free certificate
More info
  • 10 Sequences
  • Introductive Level

Course details

Syllabus

The course is organized as follows:
  • Section 0: Overview of all the topics covered in the course. This material is designed to help you visualize the motivations for--and challenges of--of concurrent and networked software. We 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. We 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. We 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 .

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

Prerequisite

None

Instructors

  • - Electrical Engineering and Computer Science

Editor

Vanderbilt University, located in Nashville, Tenn., is a private research university and medical center offering a full-range of undergraduate, graduate and professional degrees.

Platform

Coursera is a digital company offering massive open online course founded by computer teachers Andrew Ng and Daphne Koller Stanford University, located in Mountain View, California. 

Coursera works with top universities and organizations to make some of their courses available online, and offers courses in many subjects, including: physics, engineering, humanities, medicine, biology, social sciences, mathematics, business, computer science, digital marketing, data science, and other subjects.

Complete this resource to write a review