You are here

NSF/IEEE-TCPP Curriculum Initiative on Parallel and Distributed Computing - Core Topics for Undergraduates

8. Emerging Topics

This section includes topics of significant current or emerging interest that can serve as suitable backdrops to explore several PDC ideas; these topics include for instance, IoT, Collaborative computing and machine learning. Typically, these emerging topics will be explored in varying levels of depth in specific advanced courses such as AI or Advanced networking. In this section we point to directions in which these ideas can be explored in the PDC context. For example, parallel search trees and distributed databases can be cast in an AI backdrop. While many of these ideas are likely better suited for advanced courses, they may be introduced in lower level courses in a limited way. Additionally, many of these application topics will be familiar to students in their everyday lives and can thus serve as motivation for deeper inquiry. The set of topics in this category will necessarily be continually evolving as topics mature, retire, and newer topics emerge. 

The current set of topics are organized into three broad groups: Emerging Distributed Systems, Distributed Applications, and Miscellaneous topics. Each of these groups has individual emerging areas listed. We have suggested learning outcomes for these group and individual topics. However recognizing the large variability in the manner in which these topics may be explored, we have used Bloom levels only for the groups.

Table 5: Emerging Topics

Emerging Topics

Core Bloom Level

Learning Outcome and Teaching Suggestions (core)

Advanced Bloom Level

Learning Outcome (advanced)

Where Covered

Emerging Distributed Systems


Know about different emerging distributed systems (for example some of those listed below).


Be able to identify new types of distributed systems (such as those listed below). Explain how they are similar to and differ from regular distributed systems; for example, one compare and contrast the Internet with an IoT system in a networking course.

Systems, DistSystems, Netw

Internet of Things


Understand, for instance, that IoTs are resource constrained end point devices that are being used in many places such as smart homes, appliances etc. They are connected to the Internet often via a special network (eg modbus, bluetooth, DNP3)

Netw, DistSystems

Edge Computing



Understand, for example, that in some distributed environment in-situ computing is necessary at the edge of the network where data is being generated or collected for reducing the communication cost and/or increasing response time.

DistSystems, Netw, Algo2

Cyber Physical Systems


Understand that the cyber part, for instance the SCADA systems of cyber physical systems (eg smart grid) forms a distributed system. These distributed systems are heterogeneous in nature and often consist of a combination of purpose built as well as general purpose nodes and communication networks.

DistSystems, Netw

Mobile, Adhoc and Software Defined Network


Understand that, for example, mobility and software defined networks admit a dynamic topology and a different relationship between communicating nodes. Explore the impact of these differences in the system.

DistSystems, ParProg, ParAlgo

Distributed Applications


Understand broader principles in the backdrop of specific applications; explore broader implications and considerations unique to certain applications

Social Networking


Understand that the rise of social networking provides new opportunities for enriching distributed computing with human & social context.

DistSystems, AI

Web Services


Understand that web services provide functionalities to distributed agents. Explore web services in the context of client-server and peer-to-peer models

DistSystems, Netw, SwEng

Collaborative Computing


Understand that collaboration between multiple users (eg. zoom or Google Docs) or devices (example, robot swarms) is a form of distributed computing with application-specific requirements such as, synchronization, data consistency or action coordination.

DistSystems, ParAlgo, Netw



Distributed computing is at the core of many blockchain related ideas. As an example, distributed consensus can be explored in the blockchain setting.

DistSystems, Security



Augment core PDC concepts in the context of emerging areas

Artificial Intelligence


Know that asynchrony, parallel search trees, and distributed databases form the basis for various branches of AI

ParProg, DB, AI, Machine Learning

Machine Learning


Know that accelerators, parallel matrix decompositions, parallel matrix multiplication, and vectorized operations are fundamental aspects that enable modern machine learning

Systems, ParProg, Machine Learning

Quantum Computing


Know that quantum computing algorithms can solve some problems (e.g., optimization problems) exponentially faster than classical algorithms via parallelism, and that quantum processors to implement some of those algorithms are under construction, using new parallel programming models


Security in Distributed Systems


Know that distributed systems are more vulnerable to privacy and security threats; distributed attacks modes; inherent tension between privacy and security.

DistSystems, Netw