Cisco DNA – Cisco Programmability Fundamentals

Cisco Digital Network Architecture (DNA) Programmability is a three-day, instructor-led, introductory Cisco DNA course that will help you to become familiar with the SDN concepts, programmability, and integration that support Cisco and multi-vendor solutions to help usher customers into the new age of Software Defined Networks. Module content includes sections devoted to Programmable Infrastructure Overview, Cisco’s Digital Network Architecture, Cisco Programmable Infrastructure, REST APIs and Python learning, Spark API, and much more. See below for additional Cisco Programmability course information along with suggested prerequisites, course objectives, and a description as to who should be attending this course. 

Course Information

Price: $3,395.00
Duration: 3 days
Certification: None
Learning Credits:
Course Delivery Options

Check out our full list of training locations and learning formats. Please note that the location you choose may be an Established HD-ILT location with a virtual live instructor.

Train face-to-face with the live instructor.

Interact with a live, remote instructor from a specialized, HD-equipped classroom near you.
*An SLI sales rep will confirm location availability prior to registration confirmation.

Attend the live class from the comfort of your home or office.

All Sunset Learning dates are guaranteed to run!



The knowledge and skills that a learner must have before attending this course are as follows:

  • Basic understanding of Enterprise Networking


Target Audience:

The primary audience for this course is as follows:

  • Cisco Systems Engineers
  • Channel Partner Systems Engineers
  • Field Engineers
  • Systems Architects
  • IT Managers


Course Objectives:

Upon completing this course, the learner will be able to meet these overall objectives:

  • Describe what is SDN and Network Programmability
  • Understand the Use Cases and Problems Solved with SDN
  • Understand the Digital Transformation and Cisco Digital Network Architecture (DNA)
  • Explain an overview of OpenFlow and Network Controllers
  • Explain an overview of Human Interaction DevOps-Style
  • Understand next steps to get customers ready


Course Outline:

Module 1: Programmable Infrastructure Overview

  • Lesson 1: Digital Enterprise Definition
  • Lesson 2: The 4 Pillars of Digitization (IoT, Mobility, Big Data, and Cloud)
  • Lesson 3: Digital Disruption
  • Lesson 4: What is Network Programmability?
  • Lesson 5: What to Automate?
  • Lesson 6: Business Benefits of Programmability
  • Lesson 7: Simplification
  • Lesson 8: Quantifying Programmability
  • Lesson 9: Programmability Use Cases

Module 2: Cisco's Digital Network Architecture (DNA)

  • Lesson 1: The Digital Business
  • Lesson 2: Digital Network Architecture Overview
  • Lesson 3: Digital Network Architecture Components
  • Lesson 4: Benefits of DNA
  • Lesson 5: DNA Use Cases
  • Lesson 6: Case Study: NYU Security

Module 3: Cisco Programmable Infrastructure

  • Lesson 1: Programmability
  • Lesson 2: UCS
  • Lesson 3: Automation
  • Lesson 4: Enterprise Networking (APIC-EN, CMX, PI)
  • Lesson 5: Open Daylight (RESTCONF, NETCONF)
  • Lesson 6: DC Networking (ACI, NX-OS)
  • Lesson 7: Software Defined Storage
  • Lesson 8: Collaboration (Spark, Tropo, Acano)
  • Lesson 9: Management, Monitoring, and Analytics (UCS-D, DCNM)
  • Lesson 10: Case Study: AMBU Health Board – Health Care Automation

Module 4: REST APIs and Python

  • Lesson 1: How API enables Business Automation
  • Lesson 2: What is REST?
  • Lesson 3: How to make a REST API Call
  • Lesson 4: REST API Request and Response
  • Lesson 5: Python Basics
  • Lesson 6: Python and JSON
  • Lesson 7: Using Python with Rest APIs
  • Lesson 8: Coding and Parsing with Python
  • Lesson 9: Use Case – Creating a List of Users

Module 5: Spark API

  • Lesson 1: Spark Automation Business Benefits
  • Lesson 2: Introduction to Spark API
  • Lesson 3: Using Spark API with Python
  • Lesson 4: Using Spark API with Postman
  • Lesson 5: Use Case – Wi-Fi Public and Guest Access
  • Lesson 6: Use Case – Post Message in a Spark Room

Module 6: Cisco Mobility Experience (CMX) APIs

  • Lesson 1: CMX Programmability Benefits
  • Lesson 2: Introduction to CMX 10 Mobility Services
  • Lesson 3: CMX 10 Mobility Services REST API
  • Lesson 4: CMX Deep Dive using the Notifications Resource
  • Lesson 5: Programming CMX Notifications for Applications and 3rd Party Systems
  • Lesson 6: CMX/MSE REST API
  • Lesson 7: Use Case – Find the IP Address of the WLC
  • Lesson 8: Case Study: University of Melbourne – Wi-Fi Analytics

Module 7: APIC-EM and Rest APIs

  • Lesson 1: APIC-EM Automation Enterprise Benefits
  • Lesson 2: Controller Basics
  • Lesson 3: APIC-EM Overview
  • Lesson 4: APIC-EM Applications and Use Cases
  • Lesson 5: APIC-EM REST API Python
  • Lesson 6: Application Design for Python with APIC-EM
  • Lesson 7: Use Case – Find out the Device Name using the IP Address
  • Lesson 8: Case Study: Symantec – Network Automation


  • Lesson 1: Why Models are Important
  • Lesson 2: Standard Device Interfaces
  • Lesson 3: YANG Data Modeling
  • Lesson 4: NETCONF Protocol
  • Lesson 5: RESTCONF Protocol
  • Lesson 6: Programming with NETCONF and Python
  • Lesson 7: Use Case – Create a Python Script to retrieve Interface Stats with NETCONF/YANG and post to Spark

Module 9: Implementing DevOps

  • Lesson 1: The Transition to DevOps
  • Lesson 2: Spark for Human Interactions
  • Lesson 3: Tropo for Human Interactions
  • Lesson 4: NeXt UI Tool Kit
  • Lesson 5: Programming using Spark, Tropo, and NeXt
  • Lesson 6: Use Case – Post Message from a Tropo Script to Cisco Spark Spaces


Lab Outline

  • Lab 1: Python Introduction – Creating a List of Users
  • Lab 2: Spark REST ACI – Create a Room and Invite People – PostMan
  • Lab 3: Spark API – Wi-Fi Public and Guest Access – Python
  • Lab 4: CMX – Find the IP Address of the WLC
  • Lab 5: APIC-EM – Find out the Device Name using the IP Address
  • Lab 6: NETCONF – Create a Python Script to retrieve Interface Stats with NETCONF/YANG and Post to Spark
  • Lab 7: NeXt UI Tool Kit – Building a Network Topology
  • Lab 8: Spark and Tropo – Bring together Labs 2 and 5 to create Trouble Ticket Automation